Skip to content

Third parties

Not everything an organization depends on is a person or a role. A third party is an outside entity that answers for something: a vendor who maintains equipment, a contractor who performs a procedure, a regulator whose rules a topic exists to satisfy.

Third parties appear as actors in duties alongside people, teams, and roles.

GET /v1/third-parties

Cursor-paginated.

Parameter Type Notes
cursor string Pagination cursor from a previous response.
limit number 1–100. Default 50.
Terminal window
curl "https://api.mereon.ai/v1/third-parties" \
-H "Authorization: Bearer $MEREON_TOKEN"
{
"data": [
{
"id": "tpy_2b7e...",
"name": "Northwind Elevator Service",
"description": "Maintains the passenger and freight lifts under contract.",
"createdAt": "2026-02-04T11:15:00.000Z",
"updatedAt": "2026-06-18T08:42:00.000Z"
}
],
"nextCursor": null
}

GET /v1/third-parties/{id}

Same fields as the list entry.

GET /v1/third-parties/{id}/duties

Everything this third party answers for, from the holder’s side. The duties endpoint answers the opposite question: who answers for a given topic.

Parameter Type Notes
entityType string TOPIC, ITEM, SPACE, or CATEGORY. Worth using: a duty on a topic reaches every item on it, so an unfiltered list is mostly items.
cursor string Pagination cursor from a previous response.
limit number 1–100. Default 50.
Terminal window
curl "https://api.mereon.ai/v1/third-parties/tpy_2b7e/duties?entityType=TOPIC" \
-H "Authorization: Bearer $MEREON_TOKEN"
{
"data": [
{
"role": "RESPONSIBLE",
"entityType": "TOPIC",
"entityId": "top_71cd...",
"entityName": "Lift inspection",
"inheritedFrom": null,
"tierQualifier": "ALL",
"advancementTierId": null,
"advancementTierLabel": null,
"url": "https://mereon.ai/topics/lift-inspection"
}
],
"nextCursor": null
}

inheritedFrom is set when the duty reaches this entity through an ancestor: a duty assigned on a space is reported against each topic in it, naming the space it came from. null means it was assigned directly.

tierQualifier is always ALL for a third party. It carries meaning only for company roles, which can have an advancement path — see company roles.

A duty whose entity is no longer in the live graph is not returned at all, so entityName is always present.

Rows are ordered by entity type then name, and are limited to entities the caller can read — so the list is what this caller may know about, not necessarily everything the third party holds.