Reimbursement claims, under their own expenses:read scope — an expense integration should not have to be trusted with everyone’s salary. An approved claim becomes a payroll addition rather than a separate payment, which is what payroll_adjustment_id points at.
List expense categories
GET/v1/expense_categories
Query parameters
| Name | Type | Required | Description |
|---|
limit | integer | No | Page size. Values above 100 are clamped. |
starting_after | string | No | Opaque cursor from a previous response’s next_cursor. |
updated_since | timestamp | No | Return records changed at or after this instant. Tracks the record itself, not its child collections. |
is_active | boolean | No | Filter by whether the record is in use. |
Responses
| Status | Meaning |
|---|
200 | A page of expense categories. |
401 | The API key is missing, malformed, revoked or expired. |
403 | The key does not carry the required scopes. |
429 | Rate limit exceeded. See the RateLimit-* headers. |
Retrieve an expense category
GET/v1/expense_categories/{id}
Path parameters
| Name | Type | Required | Description |
|---|
id | string | Yes | The identifier returned as id on the object. |
Responses
| Status | Meaning |
|---|
200 | The expense category. |
401 | The API key is missing, malformed, revoked or expired. |
403 | The key does not carry the required scopes. |
404 | No such expense category in this workspace. |
429 | Rate limit exceeded. See the RateLimit-* headers. |
List expense claims
GET/v1/expense_claims
Query parameters
| Name | Type | Required | Description |
|---|
limit | integer | No | Page size. Values above 100 are clamped. |
starting_after | string | No | Opaque cursor from a previous response’s next_cursor. |
updated_since | timestamp | No | Return records changed at or after this instant. Tracks the record itself, not its child collections. |
employee_id | string | No | Only records for this employee. |
status | string | No | Only claims in this state. |
Responses
| Status | Meaning |
|---|
200 | A page of expense claims. |
401 | The API key is missing, malformed, revoked or expired. |
403 | The key does not carry the required scopes. |
429 | Rate limit exceeded. See the RateLimit-* headers. |
Retrieve an expense claim
GET/v1/expense_claims/{id}
Path parameters
| Name | Type | Required | Description |
|---|
id | string | Yes | The identifier returned as id on the object. |
Responses
| Status | Meaning |
|---|
200 | The expense claim. |
401 | The API key is missing, malformed, revoked or expired. |
403 | The key does not carry the required scopes. |
404 | No such expense claim in this workspace. |
429 | Rate limit exceeded. See the RateLimit-* headers. |
List expense claim items
GET/v1/expense_claim_items
Query parameters
| Name | Type | Required | Description |
|---|
limit | integer | No | Page size. Values above 100 are clamped. |
starting_after | string | No | Opaque cursor from a previous response’s next_cursor. |
updated_since | timestamp | No | Return records changed at or after this instant. Tracks the record itself, not its child collections. |
claim_id | string | No | Only items on this claim. |
category_id | string | No | Only items in this category. |
expense_date_from | date | No | Inclusive lower bound on the expense date. |
expense_date_to | date | No | Inclusive upper bound — the named day is included. |
Responses
| Status | Meaning |
|---|
200 | A page of expense claim items. |
401 | The API key is missing, malformed, revoked or expired. |
403 | The key does not carry the required scopes. |
429 | Rate limit exceeded. See the RateLimit-* headers. |
Retrieve an expense claim item
GET/v1/expense_claim_items/{id}
Path parameters
| Name | Type | Required | Description |
|---|
id | string | Yes | The identifier returned as id on the object. |
Responses
| Status | Meaning |
|---|
200 | The expense claim item. |
401 | The API key is missing, malformed, revoked or expired. |
403 | The key does not carry the required scopes. |
404 | No such expense claim item in this workspace. |
429 | Rate limit exceeded. See the RateLimit-* headers. |