Documentation menu

Configuration

Org configuration. categories/departments/user-groups are org-scoped (reads: members, writes: managers+). industry-types are GLOBAL reference data (reads: any member, writes: APP_ADMIN).

The four resources

ResourceScopeWrites/status toggle
/categoriesOrg-scopedmanagers+
/departmentsOrg-scopedmanagers+
/user-groupsOrg-scopedmanagers+
/industry-typesGlobal reference dataAPP_ADMIN only

The shared contract

All four resources share list/create/get/update/delete (bodies take {name, description}); departments and user-groups add an activate/deactivate toggle. The operations below use departments as the exemplar — substitute any resource from the table.

GET/departments

List departments

Parameters

NameInTypeRequiredDescription
X-Organization-IdheaderstringoptionalTarget organization ObjectId; required for APP_ADMIN and SUPPLIER callers and ignored (must match the caller's own org) for org admins, managers, and users.
pagequeryintegeroptionalPage number to retrieve (1-based); integer, minimum 1, defaults to 1.
limitqueryintegeroptionalPage size (number of records per page); integer, minimum 1, maximum 100, defaults to 25.

Responses

  • 200Paginated items.
  • 401Missing/invalid token.
  • 403Authenticated but not allowed (role or cross-org).
POST/departments

Create (managers+)

Parameters

NameInTypeRequiredDescription
X-Organization-IdheaderstringoptionalTarget organization ObjectId; required for APP_ADMIN and SUPPLIER callers and ignored (must match the caller's own org) for org admins, managers, and users.
pagequeryintegeroptionalPage number to retrieve (1-based); integer, minimum 1, defaults to 1.
limitqueryintegeroptionalPage size (number of records per page); integer, minimum 1, maximum 100, defaults to 25.

Request body object (required, application/json)

Responses

  • 201Created.
  • 400Request body/params failed validation.
  • 401Missing/invalid token.
  • 403Authenticated but not allowed (role or cross-org).
  • 409Conflict.
  • 429Rate limit exceeded.
GET/departments/{id}

Get a departments item

Parameters

NameInTypeRequiredDescription
idpathstringrequired
X-Organization-IdheaderstringoptionalTarget organization ObjectId; required for APP_ADMIN and SUPPLIER callers and ignored (must match the caller's own org) for org admins, managers, and users.

Responses

  • 200The item.
  • 400Request body/params failed validation.
  • 401Missing/invalid token.
  • 403Authenticated but not allowed (role or cross-org).
  • 404Not found (or not in the caller's org).
PATCH/departments/{id}

Update (managers+)

Parameters

NameInTypeRequiredDescription
idpathstringrequired
X-Organization-IdheaderstringoptionalTarget organization ObjectId; required for APP_ADMIN and SUPPLIER callers and ignored (must match the caller's own org) for org admins, managers, and users.

Request body object (required, application/json)

Responses

  • 200Updated.
  • 400Request body/params failed validation.
  • 401Missing/invalid token.
  • 403Authenticated but not allowed (role or cross-org).
  • 404Not found (or not in the caller's org).
  • 409Conflict.
  • 429Rate limit exceeded.
DELETE/departments/{id}

Delete (managers+)

Parameters

NameInTypeRequiredDescription
idpathstringrequired
X-Organization-IdheaderstringoptionalTarget organization ObjectId; required for APP_ADMIN and SUPPLIER callers and ignored (must match the caller's own org) for org admins, managers, and users.

Responses

  • 204Deleted.
  • 400Request body/params failed validation.
  • 401Missing/invalid token.
  • 403Authenticated but not allowed (role or cross-org).
  • 404Not found (or not in the caller's org).
  • 429Rate limit exceeded.
PATCH/departments/{id}/status

Activate/deactivate (managers+)

Parameters

NameInTypeRequiredDescription
idpathstringrequired
X-Organization-IdheaderstringoptionalTarget organization ObjectId; required for APP_ADMIN and SUPPLIER callers and ignored (must match the caller's own org) for org admins, managers, and users.

Request body object (required, application/json)

Responses

  • 200Updated.
  • 401Missing/invalid token.
  • 403Authenticated but not allowed (role or cross-org).
  • 404Not found (or not in the caller's org).
  • 429Rate limit exceeded.