Skip to main content

Partner API: reference data

Departments, designations, work locations and the salary-component catalogue are the master data the other endpoints refer to by name or by id. They all sit behind one scope and change rarely, so most integrations pull them once a day.

Written by Vaibhav Kashyap

Scopes used on this page: masters:read. Calling an endpoint your key was not granted the scope for returns 403 insufficient_scope.

Every call below needs your API key — see Partner API: authentication and your first call — and every response follows the paging and field-selection rules in Partner API: pagination, field selection and identifiers.

GET /v1/departments

The department master, including parent_department_id so a cost-centre tree can be mirrored.

Scope required: masters:read.

Query parameters:

  • fields — Comma-separated subset of this endpoint's response fields, at most 100. Narrowing only: a name outside the documented field list is rejected with 400, never silently ignored.

Fields on each record, and the only names ?fields= accepts: department_id, description, is_active, name, parent_department_id.

Example:

curl -s "https://api.asanify.com/v1/departments" \
  -H "Authorization: Bearer $ASANIFY_API_KEY"

GET /v1/designations

The designation (job title) master.

Scope required: masters:read.

Query parameters:

  • fields — Comma-separated subset of this endpoint's response fields, at most 100. Narrowing only: a name outside the documented field list is rejected with 400, never silently ignored.

Fields on each record, and the only names ?fields= accepts: description, designation_id, is_active, job_level_id, name.

Example:

curl -s "https://api.asanify.com/v1/designations" \
  -H "Authorization: Bearer $ASANIFY_API_KEY"

GET /v1/locations

The work-location master. Employee home addresses are never returned by this or any other endpoint.

Scope required: masters:read.

Query parameters:

  • fields — Comma-separated subset of this endpoint's response fields, at most 100. Narrowing only: a name outside the documented field list is rejected with 400, never silently ignored.

Fields on each record, and the only names ?fields= accepts: city, country_code, line1, line2, location_id, name, postal_code, state_id, timezone.

Example:

curl -s "https://api.asanify.com/v1/locations" \
  -H "Authorization: Bearer $ASANIFY_API_KEY"

GET /v1/salary-components

The tenant's catalogue of earning and deduction codes, for mapping to GL accounts. A tenant usually defines many more components than appear on any one salary, so this cannot be inferred from employee data.

Scope required: masters:read.

Query parameters:

  • fields — Comma-separated subset of this endpoint's response fields, at most 100. Narrowing only: a name outside the documented field list is rejected with 400, never silently ignored.

Fields on each record, and the only names ?fields= accepts: component_id, component_type, description, name.

Example:

curl -s "https://api.asanify.com/v1/salary-components" \
  -H "Authorization: Bearer $ASANIFY_API_KEY"
Did this answer your question?