Documentation menu

Definitions

8 operations.

List project definitions

GET /api/v1/projects/{projectId}/definitions

Parameters

path

NameTypeRequiredDescription
projectIdstringrequiredIdentifies the Project that owns the addressed resource. Applies to List project definitions.

query

NameTypeRequiredDescription
kind"domain" | "integration" | "operation" | "presentation"optionalFilters definitions to the requested definition kind. Applies to List project definitions.
limitintegeroptionalSets the maximum number of resources returned in this page. Applies to List project definitions.
cursorstringoptionalOpaque cursor returned by the previous page; omit it to read the first page. Applies to List project definitions.
includeSourcebooleanoptionalRequests source text alongside matching definition elements. Applies to List project definitions.

Responses

StatusDescriptionBody
200Response for status 200application/json — object — definitions: array<object> (required); pagination: object (required)
400The request is malformed or cannot be processed.application/json — PublicApiError — error: object (required)
401Authentication failed. The Authorization header is missing, or the credential is invalid or expired.application/json — PublicApiError — error: object (required)
403Access denied. The authenticated user does not have permission to perform this action.application/json — PublicApiError — error: object (required)
404Resource not found.application/json — PublicApiError — error: object (required)
409Request conflicts with current state of the resource, including safe deployment conflict classifications.application/json — PublicApiError — error: object (required)
422Request validation failed. Check the request body, query parameters, or path parameters.application/json — PublicApiError — error: object (required)
429Too many requests. The code foreign_resource_rate_limited means the caller made too many requests for Projects outside its reach: correct the Project id instead of retrying.application/json — PublicApiError — error: object (required)
500The server could not complete the request.application/json — PublicApiError — error: object (required)
503Service temporarily unavailable (e.g. execution capacity exhausted). The response carries a Retry-After header; retry with backoff.application/json — PublicApiError — error: object (required)

Create a definition

POST /api/v1/projects/{projectId}/definitions

Create a definition with its initial immutable revision.

Parameters

path

NameTypeRequiredDescription
projectIdstringrequiredIdentifies the Project that owns the addressed resource. Applies to Create a definition.

Request body

Required — Request body for: Create a definition.

application/json

NameTypeRequiredDescription
kind"domain" | "integration" | "operation" | "presentation"required
slugstringrequired
namestringrequired
sourceobjectrequired
attachmentsarray<object>optional

Responses

StatusDescriptionBody
201Response for status 201application/json — object — id: string (required); projectId: string (required); kind: "domain" | "integration" | "operation" | "presentation" (required); slug: string (required); name: string (required); status: "active" | "deleting" (required); latestRevision: object | null (required)
400The request is malformed or cannot be processed.application/json — PublicApiError — error: object (required)
401Authentication failed. The Authorization header is missing, or the credential is invalid or expired.application/json — PublicApiError — error: object (required)
403Access denied. The authenticated user does not have permission to perform this action.application/json — PublicApiError — error: object (required)
404Resource not found.application/json — PublicApiError — error: object (required)
409Request conflicts with current state of the resource, including safe deployment conflict classifications.application/json — PublicApiError — error: object (required)
422Request validation failed. Check the request body, query parameters, or path parameters.application/json — PublicApiError — error: object (required)
429Too many requests. The code foreign_resource_rate_limited means the caller made too many requests for Projects outside its reach: correct the Project id instead of retrying.application/json — PublicApiError — error: object (required)
500The server could not complete the request.application/json — PublicApiError — error: object (required)
503Service temporarily unavailable (e.g. execution capacity exhausted). The response carries a Retry-After header; retry with backoff.application/json — PublicApiError — error: object (required)

Get a definition

GET /api/v1/projects/{projectId}/definitions/{definitionId}

Retrieve one definition element by its identifier.

Parameters

path

NameTypeRequiredDescription
projectIdstringrequiredIdentifies the Project that owns the addressed resource. Applies to Get a definition.
definitionIdstringrequiredIdentifies the definition element being addressed. Applies to Get a definition.

Responses

StatusDescriptionBody
200Response for status 200application/json — object — id: string (required); projectId: string (required); kind: "domain" | "integration" | "operation" | "presentation" (required); slug: string (required); name: string (required); status: "active" | "deleting" (required); latestRevision: object | null (required)
400The request is malformed or cannot be processed.application/json — PublicApiError — error: object (required)
401Authentication failed. The Authorization header is missing, or the credential is invalid or expired.application/json — PublicApiError — error: object (required)
403Access denied. The authenticated user does not have permission to perform this action.application/json — PublicApiError — error: object (required)
404Resource not found.application/json — PublicApiError — error: object (required)
409Request conflicts with current state of the resource, including safe deployment conflict classifications.application/json — PublicApiError — error: object (required)
422Request validation failed. Check the request body, query parameters, or path parameters.application/json — PublicApiError — error: object (required)
429Too many requests. The code foreign_resource_rate_limited means the caller made too many requests for Projects outside its reach: correct the Project id instead of retrying.application/json — PublicApiError — error: object (required)
500The server could not complete the request.application/json — PublicApiError — error: object (required)
503Service temporarily unavailable (e.g. execution capacity exhausted). The response carries a Retry-After header; retry with backoff.application/json — PublicApiError — error: object (required)

