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. Needs raci-assignment.read as well as access to third parties, as the duty list on the third party’s page does.

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,
"assignmentId": "ras_0d92...",
"source": "AI_ENHANCED",
"confidence": 0.82,
"learningPriorityOverride": null,
"url": "https://mereon.ai/topics/lift-inspection"
}
],
"nextCursor": null
}

Each duty also says who set it and how sure a suggestion was:

Field Type Notes
assignmentId string The assignment behind this duty. For an inherited duty it is the parent’s assignment, not one on the entity named.
source string Who set the duty: MANUAL for a person’s own assignment, or AI_ENHANCED or AI_CLASSIFIED for the system’s suggestion.
confidence number | null How sure the suggestion was, from 0 to 1. null for a person’s own assignment.
learningPriorityOverride string | null This duty’s own learning priority (CRITICAL, HIGH, MEDIUM, or LOW). null means the topic’s priority applies.

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.