Resolve entity identifiers (POST)

View as Markdown
Resolves each queried id, slug, and current joined URL to exactly one outcome row that echoes the raw input: MATCHED with full detail, AMBIGUOUS with candidate ids when a URL is currently owned by more than one entity, or MISSING. Unlike the batch detail read, no input is silently dropped and every row maps back to its source identifier. URL matching is host+path exact: scheme and a leading www are ignored, but distinct paths stay distinct (stripe.com does not match stripe.com/payments).

Authentication

X-Client-Secretstring

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

Query parameters

includePrivatebooleanOptional

Privileged read scope for admin callers. Returns hidden, unverified, and not-yet-published entities instead of resolving them as MISSING. Defaults to private for admin API key or ROLE_ADMIN callers; client-secret/client-read callers stay public.

Request

This endpoint expects an object.
idlist of stringsOptional
Entity UUID values
permitMonogramboolean or nullOptionalDefaults to true
Permit monogram fallbacks
sluglist of stringsOptional
Entity slug values
urllist of stringsOptional
Current joined entity URL values

Response

OK
candidateEntityIdlist of strings

Entity ids that all currently own the queried URL when status is AMBIGUOUS; empty otherwise. Re-query a single id to disambiguate.

inputstring

Raw identifier exactly as queried (UUID string, slug, or URL).

inputTypeenum
Which identifier kind this row was queried by.
statusenum
Resolution outcome for this input.
detailobject or nullOptional

Full entity detail when status is MATCHED; absent otherwise.

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden 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