List a component's revisions
Scope: component:read
Authorization
bearerAuth Personal Access Token (PAT) or Service Access Token (SAT). Pass the token in the Authorization header: Bearer admp_...
In: header
Path Parameters
The component_id path parameter.
uuidQuery Parameters
Filter expression. Filterable fields:
kind: TERRAFORM, HELM, MANIFESTS.status: PUBLISHED, DEPRECATED.
Example: field['status'] = 'PUBLISHED'
length <= 1024The page_size query parameter.
int320 <= value <= 100The page_token query parameter.
Response Body
application/json
curl -X GET "https://example.com/v1/components/497f6eca-6276-4993-bfeb-53cbbbba6f08/revisions"{ "revisions": [ { "id": "string", "component_id": "string", "digest": "string", "kind": "COMPONENT_KIND_UNSPECIFIED", "size_bytes": "string", "contract": { "inputs": [ { "name": "string", "type": "string", "description": "string", "required": true, "default": null, "sensitive": true, "ephemeral": true } ], "outputs": [ { "name": "string", "description": "string", "sensitive": true } ] }, "provenance": { "kind": "PROVENANCE_KIND_UNSPECIFIED", "uri": "string", "ref": "string", "commit": "string", "path": "string", "dirty": true, "pins": [ { "source": "string", "constraint": "string", "resolved": "string" } ], "credentials": [ { "id": "string", "name": "string", "hosts": [ "string" ] } ] }, "findings": [ { "severity": "FINDING_SEVERITY_UNSPECIFIED", "source": "string", "code": "string", "message": "string", "path": "string" } ], "status": "REVISION_STATUS_UNSPECIFIED", "deprecated_at": "2023-01-15T01:30:15.01Z", "deprecation_reason": "string", "tags": [ "string" ], "created_by": { "id": "string", "display_name": "string", "email": "string" }, "created_at": "2023-01-15T01:30:15.01Z" } ], "next_page_token": "string"}List components GET
Scope: `component:read`
Publish a component revision POST
The bundle is a gzipped tar of the component root, carried inline and capped at 64 MiB; a fully vendored tree that exceeds it will get a resumable upload path of its own. The server normalizes the bytes (strips `.git`, canonicalizes entry order and timestamps), digests them, runs the publish gate, stores the blob and answers with the revision. If the digest already exists under the name, the existing revision is returned with `unchanged` set and nothing is written, which is what makes a publish-everything CI recipe safe. Any tags named in the request are set on the resulting revision. Repointing a semver tag is refused with FAILED_PRECONDITION and the whole publish fails; the bytes are not kept. Scope: `component:publish`