listings

Operations of the Xema Store API. Paths are relative to your deployment's API host.

GET /api/xema-store-api/listings

List catalog rows (paginated).

Filters by scope/orgId/trustTier/free-text. Gated on store:biome.list@1.

Authentication: bearer token (Authorization: Bearer <token>)

ParameterInTypeRequiredDescription
featuredquerybooleannoFilter on the operator-curated featured flag. Omit for no filter; true returns the featured shelf.
includeArchivedquerybooleannoInclude archived listings (default: false).
includeWithheldquerybooleannoInclude listings the operator has WITHHELD in this deployment. Operator surfaces only — a catalog read must not set it.
limitquerynumberno
offsetquerynumberno
qquerystringnoFree-text search (case-insensitive, ILIKE) over displayName + biomeId.
scopequeryStoreScopeno
trustTierqueryBiomeTrustTierno
StatusDescriptionBody
200application/json StoreListingDtoPaginatedEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

POST /api/xema-store-api/listings

Create a new listing.

Admin / first-party authoring entry point. Gated on store:biome.submit@1; the per-version submission endpoint enforces the same ref. The publisher org (and, for scope = org, the owning org) is taken from the authenticated caller — it is not accepted from the body.

Authentication: bearer token (Authorization: Bearer <token>)

Request body: application/json CreateStoreListingDto

StatusDescriptionBody
201application/json StoreListingDtoDataEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

GET /api/xema-store-api/listings/{id}

Get a single listing.

Authentication: bearer token (Authorization: Bearer <token>)

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
200application/json StoreListingDtoDataEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

PATCH /api/xema-store-api/listings/{id}

Update listing metadata (displayName / description).

Authentication: bearer token (Authorization: Bearer <token>)

ParameterInTypeRequiredDescription
idpathstringyes

Request body: application/json UpdateStoreListingDto

StatusDescriptionBody
200application/json StoreListingDtoDataEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

POST /api/xema-store-api/listings/{id}/archive

Soft-archive a listing and its non-archived versions.

Authentication: bearer token (Authorization: Bearer <token>)

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
200application/json StoreListingDtoDataEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

GET /api/xema-store-api/listings/{id}/versions

List versions of a listing.

Authentication: bearer token (Authorization: Bearer <token>)

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
200application/json StoreListingVersionDtoDataArrayEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

GET /api/xema-store-api/listings/{id}/versions/{version}

Get a single version (includes the frozen manifest snapshot + permission digest).

Authentication: bearer token (Authorization: Bearer <token>)

ParameterInTypeRequiredDescription
idpathstringyes
versionpathstringyes
StatusDescriptionBody
200application/json StoreListingVersionDtoDataEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto