API Documentation
Expenses ¶
Expenses ¶
For an overview of expenses please refer to the help article Expenses in productive are additional costs related to your budgets and deals. An expense always belongs to a service which in turn always belongs to a budget or deal. An expense can also belong to a Purchase Order (when it’s on a budget service), but that is not mandatory.
Following diagram shows expenses in our data hierarchy:
Expenses support attachments and custom fields.
Supported filter params
-
service_id (array)
-
quote_id (array)
-
person_id (array)
-
creator_id
-
vendor_id (array)
-
approver_id (array)
-
purchase_order_id
-
name
-
reimbursable
-
service_type_id (array)
-
company_id (array)
-
project_id (array)
-
invoice_id (array)
-
responsible_id (array)
-
date_after
-
date_before
-
pay_on_after
-
pay_on_before
-
paid_on_after
-
paid_on_before
-
status (1: paid, 2: unpaid)
-
invoiced
-
invoicing_status (1: not invoiced, 2: drafted, 3: finalized)
-
section_name
-
query
-
approval_status (1: approved, 2: not approved, 3: rejected, 4: auto approved)
-
reimbursement (1: not reimbursable, 2: needs reimbursing, 3: reimbursed)
-
export_status (1: exported, 2: not exported)
-
date (date)
-
pay_on (date)
-
paid_on (date)
-
reimbursed_on
-
created_at (date)
-
amount (money)
-
billable_amount (money)
-
recognized_revenue (money)
-
profit
-
jump_query
-
full_query
-
fuzzy_people
-
fuzzy_dates
Supported sort params
-
name
-
date
-
pay_on
-
paid_on
-
amount
-
billable_amount
-
profit
-
deal.company.name
-
deal.project.name
-
deal.name
-
service_type.name
-
invoicing_status
Filter operations are supported on this endpoint.
GET /api/v2/expenses
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": [
{
"id": "27",
"type": "expenses",
"attributes": {
"name": "test name",
"date": "2025-08-02",
"pay_on": null,
"paid_on": null,
"position": 1,
"invoiced": false,
"approved": false,
"approved_at": null,
"rejected": false,
"rejected_reason": null,
"rejected_at": null,
"deleted_at": null,
"reimbursable": false,
"reimbursed_on": null,
"exchange_rate": "1.25",
"exchange_rate_normalized": "1.0",
"exchange_date": "2025-08-02",
"created_at": "2025-08-02T02:07:19.900+02:00",
"quantity": "1.0",
"quantity_received": "0.0",
"custom_fields": null,
"draft": false,
"exported": false,
"exported_at": null,
"export_integration_type_id": null,
"export_id": null,
"export_url": null,
"company_reference_id": null,
"external_payment_id": null,
"currency": "EUR",
"currency_default": "USD",
"currency_normalized": "EUR",
"amount": 10000,
"amount_default": 12500,
"amount_normalized": 10000,
"total_amount": 10000,
"total_amount_default": 12500,
"total_amount_normalized": 10000,
"billable_amount": 0,
"billable_amount_default": 0,
"billable_amount_normalized": 0,
"profit": -10000,
"profit_default": -12500,
"profit_normalized": -10000,
"recognized_revenue": 0,
"recognized_revenue_default": 0,
"recognized_revenue_normalized": 0,
"amount_with_tax": 10000,
"amount_with_tax_default": 12500,
"amount_with_tax_normalized": 10000,
"total_amount_with_tax": 10000,
"total_amount_with_tax_default": 12500,
"total_amount_with_tax_normalized": 10000
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "517"
}
},
"deal": {
"meta": {
"included": false
}
},
"service_type": {
"meta": {
"included": false
}
},
"person": {
"meta": {
"included": false
}
},
"creator": {
"meta": {
"included": false
}
},
"approver": {
"meta": {
"included": false
}
},
"rejecter": {
"meta": {
"included": false
}
},
"vendor": {
"meta": {
"included": false
}
},
"service": {
"meta": {
"included": false
}
},
"purchase_order": {
"meta": {
"included": false
}
},
"tax_rate": {
"meta": {
"included": false
}
},
"attachment": {
"meta": {
"included": false
}
},
"custom_field_people": {
"meta": {
"included": false
}
},
"custom_field_attachments": {
"meta": {
"included": false
}
},
"approval_statuses": {
"meta": {
"included": false
}
}
}
},
{
"id": "28",
"type": "expenses",
"attributes": {
"name": "test name",
"date": "2025-08-02",
"pay_on": null,
"paid_on": null,
"position": 1,
"invoiced": false,
"approved": false,
"approved_at": null,
"rejected": false,
"rejected_reason": null,
"rejected_at": null,
"deleted_at": null,
"reimbursable": false,
"reimbursed_on": null,
"exchange_rate": "1.25",
"exchange_rate_normalized": "1.0",
"exchange_date": "2025-08-02",
"created_at": "2025-08-02T02:07:20.140+02:00",
"quantity": "1.0",
"quantity_received": "0.0",
"custom_fields": null,
"draft": false,
"exported": false,
"exported_at": null,
"export_integration_type_id": null,
"export_id": null,
"export_url": null,
"company_reference_id": null,
"external_payment_id": null,
"currency": "EUR",
"currency_default": "USD",
"currency_normalized": "EUR",
"amount": 10000,
"amount_default": 12500,
"amount_normalized": 10000,
"total_amount": 10000,
"total_amount_default": 12500,
"total_amount_normalized": 10000,
"billable_amount": 0,
"billable_amount_default": 0,
"billable_amount_normalized": 0,
"profit": -10000,
"profit_default": -12500,
"profit_normalized": -10000,
"recognized_revenue": 0,
"recognized_revenue_default": 0,
"recognized_revenue_normalized": 0,
"amount_with_tax": 10000,
"amount_with_tax_default": 12500,
"amount_with_tax_normalized": 10000,
"total_amount_with_tax": 10000,
"total_amount_with_tax_default": 12500,
"total_amount_with_tax_normalized": 10000
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "517"
}
},
"deal": {
"meta": {
"included": false
}
},
"service_type": {
"meta": {
"included": false
}
},
"person": {
"meta": {
"included": false
}
},
"creator": {
"meta": {
"included": false
}
},
"approver": {
"meta": {
"included": false
}
},
"rejecter": {
"meta": {
"included": false
}
},
"vendor": {
"meta": {
"included": false
}
},
"service": {
"meta": {
"included": false
}
},
"purchase_order": {
"meta": {
"included": false
}
},
"tax_rate": {
"meta": {
"included": false
}
},
"attachment": {
"meta": {
"included": false
}
},
"custom_field_people": {
"meta": {
"included": false
}
},
"custom_field_attachments": {
"meta": {
"included": false
}
},
"approval_statuses": {
"meta": {
"included": false
}
}
}
},
{
"id": "29",
"type": "expenses",
"attributes": {
"name": "test name",
"date": "2025-08-02",
"pay_on": null,
"paid_on": null,
"position": 1,
"invoiced": false,
"approved": false,
"approved_at": null,
"rejected": false,
"rejected_reason": null,
"rejected_at": null,
"deleted_at": null,
"reimbursable": false,
"reimbursed_on": null,
"exchange_rate": "1.25",
"exchange_rate_normalized": "1.0",
"exchange_date": "2025-08-02",
"created_at": "2025-08-02T02:07:20.215+02:00",
"quantity": "1.0",
"quantity_received": "0.0",
"custom_fields": null,
"draft": false,
"exported": false,
"exported_at": null,
"export_integration_type_id": null,
"export_id": null,
"export_url": null,
"company_reference_id": null,
"external_payment_id": null,
"currency": "EUR",
"currency_default": "USD",
"currency_normalized": "EUR",
"amount": 10000,
"amount_default": 12500,
"amount_normalized": 10000,
"total_amount": 10000,
"total_amount_default": 12500,
"total_amount_normalized": 10000,
"billable_amount": 0,
"billable_amount_default": 0,
"billable_amount_normalized": 0,
"profit": -10000,
"profit_default": -12500,
"profit_normalized": -10000,
"recognized_revenue": 0,
"recognized_revenue_default": 0,
"recognized_revenue_normalized": 0,
"amount_with_tax": 10000,
"amount_with_tax_default": 12500,
"amount_with_tax_normalized": 10000,
"total_amount_with_tax": 10000,
"total_amount_with_tax_default": 12500,
"total_amount_with_tax_normalized": 10000
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "517"
}
},
"deal": {
"meta": {
"included": false
}
},
"service_type": {
"meta": {
"included": false
}
},
"person": {
"meta": {
"included": false
}
},
"creator": {
"meta": {
"included": false
}
},
"approver": {
"meta": {
"included": false
}
},
"rejecter": {
"meta": {
"included": false
}
},
"vendor": {
"meta": {
"included": false
}
},
"service": {
"meta": {
"included": false
}
},
"purchase_order": {
"meta": {
"included": false
}
},
"tax_rate": {
"meta": {
"included": false
}
},
"attachment": {
"meta": {
"included": false
}
},
"custom_field_people": {
"meta": {
"included": false
}
},
"custom_field_attachments": {
"meta": {
"included": false
}
},
"approval_statuses": {
"meta": {
"included": false
}
}
}
}
],
"links": {
"first": "http://api-test.productive.io/api/v2/expenses?page%5Bnumber%5D=1&page%5Bsize%5D=30",
"last": "http://api-test.productive.io/api/v2/expenses?page%5Bnumber%5D=1&page%5Bsize%5D=30"
},
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 3,
"page_size": 30,
"max_page_size": 200
}
}
Get expensesGET/api/v2/expenses
GET /api/v2/expenses/30
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": {
"id": "30",
"type": "expenses",
"attributes": {
"name": "test name",
"date": "2025-08-02",
"pay_on": null,
"paid_on": null,
"position": 1,
"invoiced": false,
"approved": false,
"approved_at": null,
"rejected": false,
"rejected_reason": null,
"rejected_at": null,
"deleted_at": null,
"reimbursable": false,
"reimbursed_on": null,
"exchange_rate": "1.25",
"exchange_rate_normalized": "1.0",
"exchange_date": "2025-08-02",
"created_at": "2025-08-02T02:07:20.444+02:00",
"quantity": "1.0",
"quantity_received": "0.0",
"custom_fields": null,
"draft": false,
"exported": false,
"exported_at": null,
"export_integration_type_id": null,
"export_id": null,
"export_url": null,
"company_reference_id": null,
"external_payment_id": null,
"currency": "EUR",
"currency_default": "USD",
"currency_normalized": "EUR",
"amount": 10000,
"amount_default": 12500,
"amount_normalized": 10000,
"total_amount": 10000,
"total_amount_default": 12500,
"total_amount_normalized": 10000,
"billable_amount": 0,
"billable_amount_default": 0,
"billable_amount_normalized": 0,
"profit": -10000,
"profit_default": -12500,
"profit_normalized": -10000,
"recognized_revenue": 0,
"recognized_revenue_default": 0,
"recognized_revenue_normalized": 0,
"amount_with_tax": 10000,
"amount_with_tax_default": 12500,
"amount_with_tax_normalized": 10000,
"total_amount_with_tax": 10000,
"total_amount_with_tax_default": 12500,
"total_amount_with_tax_normalized": 10000
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "518"
}
},
"deal": {
"meta": {
"included": false
}
},
"service_type": {
"meta": {
"included": false
}
},
"person": {
"meta": {
"included": false
}
},
"creator": {
"meta": {
"included": false
}
},
"approver": {
"meta": {
"included": false
}
},
"rejecter": {
"meta": {
"included": false
}
},
"vendor": {
"meta": {
"included": false
}
},
"service": {
"meta": {
"included": false
}
},
"purchase_order": {
"meta": {
"included": false
}
},
"tax_rate": {
"meta": {
"included": false
}
},
"attachment": {
"meta": {
"included": false
}
},
"custom_field_people": {
"meta": {
"included": false
}
},
"custom_field_attachments": {
"meta": {
"included": false
}
},
"approval_statuses": {
"meta": {
"included": false
}
}
}
},
"meta": {}
}
POST /api/v2/expenses
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
"data": {
"type": "expenses",
"attributes": {
"name": "test name",
"amount": "10000.0",
"billable_amount": "10000.0",
"currency": "USD",
"date": "2025-08-02",
"position": 1
},
"relationships": {
"service": {
"data": {
"type": "services",
"id": "232"
}
},
"person": {
"data": {
"type": "people",
"id": "1776"
}
}
}
}
}
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": {
"id": "32",
"type": "expenses",
"attributes": {
"name": "test name",
"date": "2025-08-02",
"pay_on": null,
"paid_on": null,
"position": 1,
"invoiced": false,
"approved": false,
"approved_at": null,
"rejected": false,
"rejected_reason": null,
"rejected_at": null,
"deleted_at": null,
"reimbursable": false,
"reimbursed_on": null,
"exchange_rate": "1.0",
"exchange_rate_normalized": "0.8",
"exchange_date": "2025-08-02",
"created_at": "2025-08-02T02:07:21.030+02:00",
"quantity": "1.0",
"quantity_received": "0.0",
"custom_fields": null,
"draft": false,
"exported": false,
"exported_at": null,
"export_integration_type_id": null,
"export_id": null,
"export_url": null,
"company_reference_id": null,
"external_payment_id": null,
"currency": "USD",
"currency_default": "USD",
"currency_normalized": "EUR",
"amount": 10000,
"amount_default": 10000,
"amount_normalized": 8000,
"total_amount": 10000,
"total_amount_default": 10000,
"total_amount_normalized": 8000,
"billable_amount": 10000,
"billable_amount_default": 12500,
"billable_amount_normalized": 10000,
"profit": 2000,
"profit_default": 2500,
"profit_normalized": 2000,
"recognized_revenue": 0,
"recognized_revenue_default": 0,
"recognized_revenue_normalized": 0,
"amount_with_tax": 10000,
"amount_with_tax_default": 10000,
"amount_with_tax_normalized": 8000,
"total_amount_with_tax": 10000,
"total_amount_with_tax_default": 10000,
"total_amount_with_tax_normalized": 8000
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "519"
}
},
"deal": {
"meta": {
"included": false
}
},
"service_type": {
"meta": {
"included": false
}
},
"person": {
"meta": {
"included": false
}
},
"creator": {
"meta": {
"included": false
}
},
"approver": {
"meta": {
"included": false
}
},
"rejecter": {
"meta": {
"included": false
}
},
"vendor": {
"meta": {
"included": false
}
},
"service": {
"meta": {
"included": false
}
},
"purchase_order": {
"meta": {
"included": false
}
},
"tax_rate": {
"meta": {
"included": false
}
},
"attachment": {
"meta": {
"included": false
}
},
"custom_field_people": {
"meta": {
"included": false
}
},
"custom_field_attachments": {
"meta": {
"included": false
}
},
"approval_statuses": {
"meta": {
"included": false
}
}
}
},
"meta": {}
}
POST /api/v2/expenses
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
"data": {
"type": "expenses",
"attributes": {
"name": ""
}
}
}
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"errors": [
{
"status": "422",
"code": "invalid_attribute",
"title": "Invalid Attribute",
"detail": "can't be blank",
"source": {
"pointer": "data/attributes/name"
}
},
{
"status": "422",
"code": "invalid_attribute",
"title": "Invalid Attribute",
"detail": "can't be blank",
"source": {
"pointer": "data/attributes/currency"
}
},
{
"status": "422",
"code": "invalid_attribute",
"title": "Invalid Attribute",
"detail": "is not an valid currency",
"source": {
"pointer": "data/attributes/currency"
}
},
{
"status": "422",
"code": "invalid_attribute",
"title": "Invalid Attribute",
"detail": "can't be blank",
"source": {
"pointer": "data/attributes/date"
}
},
{
"status": "422",
"code": "invalid_attribute",
"title": "Invalid Attribute",
"detail": "can't be blank",
"source": {
"pointer": "data/attributes/service"
}
}
]
}
POST /api/v2/expenses
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
"data": {
"type": "expenses",
"attributes": {
"name": "test name",
"amount": "10000.0",
"billable_amount": "10000.0",
"currency": "USD",
"date": "2025-08-02",
"position": 1
},
"relationships": {
"service": {
"data": {
"type": "service",
"id": "273"
}
},
"person": {
"data": {
"type": "people",
"id": "1960"
}
}
}
}
}
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": {
"id": "64",
"type": "expenses",
"attributes": {
"name": "test name",
"date": "2025-08-02",
"pay_on": null,
"paid_on": null,
"position": 1,
"invoiced": false,
"approved": false,
"approved_at": null,
"rejected": false,
"rejected_reason": null,
"rejected_at": null,
"deleted_at": null,
"reimbursable": false,
"reimbursed_on": null,
"exchange_rate": "1.0",
"exchange_rate_normalized": "0.8",
"exchange_date": "2025-08-02",
"created_at": "2025-08-02T02:07:31.698+02:00",
"quantity": "1.0",
"quantity_received": "0.0",
"custom_fields": null,
"draft": false,
"exported": false,
"exported_at": null,
"export_integration_type_id": null,
"export_id": null,
"export_url": null,
"company_reference_id": null,
"external_payment_id": null,
"currency": "USD",
"currency_default": "USD",
"currency_normalized": "EUR",
"amount": 10000,
"amount_default": 10000,
"amount_normalized": 8000,
"total_amount": 10000,
"total_amount_default": 10000,
"total_amount_normalized": 8000,
"billable_amount": 10000,
"billable_amount_default": 12500,
"billable_amount_normalized": 10000,
"profit": 2000,
"profit_default": 2500,
"profit_normalized": 2000,
"recognized_revenue": 0,
"recognized_revenue_default": 0,
"recognized_revenue_normalized": 0,
"amount_with_tax": 10000,
"amount_with_tax_default": 10000,
"amount_with_tax_normalized": 8000,
"total_amount_with_tax": 10000,
"total_amount_with_tax_default": 10000,
"total_amount_with_tax_normalized": 8000
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "539"
}
},
"deal": {
"meta": {
"included": false
}
},
"service_type": {
"meta": {
"included": false
}
},
"person": {
"meta": {
"included": false
}
},
"creator": {
"meta": {
"included": false
}
},
"approver": {
"meta": {
"included": false
}
},
"rejecter": {
"meta": {
"included": false
}
},
"vendor": {
"meta": {
"included": false
}
},
"service": {
"meta": {
"included": false
}
},
"purchase_order": {
"meta": {
"included": false
}
},
"tax_rate": {
"meta": {
"included": false
}
},
"attachment": {
"meta": {
"included": false
}
},
"custom_field_people": {
"meta": {
"included": false
}
},
"custom_field_attachments": {
"meta": {
"included": false
}
},
"approval_statuses": {
"meta": {
"included": false
}
}
}
},
"meta": {}
}
POST /api/v2/expenses
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
"data": {
"type": "expenses",
"attributes": {
"name": "test name",
"amount": "10000.0",
"billable_amount": 5000,
"currency": "EUR",
"date": "2025-08-02",
"position": 1
},
"relationships": {
"service": {
"data": {
"type": "services",
"id": "275"
}
},
"person": {
"data": {
"type": "people",
"id": "1977"
}
}
}
}
}
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": {
"id": "66",
"type": "expenses",
"attributes": {
"name": "test name",
"date": "2025-08-02",
"pay_on": null,
"paid_on": null,
"position": 1,
"invoiced": false,
"approved": false,
"approved_at": null,
"rejected": false,
"rejected_reason": null,
"rejected_at": null,
"deleted_at": null,
"reimbursable": false,
"reimbursed_on": null,
"exchange_rate": "1.25",
"exchange_rate_normalized": "1.0",
"exchange_date": "2025-08-02",
"created_at": "2025-08-02T02:07:32.129+02:00",
"quantity": "1.0",
"quantity_received": "0.0",
"custom_fields": null,
"draft": false,
"exported": false,
"exported_at": null,
"export_integration_type_id": null,
"export_id": null,
"export_url": null,
"company_reference_id": null,
"external_payment_id": null,
"currency": "EUR",
"currency_default": "USD",
"currency_normalized": "EUR",
"amount": 10000,
"amount_default": 12500,
"amount_normalized": 10000,
"total_amount": 10000,
"total_amount_default": 12500,
"total_amount_normalized": 10000,
"billable_amount": 10000,
"billable_amount_default": 12500,
"billable_amount_normalized": 10000,
"amount_with_tax": 10000,
"amount_with_tax_default": 12500,
"amount_with_tax_normalized": 10000,
"total_amount_with_tax": 10000,
"total_amount_with_tax_default": 12500,
"total_amount_with_tax_normalized": 10000
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "540"
}
},
"deal": {
"meta": {
"included": false
}
},
"service_type": {
"meta": {
"included": false
}
},
"person": {
"meta": {
"included": false
}
},
"creator": {
"meta": {
"included": false
}
},
"approver": {
"meta": {
"included": false
}
},
"rejecter": {
"meta": {
"included": false
}
},
"vendor": {
"meta": {
"included": false
}
},
"service": {
"meta": {
"included": false
}
},
"purchase_order": {
"meta": {
"included": false
}
},
"tax_rate": {
"meta": {
"included": false
}
},
"attachment": {
"meta": {
"included": false
}
},
"custom_field_people": {
"meta": {
"included": false
}
},
"custom_field_attachments": {
"meta": {
"included": false
}
},
"approval_statuses": {
"meta": {
"included": false
}
}
}
},
"meta": {}
}
Create a expensePOST/api/v2/expenses
- name
string
(required) Example: Namename
- service_id
number
(required) Example: 1service id
- amount
number
(required) Example: 100amount
- currency
string
(required) Example: EURcurrency
- date
date
(required) Example: 2018-01-01date
POST /api/v2/expenses/copy
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
"data": {
"type": "expenses",
"attributes": {
"name": "copy of expense",
"template_id": "68",
"service_id": "278"
}
}
}
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": {
"id": "69",
"type": "expenses",
"attributes": {
"name": "copy of expense",
"date": "2025-08-02",
"pay_on": null,
"paid_on": null,
"position": 1,
"invoiced": false,
"approved": true,
"approved_at": "2025-08-02T02:07:32.707+02:00",
"rejected": false,
"rejected_reason": null,
"rejected_at": null,
"deleted_at": null,
"reimbursable": false,
"reimbursed_on": null,
"exchange_rate": "1.25",
"exchange_rate_normalized": "1.0",
"exchange_date": "2025-08-02",
"created_at": "2025-08-02T02:07:32.709+02:00",
"quantity": "1.0",
"quantity_received": "0.0",
"custom_fields": null,
"draft": false,
"exported": false,
"exported_at": null,
"export_integration_type_id": null,
"export_id": null,
"export_url": null,
"company_reference_id": null,
"external_payment_id": null,
"currency": "EUR",
"currency_default": "USD",
"currency_normalized": "EUR",
"amount": 10000,
"amount_default": 12500,
"amount_normalized": 10000,
"total_amount": 10000,
"total_amount_default": 12500,
"total_amount_normalized": 10000,
"billable_amount": 0,
"billable_amount_default": 0,
"billable_amount_normalized": 0,
"profit": -10000,
"profit_default": -12500,
"profit_normalized": -10000,
"recognized_revenue": 0,
"recognized_revenue_default": 0,
"recognized_revenue_normalized": 0,
"amount_with_tax": 10000,
"amount_with_tax_default": 12500,
"amount_with_tax_normalized": 10000,
"total_amount_with_tax": 10000,
"total_amount_with_tax_default": 12500,
"total_amount_with_tax_normalized": 10000
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "541"
}
},
"deal": {
"meta": {
"included": false
}
},
"service_type": {
"meta": {
"included": false
}
},
"person": {
"meta": {
"included": false
}
},
"creator": {
"meta": {
"included": false
}
},
"approver": {
"meta": {
"included": false
}
},
"rejecter": {
"meta": {
"included": false
}
},
"vendor": {
"meta": {
"included": false
}
},
"service": {
"meta": {
"included": false
}
},
"purchase_order": {
"meta": {
"included": false
}
},
"tax_rate": {
"meta": {
"included": false
}
},
"attachment": {
"meta": {
"included": false
}
},
"custom_field_people": {
"meta": {
"included": false
}
},
"custom_field_attachments": {
"meta": {
"included": false
}
},
"approval_statuses": {
"meta": {
"included": false
}
}
}
},
"meta": {}
}
PATCH /api/v2/expenses/72
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
"data": {
"type": "expenses",
"attributes": {
"name": "new name"
}
}
}
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": {
"id": "72",
"type": "expenses",
"attributes": {
"name": "new name",
"date": "2025-08-02",
"pay_on": null,
"paid_on": null,
"position": 1,
"invoiced": false,
"approved": false,
"approved_at": null,
"rejected": false,
"rejected_reason": null,
"rejected_at": null,
"deleted_at": null,
"reimbursable": false,
"reimbursed_on": null,
"exchange_rate": "1.25",
"exchange_rate_normalized": "1.0",
"exchange_date": "2025-08-02",
"created_at": "2025-08-02T02:07:33.379+02:00",
"quantity": "1.0",
"quantity_received": "0.0",
"custom_fields": null,
"draft": false,
"exported": false,
"exported_at": null,
"export_integration_type_id": null,
"export_id": null,
"export_url": null,
"company_reference_id": null,
"external_payment_id": null,
"currency": "EUR",
"currency_default": "USD",
"currency_normalized": "EUR",
"amount": 10000,
"amount_default": 12500,
"amount_normalized": 10000,
"total_amount": 10000,
"total_amount_default": 12500,
"total_amount_normalized": 10000,
"billable_amount": 0,
"billable_amount_default": 0,
"billable_amount_normalized": 0,
"profit": -10000,
"profit_default": -12500,
"profit_normalized": -10000,
"recognized_revenue": 0,
"recognized_revenue_default": 0,
"recognized_revenue_normalized": 0,
"amount_with_tax": 10000,
"amount_with_tax_default": 12500,
"amount_with_tax_normalized": 10000,
"total_amount_with_tax": 10000,
"total_amount_with_tax_default": 12500,
"total_amount_with_tax_normalized": 10000
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "543"
}
},
"deal": {
"meta": {
"included": false
}
},
"service_type": {
"meta": {
"included": false
}
},
"person": {
"meta": {
"included": false
}
},
"creator": {
"meta": {
"included": false
}
},
"approver": {
"meta": {
"included": false
}
},
"rejecter": {
"meta": {
"included": false
}
},
"vendor": {
"meta": {
"included": false
}
},
"service": {
"meta": {
"included": false
}
},
"purchase_order": {
"meta": {
"included": false
}
},
"tax_rate": {
"meta": {
"included": false
}
},
"attachment": {
"meta": {
"included": false
}
},
"custom_field_people": {
"meta": {
"included": false
}
},
"custom_field_attachments": {
"meta": {
"included": false
}
},
"approval_statuses": {
"meta": {
"included": false
}
}
}
},
"meta": {}
}
PATCH /api/v2/expenses/76
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
"data": {
"type": "expenses",
"attributes": {
"name": ""
}
}
}
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"errors": [
{
"status": "422",
"code": "invalid_attribute",
"title": "Invalid Attribute",
"detail": "can't be blank",
"source": {
"pointer": "data/attributes/name"
}
}
]
}
DELETE /api/v2/expenses/79
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
PATCH /api/v2/expenses/84/approve
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": {
"id": "84",
"type": "expenses",
"attributes": {
"name": "test name",
"date": "2025-08-02",
"pay_on": null,
"paid_on": null,
"position": 1,
"invoiced": false,
"approved": true,
"approved_at": "2025-08-02T02:07:39.649+02:00",
"rejected": false,
"rejected_reason": null,
"rejected_at": null,
"deleted_at": null,
"reimbursable": false,
"reimbursed_on": null,
"exchange_rate": "1.25",
"exchange_rate_normalized": "1.0",
"exchange_date": "2025-08-02",
"created_at": "2025-08-02T02:07:39.371+02:00",
"quantity": "1.0",
"quantity_received": "0.0",
"custom_fields": null,
"draft": false,
"exported": false,
"exported_at": null,
"export_integration_type_id": null,
"export_id": null,
"export_url": null,
"company_reference_id": null,
"external_payment_id": null,
"currency": "EUR",
"currency_default": "USD",
"currency_normalized": "EUR",
"amount": 10000,
"amount_default": 12500,
"amount_normalized": 10000,
"total_amount": 10000,
"total_amount_default": 12500,
"total_amount_normalized": 10000,
"billable_amount": 0,
"billable_amount_default": 0,
"billable_amount_normalized": 0,
"profit": -10000,
"profit_default": -12500,
"profit_normalized": -10000,
"recognized_revenue": 0,
"recognized_revenue_default": 0,
"recognized_revenue_normalized": 0,
"amount_with_tax": 10000,
"amount_with_tax_default": 12500,
"amount_with_tax_normalized": 10000,
"total_amount_with_tax": 10000,
"total_amount_with_tax_default": 12500,
"total_amount_with_tax_normalized": 10000
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "555"
}
},
"deal": {
"meta": {
"included": false
}
},
"service_type": {
"meta": {
"included": false
}
},
"person": {
"meta": {
"included": false
}
},
"creator": {
"meta": {
"included": false
}
},
"approver": {
"meta": {
"included": false
}
},
"rejecter": {
"meta": {
"included": false
}
},
"vendor": {
"meta": {
"included": false
}
},
"service": {
"meta": {
"included": false
}
},
"purchase_order": {
"meta": {
"included": false
}
},
"tax_rate": {
"meta": {
"included": false
}
},
"attachment": {
"meta": {
"included": false
}
},
"custom_field_people": {
"meta": {
"included": false
}
},
"custom_field_attachments": {
"meta": {
"included": false
}
},
"approval_statuses": {
"meta": {
"included": false
}
}
}
},
"meta": {}
}
Approves an expensePATCH/api/v2/expenses/{id}/approve
- id
number
(required) Example: 1expense id
PATCH /api/v2/expenses/88/unapprove
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": {
"id": "88",
"type": "expenses",
"attributes": {
"name": "test name",
"date": "2025-08-02",
"pay_on": null,
"paid_on": null,
"position": 1,
"invoiced": false,
"approved": false,
"approved_at": null,
"rejected": false,
"rejected_reason": null,
"rejected_at": null,
"deleted_at": null,
"reimbursable": false,
"reimbursed_on": null,
"exchange_rate": "1.25",
"exchange_rate_normalized": "1.0",
"exchange_date": "2025-08-02",
"created_at": "2025-08-02T02:07:41.001+02:00",
"quantity": "1.0",
"quantity_received": "0.0",
"custom_fields": null,
"draft": false,
"exported": false,
"exported_at": null,
"export_integration_type_id": null,
"export_id": null,
"export_url": null,
"company_reference_id": null,
"external_payment_id": null,
"currency": "EUR",
"currency_default": "USD",
"currency_normalized": "EUR",
"amount": 10000,
"amount_default": 12500,
"amount_normalized": 10000,
"total_amount": 10000,
"total_amount_default": 12500,
"total_amount_normalized": 10000,
"billable_amount": 0,
"billable_amount_default": 0,
"billable_amount_normalized": 0,
"profit": -10000,
"profit_default": -12500,
"profit_normalized": -10000,
"recognized_revenue": 0,
"recognized_revenue_default": 0,
"recognized_revenue_normalized": 0,
"amount_with_tax": 10000,
"amount_with_tax_default": 12500,
"amount_with_tax_normalized": 10000,
"total_amount_with_tax": 10000,
"total_amount_with_tax_default": 12500,
"total_amount_with_tax_normalized": 10000
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "558"
}
},
"deal": {
"meta": {
"included": false
}
},
"service_type": {
"meta": {
"included": false
}
},
"person": {
"meta": {
"included": false
}
},
"creator": {
"meta": {
"included": false
}
},
"approver": {
"meta": {
"included": false
}
},
"rejecter": {
"meta": {
"included": false
}
},
"vendor": {
"meta": {
"included": false
}
},
"service": {
"meta": {
"included": false
}
},
"purchase_order": {
"meta": {
"included": false
}
},
"tax_rate": {
"meta": {
"included": false
}
},
"attachment": {
"meta": {
"included": false
}
},
"custom_field_people": {
"meta": {
"included": false
}
},
"custom_field_attachments": {
"meta": {
"included": false
}
},
"approval_statuses": {
"meta": {
"included": false
}
}
}
},
"meta": {}
}
Unapproves an expensePATCH/api/v2/expenses/{id}/unapprove
- id
number
(required) Example: 1expense id
PATCH /api/v2/expenses/118/export
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"errors": [
{
"status": "409",
"code": "expense_sync_feature_unavailable",
"title": "Conflict error",
"source": {}
}
]
}
PATCH /api/v2/expenses/120/export
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
"data": {
"id": 120,
"type": "expenses",
"attributes": {
"company_reference_id": "1234"
}
}
}
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": {
"id": "120",
"type": "expenses",
"attributes": {
"name": "test name",
"date": "2025-08-02",
"pay_on": "2025-08-03",
"paid_on": null,
"position": 1,
"invoiced": false,
"approved": true,
"approved_at": "2025-08-02T02:07:51.782+02:00",
"rejected": false,
"rejected_reason": null,
"rejected_at": null,
"deleted_at": null,
"reimbursable": false,
"reimbursed_on": null,
"exchange_rate": "1.25",
"exchange_rate_normalized": "1.0",
"exchange_date": "2025-08-02",
"created_at": "2025-08-02T02:07:51.801+02:00",
"quantity": "1.0",
"quantity_received": "0.0",
"custom_fields": null,
"draft": false,
"exported": false,
"exported_at": null,
"export_integration_type_id": null,
"export_id": null,
"export_url": null,
"company_reference_id": null,
"external_payment_id": null,
"currency": "EUR",
"currency_default": "USD",
"currency_normalized": "EUR",
"amount": 10000,
"amount_default": 12500,
"amount_normalized": 10000,
"total_amount": 10000,
"total_amount_default": 12500,
"total_amount_normalized": 10000,
"billable_amount": 0,
"billable_amount_default": 0,
"billable_amount_normalized": 0,
"profit": -10000,
"profit_default": -12500,
"profit_normalized": -10000,
"recognized_revenue": 0,
"recognized_revenue_default": 0,
"recognized_revenue_normalized": 0,
"amount_with_tax": 12500,
"amount_with_tax_default": 15625,
"amount_with_tax_normalized": 12500,
"total_amount_with_tax": 12500,
"total_amount_with_tax_default": 15625,
"total_amount_with_tax_normalized": 12500
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "576"
}
},
"deal": {
"meta": {
"included": false
}
},
"service_type": {
"meta": {
"included": false
}
},
"person": {
"meta": {
"included": false
}
},
"creator": {
"meta": {
"included": false
}
},
"approver": {
"meta": {
"included": false
}
},
"rejecter": {
"meta": {
"included": false
}
},
"vendor": {
"meta": {
"included": false
}
},
"service": {
"meta": {
"included": false
}
},
"purchase_order": {
"meta": {
"included": false
}
},
"tax_rate": {
"meta": {
"included": false
}
},
"attachment": {
"meta": {
"included": false
}
},
"custom_field_people": {
"meta": {
"included": false
}
},
"custom_field_attachments": {
"meta": {
"included": false
}
},
"approval_statuses": {
"meta": {
"included": false
}
}
}
},
"meta": {}
}
PATCH /api/v2/expenses/122/export
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
"data": {
"id": 122,
"type": "expenses",
"attributes": {}
}
}
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": {
"id": "122",
"type": "expenses",
"attributes": {
"name": "test name",
"date": "2025-08-02",
"pay_on": "2025-08-03",
"paid_on": null,
"position": 1,
"invoiced": false,
"approved": true,
"approved_at": "2025-08-02T02:07:52.398+02:00",
"rejected": false,
"rejected_reason": null,
"rejected_at": null,
"deleted_at": null,
"reimbursable": false,
"reimbursed_on": null,
"exchange_rate": "1.25",
"exchange_rate_normalized": "1.0",
"exchange_date": "2025-08-02",
"created_at": "2025-08-02T02:07:52.416+02:00",
"quantity": "1.0",
"quantity_received": "0.0",
"custom_fields": null,
"draft": false,
"exported": false,
"exported_at": null,
"export_integration_type_id": null,
"export_id": null,
"export_url": null,
"company_reference_id": null,
"external_payment_id": null,
"currency": "EUR",
"currency_default": "USD",
"currency_normalized": "EUR",
"amount": 10000,
"amount_default": 12500,
"amount_normalized": 10000,
"total_amount": 10000,
"total_amount_default": 12500,
"total_amount_normalized": 10000,
"billable_amount": 0,
"billable_amount_default": 0,
"billable_amount_normalized": 0,
"profit": -10000,
"profit_default": -12500,
"profit_normalized": -10000,
"recognized_revenue": 0,
"recognized_revenue_default": 0,
"recognized_revenue_normalized": 0,
"amount_with_tax": 12500,
"amount_with_tax_default": 15625,
"amount_with_tax_normalized": 12500,
"total_amount_with_tax": 12500,
"total_amount_with_tax_default": 15625,
"total_amount_with_tax_normalized": 12500
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "577"
}
},
"deal": {
"meta": {
"included": false
}
},
"service_type": {
"meta": {
"included": false
}
},
"person": {
"meta": {
"included": false
}
},
"creator": {
"meta": {
"included": false
}
},
"approver": {
"meta": {
"included": false
}
},
"rejecter": {
"meta": {
"included": false
}
},
"vendor": {
"meta": {
"included": false
}
},
"service": {
"meta": {
"included": false
}
},
"purchase_order": {
"meta": {
"included": false
}
},
"tax_rate": {
"meta": {
"included": false
}
},
"attachment": {
"meta": {
"included": false
}
},
"custom_field_people": {
"meta": {
"included": false
}
},
"custom_field_attachments": {
"meta": {
"included": false
}
},
"approval_statuses": {
"meta": {
"included": false
}
}
}
},
"meta": {}
}
Exports an expensePATCH/api/v2/expenses/{id}/export
- id
number
(required) Example: 1expense id
- company_reference_id
string
(optional) Example: 123company reference id
PATCH /api/v2/expenses/124/export_update
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": {
"id": "124",
"type": "expenses",
"attributes": {
"name": "test name",
"date": "2025-08-02",
"pay_on": "2025-08-03",
"paid_on": null,
"position": 1,
"invoiced": false,
"approved": true,
"approved_at": "2025-08-02T02:07:52.982+02:00",
"rejected": false,
"rejected_reason": null,
"rejected_at": null,
"deleted_at": null,
"reimbursable": false,
"reimbursed_on": null,
"exchange_rate": "1.25",
"exchange_rate_normalized": "1.0",
"exchange_date": "2025-08-02",
"created_at": "2025-08-02T02:07:52.999+02:00",
"quantity": "1.0",
"quantity_received": "0.0",
"custom_fields": null,
"draft": false,
"exported": true,
"exported_at": "2025-08-02T02:07:52.000+02:00",
"export_integration_type_id": null,
"export_id": "1234",
"export_url": null,
"company_reference_id": null,
"external_payment_id": null,
"currency": "EUR",
"currency_default": "USD",
"currency_normalized": "EUR",
"amount": 10000,
"amount_default": 12500,
"amount_normalized": 10000,
"total_amount": 10000,
"total_amount_default": 12500,
"total_amount_normalized": 10000,
"billable_amount": 0,
"billable_amount_default": 0,
"billable_amount_normalized": 0,
"profit": -10000,
"profit_default": -12500,
"profit_normalized": -10000,
"recognized_revenue": 0,
"recognized_revenue_default": 0,
"recognized_revenue_normalized": 0,
"amount_with_tax": 12500,
"amount_with_tax_default": 15625,
"amount_with_tax_normalized": 12500,
"total_amount_with_tax": 12500,
"total_amount_with_tax_default": 15625,
"total_amount_with_tax_normalized": 12500
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "578"
}
},
"deal": {
"meta": {
"included": false
}
},
"service_type": {
"meta": {
"included": false
}
},
"person": {
"meta": {
"included": false
}
},
"creator": {
"meta": {
"included": false
}
},
"approver": {
"meta": {
"included": false
}
},
"rejecter": {
"meta": {
"included": false
}
},
"vendor": {
"meta": {
"included": false
}
},
"service": {
"meta": {
"included": false
}
},
"purchase_order": {
"meta": {
"included": false
}
},
"tax_rate": {
"meta": {
"included": false
}
},
"attachment": {
"meta": {
"included": false
}
},
"custom_field_people": {
"meta": {
"included": false
}
},
"custom_field_attachments": {
"meta": {
"included": false
}
},
"approval_statuses": {
"meta": {
"included": false
}
}
}
},
"meta": {}
}
Updates exported expensePATCH/api/v2/expenses/{id}/export_update
- id
number
(required) Example: 1expense id
- company_reference_id
string
(optional) Example: 123company reference id
Generated by aglio on 02 Aug 2025