Skip to content

Proposals

Returns a list of proposal templates of your organization.

GET https://api.arcsite.com/v1/proposal_templates

Terminal window
curl "https://api.arcsite.com/v1/proposal_templates" \
-H "Authorization: Bearer your_api_token_here"
Response
[
{
"id": "36029621652695041",
"name": "Proposal Template 1"
}
]
ParameterDefaultInDescription
page1queryRequest a specific page
per_page10queryPage size

Returns a list of proposals of your organization. You can filter by project and paginate; proposals are sorted by most recent activity first.

GET https://api.arcsite.com/v1/proposals

Terminal window
curl "https://api.arcsite.com/v1/proposals" \
-H "Authorization: Bearer your_api_token_here"
Response
[
{
"proposal_id": "123",
"project_id": "456",
"name": "Main Building Proposal",
"status": "APPROVED",
"sales_representative": "John Doe",
"contact_email": "john@example.com",
"customer_name": "Jane Smith",
"customer_email": "jane@example.com",
"document_number": "PROP-2024-001",
"total": 15000.0,
"pdf_url": "https://d1umxpetlubu85.cloudfront.net/36029346774973628/36029621653386370/36029621653386685/c6f62f3d-db06-42df-8138-91d80e792e5d/Drawing_1_Pre-Survey_Proposal_-281-29-page_03_test-page_02_test.pdf",
"approved_option": {
"id": "789",
"drawing_id": "abc123def456"
},
"initial_proposal_id": "111"
}
]
ParameterDefaultInDescription
project_id-query(optional) Project ID to filter proposals.
page1query(optional) Request a specific page.
per_page10query(optional) Page size.

Each item in the response array is a Proposal object with the following fields. Some fields are returned only for specific statuses.

ParameterTypeDescription
proposal_idStringProposal ID
project_idStringProject ID the proposal belongs to
nameStringProposal name
statusStringProposal status (DRAFT/PENDING/VOID/LOST/APPROVED).
sales_representativeStringName of the sales representative
contact_emailStringEmail of the sales representative
customer_nameStringCustomer name
customer_emailStringCustomer email
document_numberStringProposal document number
close_noteString(optional) Reason for closing the proposal. Present when status is VOID or LOST.
totalNumber(optional) Total amount of the proposal. Present when status is APPROVED.
pdf_urlString(optional) URL of the proposal PDF file. Present when status is APPROVED.
approved_optionApprovedOption(optional) Approved option information. Present when status is APPROVED.
initial_proposal_idString(optional) ID of the initial proposal. Only present for change order proposals.
ParameterTypeDescription
idString(optional) Only for online approvals.
drawing_idStringID of the associated drawing resource.

Export Proposal PDF by giving the proposal template id.

POST https://api.arcsite.com/v1/export_proposal_pdf

Terminal window
curl "https://api.arcsite.com/v1/export_proposal_pdf" \
-H "Authorization: Bearer your_api_token_here"
Response
{
"url": "https://d1umxpetlubu85.cloudfront.net/36029346774973628/36029621653386370/36029621653386685/c6f62f3d-db06-42df-8138-91d80e792e5d/Drawing_1_Pre-Survey_Proposal_-281-29-page_03_test-page_02_test.pdf"
}
ParameterTypeDescription
template_idString(required) Template id from Query proposal templates
drawing_idString(required) Drawing id

Returns a list of payments that have been received for the specified proposal.

GET https://api.arcsite.com/v1/proposals/<proposal_id>/payments

Terminal window
curl "https://api.arcsite.com/v1/proposals/<proposal_id>/payments" \
-H "Authorization: Bearer your_api_token_here"
Response
[
{
"paid_amount": 2500.0,
"pay_channel": "arcsite_payment",
"paid_time": "2025-11-06T10:15:30Z",
"payment_method": "Credit Card",
"status": "succeeded",
"refunded_amount": 500.0
},
{
"paid_amount": 1000.0,
"pay_channel": "mark_as_paid",
"paid_date": "2025-11-07",
"payment_method": "Check",
"status": "succeeded"
}
]

The response is an array of Payment objects with the following fields:

FieldTypeDescription
paid_amountNumberThe amount paid
pay_channelStringChannel through which payment was received. Values: arcsite_payment or mark_as_paid
paid_timeStringISO 8601 datetime when payment was received. Present when pay_channel is arcsite_payment
paid_dateStringDate when payment was recorded (YYYY-MM-DD format). Present when pay_channel is mark_as_paid
payment_methodStringMethod of payment (e.g., “Credit Card”, “Check”, “ACH”)
statusStringPayment status. Values: succeeded (payment successful) or returned (ACH Return occurred)
refunded_amountNumber(optional) Amount refunded. Only included for payments that have at least one refund record. Subtract this from paid_amount to get the net amount received