# Officient API API

> Officient API API on Apizie: 98 endpoints (List people, Get access token, Current wage, Self-service invitation, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://apizie.tech/v1/finance:officient/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `finance:officient`
- Category: Finance
- Status: byok
- Source: https://officient.io
- Page: https://apizie.tech/api/finance/officient
- OpenAPI: https://apizie.tech/api/finance/officient/openapi.json

Officient offers an intuitive HRIS which helps manage all personnel administration through our HR platform & personalized employee self-services. Manage payroll, company assets, contracts, days off, fleet, performance…

## Endpoints

### List people
`GET https://apizie.tech/v1/finance:officient/person-list-people` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| page | integer | yes | Controls pagination (0, 1, 2, ..) to view all results. 30 items per page. |
| include_archived | integer | no | Include archived people in response |

### Get access token
`POST https://apizie.tech/v1/finance:officient/authentication-get-access-token` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Current wage
`GET https://apizie.tech/v1/finance:officient/person-get-current-wage` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | string | yes | The person you would like to receive wage information on |

### Self-service invitation
`POST https://apizie.tech/v1/finance:officient/invitation-generate-secret-url` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Wage history
`GET https://apizie.tech/v1/finance:officient/person-get-wage-history` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | string | yes | The person you need the wage history for |

### List assets
`GET https://apizie.tech/v1/finance:officient/asset-list-assets` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| page | integer | no | Controls pagination (0, 1, 2, ..) to view all results. 30 items per page. |
| person_id | integer | no | view only assets that belong to a specific person |

### Asset detail
`GET https://apizie.tech/v1/finance:officient/asset-get-detail` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_id | integer | yes |  |

### Vehicle detail
`GET https://apizie.tech/v1/finance:officient/vehicle-get-detail` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| vehicle_id | integer | yes |  |

### List vehicles
`GET https://apizie.tech/v1/finance:officient/vehicle-get-all-vehicles` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| page | integer | yes | Controls pagination (0, 1, 2, ..) to view all results. 30 items per page. |
| person_id | integer | no | view only vehicles that belong to a specific person |

### List contracts
`GET https://apizie.tech/v1/finance:officient/contract-get-all` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| page | integer | yes | Controls pagination (0, 1, 2, ..) to view all results. 30 items per page. |

### Contract detail
`GET https://apizie.tech/v1/finance:officient/contract-get-detail` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | integer | yes |  |

### Contract PDF
`GET https://apizie.tech/v1/finance:officient/contract-get-pdf-link` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | integer | yes |  |

### Monthly calendar
`GET https://apizie.tech/v1/finance:officient/person-get-monthly-calendar` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | integer | yes | The person you would like to receive calender information on |
| year | integer | yes |  |
| month | integer | yes |  |

### List teams
`GET https://apizie.tech/v1/finance:officient/team-get-all-teams` (byok)

### Add person
`POST https://apizie.tech/v1/finance:officient/person-add-new` (byok)

### Custom event types
`GET https://apizie.tech/v1/finance:officient/custom-event-type-get-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| year | integer | yes | the year you want custom event type to be returned for |

### Add event
`POST https://apizie.tech/v1/finance:officient/person-add-to-calendar` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | integer | yes |  |

### Delete event
`POST https://apizie.tech/v1/finance:officient/person-remove-event` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | integer | yes |  |
| event_id | integer | yes |  |

### Update time worked
`POST https://apizie.tech/v1/finance:officient/person-update-time-worked` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | integer | yes |  |
| year | integer | yes |  |
| month | integer | yes |  |
| day | integer | yes |  |

### Reset time worked
`POST https://apizie.tech/v1/finance:officient/person-reset-time-worked` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | integer | yes |  |
| year | integer | yes |  |
| month | integer | yes |  |
| day | integer | yes |  |

### Person detail
`GET https://apizie.tech/v1/finance:officient/person-get-detail` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | string | yes |  |

### Edit person
`POST https://apizie.tech/v1/finance:officient/person-edit-detail` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | integer | yes |  |

### List documents
`GET https://apizie.tech/v1/finance:officient/document-list-related` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| object_type | string | yes | pick one: employee, asset, car |
| object_id | integer | yes |  |
| page | integer | no | Controls pagination (0, 1, 2, ..) to view all results. 30 items per page. |

### Download document
`GET https://apizie.tech/v1/finance:officient/document-get-download-url` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| file_id | integer | yes |  |

### Upload document
`POST https://apizie.tech/v1/finance:officient/document-upload-document` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| object_type | string | yes | pick one: employee, asset, car |
| object_id | integer | yes |  |

### Add webhook
`POST https://apizie.tech/v1/finance:officient/webhook-subscribe-notification` (byok)

### Delete webhook
`POST https://apizie.tech/v1/finance:officient/webhook-unsubscribe-notification` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| webhook_id | integer | yes |  |

### List webhooks
`GET https://apizie.tech/v1/finance:officient/webhook-get-active-notifications` (byok)

### Your account
`GET https://apizie.tech/v1/finance:officient/account-get-information` (byok)

### Add contract
`POST https://apizie.tech/v1/finance:officient/contract-create-new-contract` (byok)

### Request contract signature
`POST https://apizie.tech/v1/finance:officient/contract-request-signature` (byok)

### Event type limits
`GET https://apizie.tech/v1/finance:officient/person-get-event-type-limits` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | integer | yes |  |
| year | integer | yes |  |

### Set event type limit
`POST https://apizie.tech/v1/finance:officient/person-update-event-type-limit` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | integer | yes |  |
| year | integer | yes |  |
| type_id | integer | yes |  |

### Search people
`GET https://apizie.tech/v1/finance:officient/person-search-by-criteria` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | no | eg John Doe |
| email | string | no | eg john@doe.net |
| national_number | string | no | eg 82146126684 |

### Update time worked in bulk
`POST https://apizie.tech/v1/finance:officient/person-update-bulk-time-worked` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | integer | yes |  |
| year | integer | yes |  |

### Person manager
`GET https://apizie.tech/v1/finance:officient/person-get-manager-details` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | integer | yes |  |

### Update manager
`POST https://apizie.tech/v1/finance:officient/person-update-manager` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | integer | yes |  |

### Overwrite event
`POST https://apizie.tech/v1/finance:officient/person-overwrite-event` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | string | yes |  |
| year | string | yes |  |
| month | string | yes |  |
| day | string | yes |  |

### Daily calendar
`GET https://apizie.tech/v1/finance:officient/person-get-daily-calendar` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | integer | yes | The person you would like to receive calender information on |
| year | integer | yes |  |
| month | integer | yes |  |
| day | integer | yes |  |

### Update role
`POST https://apizie.tech/v1/finance:officient/person-set-function-description` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | integer | yes |  |

### Edit team
`POST https://apizie.tech/v1/finance:officient/team-edit-information` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| team_id | integer | yes | The ID of the team you'd like to update |

### Add team
`POST https://apizie.tech/v1/finance:officient/team-create-new-team` (byok)

### List custom asset types
`GET https://apizie.tech/v1/finance:officient/asset-get-custom-types-list` (byok)

### Add custom asset type
`POST https://apizie.tech/v1/finance:officient/asset-add-custom-type` (byok)

### Delete custom asset type
`POST https://apizie.tech/v1/finance:officient/asset-remove-custom-type` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_type_id | integer | yes |  |

### Add asset
`POST https://apizie.tech/v1/finance:officient/asset-create-new-asset` (byok)

### Edit asset
`POST https://apizie.tech/v1/finance:officient/asset-update-asset` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_id | integer | yes |  |

### Delete asset
`POST https://apizie.tech/v1/finance:officient/asset-remove` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_id | integer | yes | The id of the asset that will be deleted |

### Add vehicle
`POST https://apizie.tech/v1/finance:officient/vehicle-create-new` (byok)

### Edit vehicle
`POST https://apizie.tech/v1/finance:officient/vehicle-edit-details` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| vehicle_id | integer | yes |  |

### Yearly calendar
`GET https://apizie.tech/v1/finance:officient/person-get-yearly-calendar` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | integer | yes | The person you would like to receive calender information on |
| year | integer | yes |  |
| filter | string | no | can be either 'all' or 'days_with_events' to return only days containing events |

### List calendar requests
`GET https://apizie.tech/v1/finance:officient/calendar-request-list-requests` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| page | string | no |  |
| status | string | no | Can be either "all", "pending" or "closed" |

### Calendar request detail
`GET https://apizie.tech/v1/finance:officient/calendar-request-get-detail-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| request_id | integer | yes |  |

### Edit custom field value
`POST https://apizie.tech/v1/finance:officient/custom-field-edit-value-for-object` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| custom_field_id | integer | yes | Id of the custom field |
| object_type | string | yes | type of object to be edited. It can be: employee, asset, car, contract, software_license, training_participant, training |
| object_id | integer | yes | ID of the object to be edited |

### List custom fields
`GET https://apizie.tech/v1/finance:officient/custom-field-list-fields` (byok)

### Upload avatar
`POST https://apizie.tech/v1/finance:officient/person-upload-avatar` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | integer | yes |  |

### Delete document
`POST https://apizie.tech/v1/finance:officient/document-remove` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| file_id | integer | yes |  |

### List available components
`GET https://apizie.tech/v1/finance:officient/person-list-available-components` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | string | yes | Path parameter {person_id} |

### Components by person by month
`GET https://apizie.tech/v1/finance:officient/person-get-one-off-wage-components-by-month` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | integer | yes |  |
| year | integer | yes |  |
| month | integer | yes |  |

### Grant one-off wage component
`POST https://apizie.tech/v1/finance:officient/component-grant-one-off-wage` (byok)

### Remove one-off wage component
`POST https://apizie.tech/v1/finance:officient/component-remove-one-off-wage` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| granted_component_id | string | yes | Path parameter {granted_component_id} |

### List performance reviews
`GET https://apizie.tech/v1/finance:officient/person-get-performance-reviews-by-person` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| page | integer | yes | Controls pagination (0, 1, 2, ..) to view all results. 30 items per page. |
| person_id | integer | yes |  |

### List dimonas by person
`GET https://apizie.tech/v1/finance:officient/person-list-dimonas-by-person` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | integer | yes |  |

### Unlock calendar
`POST https://apizie.tech/v1/finance:officient/calendar-state-unlock-month-processed` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Edit budget
`POST https://apizie.tech/v1/finance:officient/budget-update-budget-item` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| budget_id | integer | yes | The id of the budget that will be edited. |
| body | object | no | JSON request body |

### Delete budget
`POST https://apizie.tech/v1/finance:officient/budget-delete-budget-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| budget_id | integer | yes | The id of the budget that will be deleted |

### Add budget
`POST https://apizie.tech/v1/finance:officient/budget-add-budget-item` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Delete budget item
`POST https://apizie.tech/v1/finance:officient/budget-remove-item` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| budget_id | integer | yes |  |
| item_id | integer | yes |  |

### Add budget item
`POST https://apizie.tech/v1/finance:officient/budget-add-item` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| budget_id | integer | yes |  |
| body | object | no | JSON request body |

### List budgets
`GET https://apizie.tech/v1/finance:officient/person-get-budgets-by-year` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | integer | yes |  |
| year | integer | yes |  |

### List budget items
`GET https://apizie.tech/v1/finance:officient/person-list-budget-items` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | integer | yes |  |
| budget_id | integer | yes |  |

### List priority schemes
`GET https://apizie.tech/v1/finance:officient/priority-scheme-list-active-priority-schemes-by-year` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| year | integer | yes |  |

### Use priority scheme
`POST https://apizie.tech/v1/finance:officient/person-add-to-calendar-2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | integer | yes |  |

### Role History
`GET https://apizie.tech/v1/finance:officient/person-view-role-history` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | integer | yes |  |

### Personal data audit log
`GET https://apizie.tech/v1/finance:officient/person-get-personal-data-changes` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| since_timestamp | string | no | Defaults to 1 week ago |

### List verzuim periods
`GET https://apizie.tech/v1/finance:officient/person-get-verzuim-periods` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | integer | yes |  |
| year | integer | yes |  |

### Person custom fields
`GET https://apizie.tech/v1/finance:officient/person-get-custom-fields` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | integer | yes |  |

### Weekly schedule
`GET https://apizie.tech/v1/finance:officient/person-get-current-weekly-schedule` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| person_id | integer | yes |  |

### List expenses by month
`GET https://apizie.tech/v1/finance:officient/expense-list-by-month` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| year | string | yes | the specific year we want to filter |
| month | string | yes | the specific month we want to filter this is optional |
| page | string | no | optional to filter pages |
| include_deleted | integer | no | this is so you can exclude any deleted expense, by default we show them (0 - 1) |

### List expense categories
`GET https://apizie.tech/v1/finance:officient/expense-list-categories` (byok)

### Expense detail
`GET https://apizie.tech/v1/finance:officient/expense-get-detail` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| expense id | integer | yes | the specific id we want to see the details about |
| expense_id | string | yes | Path parameter {expense_id} |

### Add expense
`POST https://apizie.tech/v1/finance:officient/expense-add-expense-with-category` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Edit expense
`POST https://apizie.tech/v1/finance:officient/expense-update-details` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| expense_id | integer | yes |  |
| body | object | no | JSON request body |

### Delete expense
`POST https://apizie.tech/v1/finance:officient/expense-delete-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| expense_id | integer | yes |  |

### Edit expense category name
`POST https://apizie.tech/v1/finance:officient/expense-edit-category-name` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| category_id | integer | yes |  |
| body | object | no | JSON request body |

### Delete expense category
`POST https://apizie.tech/v1/finance:officient/expense-delete-category` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| category_id | integer | yes |  |

### Set payout method and status
`POST https://apizie.tech/v1/finance:officient/expense-set-payout-method-and-status` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| expense_id | integer | yes |  |
| body | object | no | JSON request body |

### Add expense category
`POST https://apizie.tech/v1/finance:officient/expense-add-category` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Expense category detail
`GET https://apizie.tech/v1/finance:officient/expense-list-by-category-detail` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| category_id | integer | yes | the specific id we want to see the details about |

### List expenses by year
`GET https://apizie.tech/v1/finance:officient/expense-list-by-year` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| year | string | yes | the specific year we want to filter |
| month | string | yes | the specific month we want to filter this is optional |
| page | string | no | optional to filter pages |
| include_deleted | integer | no | this is so you can exclude any deleted expense, by default we show them (0 - 1) |

### List functions
`GET https://apizie.tech/v1/finance:officient/function-get-all-functions` (byok)

### Function detail
`GET https://apizie.tech/v1/finance:officient/function-get-details` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| internal_code | string | yes | The internal code / GUID of the function you would like to receive information on |

### List departments
`GET https://apizie.tech/v1/finance:officient/department-get-all-departments` (byok)

### Department detail
`GET https://apizie.tech/v1/finance:officient/department-get-detail` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| internal_code | string | yes | The internal code / GUID of the function you would like to receive information on |

### List cost units
`GET https://apizie.tech/v1/finance:officient/cost-unit-list-functions` (byok)

### Cost unit detail
`GET https://apizie.tech/v1/finance:officient/cost-unit-get-functions-detail` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| internal_code | string | yes | The internal code / GUID of the function you would like to receive information on |

### List cost centers
`GET https://apizie.tech/v1/finance:officient/cost-center-get-list` (byok)

### Cost center detail
`GET https://apizie.tech/v1/finance:officient/cost-center-detail-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| internal_code | string | yes | The internal code / GUID of the function you would like to receive information on |

## Example
```
curl "https://apizie.tech/v1/finance:officient/person-list-people" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Officient API API?
Create a free Apizie key, then send GET https://apizie.tech/v1/finance:officient/person-list-people with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Officient API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Officient API itself also needs your own key from api.officient.io.

### Can AI agents use the Officient API API?
Yes. Add the Apizie MCP server (https://apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key finance:officient.

### What is the status of the Officient API API?
Needs your own provider key (bring your own key)
