Skip to content
Pitch2SaleDevelopers
Open the app
Early access: these pages are being written and reviewed. Facts in the header boxes come straight from the product.

Create an invoice from a project's time entries

POST
/api/v1/projects/{id}/convert-time-to-invoice
curl --request POST \
--url https://api.pitch2sale.com/api/v1/projects/example/convert-time-to-invoice \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "time_entry_ids": [ "example" ], "invoice_metadata": { "additionalProperty": "example" }, "force": true }'

Bills the given approved time_entry_ids on a new draft invoice. force skips the approval check and is reserved for admins and holders of the global timesheet permission.

id
required
string
Media typeapplication/json
object
time_entry_ids
required
Array<string>
>= 1 items
invoice_metadata
object
key
additional properties
force
boolean
Examplegenerated
{
"time_entry_ids": [
"example"
],
"invoice_metadata": {
"additionalProperty": "example"
},
"force": true
}

The new invoice and the entries billed

Validation failed

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}

Authentication required or token invalid

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}

Feature not available on the organization plan

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}

Role permission or token scope missing

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}

Rate limit exceeded

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}