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 expense

POST
/api/v1/expenses
curl --request POST \
--url https://api.pitch2sale.com/api/v1/expenses \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "name": "example", "category": "example", "amount": 1, "currency": "USD", "expense_date": "2026-04-15T12:00:00Z", "lead_id": "example", "project_id": "example", "invoice_id": "example", "is_billable": false, "tax_percent": 1, "notes": "example", "receipt_url": "https://example.com" }'
Media typeapplication/json
object
name
required
string
>= 1 characters <= 500 characters
category
required
string
>= 1 characters <= 200 characters
amount
required
number
> 0
currency
string
default: USD >= 1 characters <= 3 characters
expense_date
required
string format: date-time
lead_id
string
/^[0-9a-fA-F]{24}$/
project_id
string
/^[0-9a-fA-F]{24}$/
invoice_id
string
/^[0-9a-fA-F]{24}$/
is_billable
boolean
tax_percent
number
<= 100
notes
Any of:
string
<= 5000 characters
receipt_url
Any of:
string format: uri

Created

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"
}
]
}

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"
}
]
}