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 estimate

POST
/api/v1/estimates
curl --request POST \
--url https://api.pitch2sale.com/api/v1/estimates \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "lead_id": "example", "opportunity_id": "example", "name": "example", "line_items": [ { "description": "example", "quantity": 1, "unit_price": 1, "tax_rate": 1, "discount": 1, "discount_type": "percent", "total": 1 } ], "valid_until": "2026-04-15T12:00:00Z", "notes": "example", "currency": "example", "discount_percent": 1, "tax_percent": 1, "template_id": "example" }'

Created as a draft.

Media typeapplication/json
object
lead_id
required
string
/^[0-9a-fA-F]{24}$/
opportunity_id
string
/^[0-9a-fA-F]{24}$/
name
required
string
>= 1 characters <= 500 characters
line_items
Array<object>
object
description
required
string
>= 1 characters <= 1000 characters
quantity
required
number
unit_price
required
number
tax_rate
number
<= 100
discount
number
discount_type
string
Allowed values: percent fixed
total
required
number
valid_until
Any of:
string format: date-time
notes
Any of:
string
<= 5000 characters
currency
string
>= 1 characters <= 3 characters
discount_percent
number
<= 100
tax_percent
number
<= 100
template_id
string
/^[0-9a-fA-F]{24}$/

The new estimate

Media typeapplication/json
object
estimate
required
object
_id
required
string
key
additional properties
any
Examplegenerated
{
"estimate": {
"_id": "example"
}
}

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