Update project definition

PATCH /api/v1/projects/{projectId}/definitions/{definitionId}

Parameters

path

NameTypeRequiredDescription
projectIdstringrequiredIdentifies the Project that owns the addressed resource. Applies to Update project definition.
definitionIdstringrequiredIdentifies the definition element being addressed. Applies to Update project definition.

Request body

Required — Request body for: Update project definition.

application/json

NameTypeRequiredDescription
namestringoptional
sourceobjectoptional
attachmentsarray<object>optional

Responses

StatusDescriptionBody
200Response for status 200application/json — object — id: string (required); projectId: string (required); kind: "domain" | "integration" | "operation" | "presentation" (required); slug: string (required); name: string (required); status: "active" | "deleting" (required); latestRevision: object | null (required)
400The request is malformed or cannot be processed.application/json — PublicApiError — error: object (required)
401Authentication failed. The Authorization header is missing, or the credential is invalid or expired.application/json — PublicApiError — error: object (required)
403Access denied. The authenticated user does not have permission to perform this action.application/json — PublicApiError — error: object (required)
404Resource not found.application/json — PublicApiError — error: object (required)
409Request conflicts with current state of the resource, including safe deployment conflict classifications.application/json — PublicApiError — error: object (required)
422Request validation failed. Check the request body, query parameters, or path parameters.application/json — PublicApiError — error: object (required)
429Too many requests. The code foreign_resource_rate_limited means the caller made too many requests for Projects outside its reach: correct the Project id instead of retrying.application/json — PublicApiError — error: object (required)
500The server could not complete the request.application/json — PublicApiError — error: object (required)
503Service temporarily unavailable (e.g. execution capacity exhausted). The response carries a Retry-After header; retry with backoff.application/json — PublicApiError — error: object (required)

Delete project definition

DELETE /api/v1/projects/{projectId}/definitions/{definitionId}

Parameters

path

NameTypeRequiredDescription
projectIdstringrequiredIdentifies the Project that owns the addressed resource. Applies to Delete project definition.
definitionIdstringrequiredIdentifies the definition element being addressed. Applies to Delete project definition.

Responses

StatusDescriptionBody
202Response for status 202application/json — object — id: string (required); projectId: string (required); kind: "domain" | "integration" | "operation" | "presentation" (required); slug: string (required); name: string (required); status: "active" | "deleting" (required); latestRevision: object | null (required)
400The request is malformed or cannot be processed.application/json — PublicApiError — error: object (required)
401Authentication failed. The Authorization header is missing, or the credential is invalid or expired.application/json — PublicApiError — error: object (required)
403Access denied. The authenticated user does not have permission to perform this action.application/json — PublicApiError — error: object (required)
404Resource not found.application/json — PublicApiError — error: object (required)
409Request conflicts with current state of the resource, including safe deployment conflict classifications.application/json — PublicApiError — error: object (required)
422Request validation failed. Check the request body, query parameters, or path parameters.application/json — PublicApiError — error: object (required)
429Too many requests. The code foreign_resource_rate_limited means the caller made too many requests for Projects outside its reach: correct the Project id instead of retrying.application/json — PublicApiError — error: object (required)
500The server could not complete the request.application/json — PublicApiError — error: object (required)
503Service temporarily unavailable (e.g. execution capacity exhausted). The response carries a Retry-After header; retry with backoff.application/json — PublicApiError — error: object (required)

List immutable Definition revisions

GET /api/v1/projects/{projectId}/definitions/{definitionId}/revisions

Lists immutable revisions for the specified Definition in the resolved Project. Results are cursor-paginated; use pagination.nextCursor unchanged for the next page. Project, Definition, and cursor scope are checked together, so foreign resources return 404.

Parameters

path

NameTypeRequiredDescription
projectIdstringrequiredIdentifies the Project that owns the addressed resource. Applies to List immutable Definition revisions.
definitionIdstringrequiredIdentifies the definition element being addressed. Applies to List immutable Definition revisions.

query

NameTypeRequiredDescription
limitintegeroptionalSets the maximum number of resources returned in this page. Applies to List immutable Definition revisions.
cursorstringoptionalOpaque cursor returned by the previous page; omit it to read the first page. Applies to List immutable Definition revisions.

Responses

