GitLab CI/CD attestations API

Operations about attestations

OpenAPI Specification

gitlab-ci-attestations-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: GitLab access_requests attestations API
  version: v4
  description: Operations related to access requests
host: gitlab.com
produces:
- application/json
tags:
- name: attestations
  description: Operations about attestations
paths:
  /api/v4/projects/{id}/attestations/{subject_digest}:
    get:
      summary: Fetch the list of all attestations for a specific project and artifact hash
      description: This feature was introduced in GitLab 18.7
      produces:
      - application/json
      parameters:
      - in: path
        name: id
        description: The ID or URL-encoded path of the project
        type: string
        required: true
      - in: path
        name: subject_digest
        description: The SHA-256 hash of the artifact
        type: string
        required: true
      responses:
        '200':
          description: Fetch the list of all attestations for a specific project and artifact hash
          schema:
            $ref: '#/definitions/API_Entities_SupplyChain_Attestation'
        '404':
          description: Artifact SHA-256 not found
      tags:
      - attestations
      operationId: getApiV4ProjectsIdAttestationsSubjectDigest
  /api/v4/projects/{id}/attestations/{attestation_iid}/download:
    get:
      summary: Fetch a specific bundle by iid
      description: This feature was introduced in GitLab 18.7
      produces:
      - application/json
      parameters:
      - in: path
        name: id
        description: The ID or URL-encoded path of the project
        type: string
        required: true
      - in: path
        name: attestation_iid
        description: The iid of the attestation
        type: string
        required: true
      responses:
        '200':
          description: Fetch a specific bundle by iid
        '404':
          description: Artifact SHA-256 not found
      tags:
      - attestations
      operationId: getApiV4ProjectsIdAttestationsAttestationIidDownload
definitions:
  API_Entities_SupplyChain_Attestation:
    type: object
    properties:
      id:
        type: integer
        format: int32
        example: 1
      iid:
        type: integer
        format: int32
        example: 14
      created_at:
        type: string
        format: date-time
        example: '2025-09-17T02:26:10.898Z'
      updated_at:
        type: string
        format: date-time
        example: '2025-09-17T02:26:10.898Z'
      expire_at:
        type: string
        format: date-time
        example: '2025-09-17T02:26:10.898Z'
      project_id:
        type: integer
        format: int32
      build_id:
        type: integer
        format: int32
      status:
        type: string
        example: success
      predicate_kind:
        type: string
        example: provenance
      predicate_type:
        type: string
        example: https://slsa.dev/provenance/v1
      subject_digest:
        type: string
        example: 5db1fee4b5703808c48078a76768b155b421b210c0761cd6a5d223f4d99f1eaa
      download_url:
        type: string
    required:
    - id
    - iid
    - created_at
    - updated_at
    - expire_at
    - project_id
    - build_id
    - status
    - predicate_kind
    - predicate_type
    - subject_digest
    - download_url
    description: API_Entities_SupplyChain_Attestation model
securityDefinitions:
  access_token_header:
    type: apiKey
    name: PRIVATE-TOKEN
    in: header
  access_token_query:
    type: apiKey
    name: private_token
    in: query