Axiomatic
Finance

Expenses (REST)

Expense reports and categories — read:expenses / write:expenses. Entity-scoped via withTenant.

Expense dashboard aggregates

GET
/api/expenses/dashboard

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

curl -X GET "https://app.axiomatic.software/api/expenses/dashboard?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{
  "error": "string"
}
{
  "error": "string"
}

List expense categories

GET
/api/expenses/categories

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

curl -X GET "https://app.axiomatic.software/api/expenses/categories?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{
  "error": "string"
}
{
  "error": "string"
}

Create expense category

POST
/api/expenses/categories

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://app.axiomatic.software/api/expenses/categories?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{    "name": "string"  }'
Empty
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string"
}

List expense reports

GET
/api/expenses/reports

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid
scope?string
status?string
page?integer
pageSize?integer

Response Body

application/json

application/json

curl -X GET "https://app.axiomatic.software/api/expenses/reports?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{
  "error": "string"
}
{
  "error": "string"
}

Create expense report

POST
/api/expenses/reports

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://app.axiomatic.software/api/expenses/reports?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{    "title": "string"  }'
Empty
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string"
}

Get report with lines

GET
/api/expenses/reports/{reportId}

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

reportId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

application/json

curl -X GET "https://app.axiomatic.software/api/expenses/reports/497f6eca-6276-4993-bfeb-53cbbbba6f08?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string"
}

Submit, approve, reject, reimburse, cancel, or edit draft fields

PATCH
/api/expenses/reports/{reportId}

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

reportId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X PATCH "https://app.axiomatic.software/api/expenses/reports/497f6eca-6276-4993-bfeb-53cbbbba6f08?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
Empty
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string"
}

Delete draft report

DELETE
/api/expenses/reports/{reportId}

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

reportId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

application/json

curl -X DELETE "https://app.axiomatic.software/api/expenses/reports/497f6eca-6276-4993-bfeb-53cbbbba6f08?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string"
}

Add line to draft report

POST
/api/expenses/reports/{reportId}/lines

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

reportId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://app.axiomatic.software/api/expenses/reports/497f6eca-6276-4993-bfeb-53cbbbba6f08/lines?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
Empty
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string"
}

Remove line from draft report

DELETE
/api/expenses/reports/{reportId}/lines

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

reportId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid
lineId*string
Formatuuid

Response Body

application/json

application/json

application/json

curl -X DELETE "https://app.axiomatic.software/api/expenses/reports/497f6eca-6276-4993-bfeb-53cbbbba6f08/lines?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08&lineId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string"
}