StatusDescriptionBody
200Response for status 200application/json — object — revisions: array<object> (required); pagination: object (required)
400The request is malformed or cannot be processed.application/json — PublicApiError — error: object (required)
401Authentication failed. The Authorization header is missing, or the credential is invalid or expired.application/json — PublicApiError — error: object (required)
403Access denied. The authenticated user does not have permission to perform this action.application/json — PublicApiError — error: object (required)
404Resource not found.application/json — PublicApiError — error: object (required)
409Request conflicts with current state of the resource, including safe deployment conflict classifications.application/json — PublicApiError — error: object (required)
422Request validation failed. Check the request body, query parameters, or path parameters.application/json — PublicApiError — error: object (required)
429Too many requests. The code foreign_resource_rate_limited means the caller made too many requests for Projects outside its reach: correct the Project id instead of retrying.application/json — PublicApiError — error: object (required)
500The server could not complete the request.application/json — PublicApiError — error: object (required)
503Service temporarily unavailable (e.g. execution capacity exhausted). The response carries a Retry-After header; retry with backoff.application/json — PublicApiError — error: object (required)

Create an immutable Definition revision

POST /api/v1/projects/{projectId}/definitions/{definitionId}/revisions

Validates and stores a new immutable Definition revision under the resolved Project and Definition. The source and attachment graph are captured at creation; a prior revision is never edited or implicitly released. Invalid source or attachment data returns 422, and an unknown or foreign target returns 404.

Parameters

path

NameTypeRequiredDescription
projectIdstringrequiredIdentifies the Project that owns the addressed resource. Applies to Create an immutable Definition revision.
definitionIdstringrequiredIdentifies the definition element being addressed. Applies to Create an immutable Definition revision.

Request body

Required — Request body for: Create an immutable Definition revision.

application/json

NameTypeRequiredDescription
sourceobjectrequired
attachmentsarray<object>optional

Responses

StatusDescriptionBody
201Response for status 201application/json — object — id: string (required); definitionId: string (required); number: integer (required); source: object (required); createdByUserId: string (required); attachments: array<object> (required)
400The request is malformed or cannot be processed.application/json — PublicApiError — error: object (required)
401Authentication failed. The Authorization header is missing, or the credential is invalid or expired.application/json — PublicApiError — error: object (required)
403Access denied. The authenticated user does not have permission to perform this action.application/json — PublicApiError — error: object (required)
404Resource not found.application/json — PublicApiError — error: object (required)
409Request conflicts with current state of the resource, including safe deployment conflict classifications.application/json — PublicApiError — error: object (required)
422Request validation failed. Check the request body, query parameters, or path parameters.application/json — PublicApiError — error: object (required)
429Too many requests. The code foreign_resource_rate_limited means the caller made too many requests for Projects outside its reach: correct the Project id instead of retrying.application/json — PublicApiError — error: object (required)
500The server could not complete the request.application/json — PublicApiError — error: object (required)
503Service temporarily unavailable (e.g. execution capacity exhausted). The response carries a Retry-After header; retry with backoff.application/json — PublicApiError — error: object (required)

Get an immutable Definition revision

GET /api/v1/projects/{projectId}/definitions/{definitionId}/revisions/{definitionRevisionId}

Returns the exact immutable Definition revision selected by the Project, Definition, and revision coordinates. The response contains the persisted source and attachment metadata; foreign or absent revisions return 404.

Parameters

path

NameTypeRequiredDescription
projectIdstringrequiredIdentifies the Project that owns the addressed resource. Applies to Get an immutable Definition revision.
definitionIdstringrequiredIdentifies the definition element being addressed. Applies to Get an immutable Definition revision.
definitionRevisionIdstringrequiredIdentifies the immutable Definition revision being addressed. Applies to Get an immutable Definition revision.

Responses

StatusDescriptionBody
200Response for status 200application/json — object — id: string (required); definitionId: string (required); number: integer (required); source: object (required); createdByUserId: string (required); attachments: array<object> (required)
400The request is malformed or cannot be processed.application/json — PublicApiError — error: object (required)
401Authentication failed. The Authorization header is missing, or the credential is invalid or expired.application/json — PublicApiError — error: object (required)
403Access denied. The authenticated user does not have permission to perform this action.application/json — PublicApiError — error: object (required)
404Resource not found.application/json — PublicApiError — error: object (required)
409Request conflicts with current state of the resource, including safe deployment conflict classifications.application/json — PublicApiError — error: object (required)
422Request validation failed. Check the request body, query parameters, or path parameters.application/json — PublicApiError — error: object (required)
429Too many requests. The code foreign_resource_rate_limited means the caller made too many requests for Projects outside its reach: correct the Project id instead of retrying.application/json — PublicApiError — error: object (required)
500The server could not complete the request.application/json — PublicApiError — error: object (required)
503Service temporarily unavailable (e.g. execution capacity exhausted). The response carries a Retry-After header; retry with backoff.application/json — PublicApiError — error: object (required)