Replace entity person association

View as Markdown
Replaces title and period fields for one join.

Authentication

AuthorizationBearer

User bearer token: Supabase or Clerk session JWT, Clerk OAuth access token, or Clerk personal API key

OR
X-API-Keystring

Admin API key for system-to-system write operations

OR
X-Client-Secretstring

Client secret for read-only service-to-service access (no writes)

Path parameters

personIdstringRequiredformat: "uuid"
Person id
associationIdintegerRequired
Association id

Query parameters

idstringOptionalformat: "uuid"

Entity unique identifier (UUID) — at least one of id or slug required

slugstringOptionalformat: "^[a-z0-9_-]+$"<=255 characters

Entity URL-friendly identifier — at least one of id or slug required

searchstringOptional
Search term filter
rolestringOptional
Association role filter
isCurrentbooleanOptional
Current association filter
includeUrlbooleanOptional
Include person URL records
includeAddressbooleanOptional
Include person address records
asstringOptional
Projection: `core` (default) returns person identity only and omits association fields. `association` returns PersonDetail rows with the matching join under `association[]`; read title and period fields from `association[].titleName`, `association[].startDate`, and `association[].endDate`. Person sitemap visibility is owned by people detail/status reads, not this list projection.
personSlugstringOptional

Person slug fallback for entity-keyed writes

countOnlybooleanOptional
Return count metadata without full content
permitMonogrambooleanOptional
Permit generated monogram fallback
includePrivatebooleanOptional

Privileged read scope. Includes associations on hidden entities. Defaults to private visibility for admin API key or ROLE_ADMIN callers; explicit true requires that authority.

sourceTypeenumRequired
Write provenance source type.
sourceDetailstringRequired
Source detail or reviewer reference for the write.
sourceProviderstringOptional

Provider name for provider-native IDs or slugs.

sourceProviderIdstringOptional

Provider-native source ID.

sourceProviderSlugstringOptional

Provider-native source slug.

actorTypeenumOptional

Actor type; inferred as agent when agentChassis and agentModel are supplied, or as employee from an authenticated user JWT session.

Allowed values:
agentChassisstringOptional

Agent chassis token for agent-authored writes.

agentModelstringOptional

Agent model id for agent-authored writes.

Request

This endpoint expects an object.
corporateTitleIdinteger or nullOptional
Existing corporate title id
creatorstring or nullOptional
Association creator label
endDatedatetime or nullOptional
Association end timestamp
entityIdstring or nullOptionalformat: "uuid"
Entity id when the path does not scope the entity
isCurrentboolean or nullOptional

Current-state flag. When omitted, create and replace derive it from endDate for compatibility; PATCH preserves the existing value. Set false for a historical association without an end timestamp; true requires no end timestamp.

jobLevelstring or nullOptional
Optional title level
personFunctionstring or nullOptional
Optional title function
personIdstring or nullOptionalformat: "uuid"
Person id when the path does not scope the person
personTitlestring or nullOptional

Write-side corporate title text; read association rows expose it as titleName

startDatedatetime or nullOptional
Association start timestamp

Response

OK
associationIdinteger

Integer person-entity association join row id, not a person or entity UUID

entityAddresslist of objects
Entity addresses carried on the association projection
entityIdstringformat: "uuid"
Associated entity id
entitySlugstringformat: "^[a-z0-9_-]+$"<=255 characters
Canonical lowercase URL slug for the resource
personAddresslist of objects
Person addresses carried on the association projection
personIdstringformat: "uuid"
Associated person id
personImageobject
Person image projection
personNamestring
personSlugstringformat: "^[a-z0-9_-]+$"<=255 characters
Canonical lowercase URL slug for the resource
createdAtdatetime or nullOptional
creatorstring or nullOptional
Association creator label
endDatedatetime or nullOptional
Association period end timestamp
entityNamestring or nullOptional
entityOperatingStatusstring or nullOptional
entityTypeenum or nullOptional
Entity type classification
isCurrentboolean or nullOptional
scoreinteger or nullOptional
startDatedatetime or nullOptional
Association period start timestamp
titleFunctionstring or nullOptional

Read-side corporate title function for the association row

titleIdinteger or nullOptional
Corporate title id for the association row
titleLevelstring or nullOptional

Read-side corporate title level for the association row

titleNamestring or nullOptional

Read-side corporate title text for the association row

updatedAtdatetime or nullOptional

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
406
Not Acceptable Error
409
Conflict Error
415
Unsupported Media Type Error
422
Unprocessable Entity Error
429
Too Many Requests Error
500
Internal Server Error
503
Service Unavailable Error