JFrog Artifactory Artifactory Extensions API

Artifactory-specific Docker API extensions

OpenAPI Specification

artifactory-artifactory-extensions-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: JFrog Artifactory Query Language (AQL) AQL Search Artifactory Extensions API
  description: Advanced search API using Artifactory Query Language (AQL), a SQL-like query language for finding and filtering artifacts, builds, and entries in JFrog Artifactory. AQL provides powerful querying capabilities including domain queries, field filtering, sorting, limiting, and inclusion of related entities.
  version: 7.x
  contact:
    name: JFrog Support
    url: https://jfrog.com/support/
    email: support@jfrog.com
  license:
    name: Proprietary
    url: https://jfrog.com/terms-of-service/
  termsOfService: https://jfrog.com/terms-of-service/
servers:
- url: https://{server}/artifactory
  description: JFrog Artifactory Server
  variables:
    server:
      default: myserver.jfrog.io
      description: Your JFrog Platform deployment URL
security:
- BearerAuth: []
- ApiKeyAuth: []
- BasicAuth: []
tags:
- name: Artifactory Extensions
  description: Artifactory-specific Docker API extensions
paths:
  /api/docker/{repoKey}/v2/promote:
    post:
      operationId: promoteDockerImage
      summary: JFrog Artifactory Promote Docker Image
      description: Artifactory-specific extension to promote a Docker image from one repository to another. This is useful for promoting images through staging environments (e.g., dev to staging to production).
      tags:
      - Artifactory Extensions
      parameters:
      - name: repoKey
        in: path
        required: true
        description: Source repository key
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DockerPromoteRequest'
      responses:
        '200':
          description: Image promoted successfully
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          description: Insufficient permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                description: Error code
              message:
                type: string
                description: Error message
              detail:
                type: string
                description: Additional error details
    DockerPromoteRequest:
      type: object
      required:
      - targetRepo
      - dockerRepository
      properties:
        targetRepo:
          type: string
          description: Target repository key to promote to
          example: docker-prod-local
        dockerRepository:
          type: string
          description: Docker repository name (image path)
          example: myproject/myimage
        targetDockerRepository:
          type: string
          description: Target Docker repository name. If not specified, uses the same name as the source.
          example: myproject/myimage
        tag:
          type: string
          description: Tag to promote. If not specified, all tags are promoted.
          example: 1.0.0
        targetTag:
          type: string
          description: Target tag name. If not specified, uses the same tag.
          example: latest
        copy:
          type: boolean
          description: If true, copies instead of moves. Default is false (move).
          default: false
  responses:
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Authentication required
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Access token authentication
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-JFrog-Art-Api
      description: API key authentication via header
    BasicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication
externalDocs:
  description: Artifactory Query Language Documentation
  url: https://jfrog.com/help/r/jfrog-artifactory-documentation/artifactory-query-language