Azure Pipelines Builds API

Operations for queuing, listing, retrieving, and updating builds including filtering by status, result, branch, and definition.

OpenAPI Specification

microsoft-azure-pipelines-builds-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Azure Pipelines Build REST Artifacts Builds API
  description: REST API for managing build definitions, queuing builds, and retrieving build results, artifacts, tags, and logs in Azure DevOps. Supports the full lifecycle of continuous integration builds including creating and updating build definitions, listing and filtering builds by status and result, tagging builds for identification, and downloading build artifacts.
  version: '7.1'
  contact:
    name: Microsoft Azure DevOps
    url: https://learn.microsoft.com/en-us/rest/api/azure/devops/build/
  termsOfService: https://azure.microsoft.com/en-us/support/legal/
servers:
- url: https://dev.azure.com/{organization}/{project}/_apis
  description: Azure DevOps Services
  variables:
    organization:
      description: Azure DevOps organization name or ID
      default: myorganization
    project:
      description: Azure DevOps project name or ID
      default: myproject
security:
- bearerAuth: []
- basicAuth: []
tags:
- name: Builds
  description: Operations for queuing, listing, retrieving, and updating builds including filtering by status, result, branch, and definition.
paths:
  /build/builds:
    get:
      operationId: listBuilds
      summary: Azure Pipelines List builds
      description: Returns a list of builds matching the specified filter criteria. Supports filtering by definition, status, result, branch, repository, time range, and tags. Results are paginated and can be ordered by queue time, start time, or finish time.
      tags:
      - Builds
      parameters:
      - $ref: '#/components/parameters/ApiVersion'
      - name: definitions
        in: query
        required: false
        description: Comma-delimited list of definition IDs to filter by
        schema:
          type: string
      - name: queues
        in: query
        required: false
        description: Comma-delimited list of queue IDs to filter by
        schema:
          type: string
      - name: buildNumber
        in: query
        required: false
        description: Filter by build number. Append asterisk for prefix matching.
        schema:
          type: string
      - name: minTime
        in: query
        required: false
        description: Filter to builds after this date based on the query order
        schema:
          type: string
          format: date-time
      - name: maxTime
        in: query
        required: false
        description: Filter to builds before this date based on the query order
        schema:
          type: string
          format: date-time
      - name: requestedFor
        in: query
        required: false
        description: Filter to builds requested by this user
        schema:
          type: string
      - name: reasonFilter
        in: query
        required: false
        description: Filter by the reason the build was created
        schema:
          type: string
          enum:
          - none
          - manual
          - individualCI
          - batchedCI
          - schedule
          - scheduleForced
          - userCreated
          - validateShelveset
          - checkInShelveset
          - pullRequest
          - buildCompletion
          - resourceTrigger
          - triggered
          - all
      - name: statusFilter
        in: query
        required: false
        description: Filter by current build status
        schema:
          type: string
          enum:
          - none
          - inProgress
          - completed
          - cancelling
          - postponed
          - notStarted
          - all
      - name: resultFilter
        in: query
        required: false
        description: Filter by build result
        schema:
          type: string
          enum:
          - none
          - succeeded
          - partiallySucceeded
          - failed
          - canceled
      - name: tagFilters
        in: query
        required: false
        description: Comma-delimited list of tags to filter by
        schema:
          type: string
      - name: $top
        in: query
        required: false
        description: Maximum number of builds to return
        schema:
          type: integer
      - name: continuationToken
        in: query
        required: false
        description: Continuation token for paginated results
        schema:
          type: string
      - name: maxBuildsPerDefinition
        in: query
        required: false
        description: Maximum number of builds to return per definition
        schema:
          type: integer
      - name: deletedFilter
        in: query
        required: false
        description: Filter for deleted builds
        schema:
          type: string
          enum:
          - excludeDeleted
          - includeDeleted
          - onlyDeleted
      - name: queryOrder
        in: query
        required: false
        description: Sort order for the results
        schema:
          type: string
          enum:
          - finishTimeAscending
          - finishTimeDescending
          - queueTimeDescending
          - queueTimeAscending
          - startTimeDescending
          - startTimeAscending
      - name: branchName
        in: query
        required: false
        description: Filter to builds from this branch
        schema:
          type: string
      - name: buildIds
        in: query
        required: false
        description: Comma-delimited list of build IDs to retrieve
        schema:
          type: string
      - name: repositoryId
        in: query
        required: false
        description: Filter to builds from this repository
        schema:
          type: string
      - name: repositoryType
        in: query
        required: false
        description: Filter to builds from repositories of this type
        schema:
          type: string
      responses:
        '200':
          description: List of builds returned successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    description: Number of builds in this response
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/Build'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
  /build/builds/{buildId}:
    get:
      operationId: getBuild
      summary: Azure Pipelines Get a build
      description: Returns detailed information about a specific build including its status, result, definition, source branch, timing, and the identity that queued it.
      tags:
      - Builds
      parameters:
      - $ref: '#/components/parameters/ApiVersion'
      - $ref: '#/components/parameters/BuildId'
      responses:
        '200':
          description: Build returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Build'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: updateBuild
      summary: Azure Pipelines Update a build
      description: Updates properties of a completed or in-progress build such as the keep-forever flag, build number, or retention status.
      tags:
      - Builds
      parameters:
      - $ref: '#/components/parameters/ApiVersion'
      - $ref: '#/components/parameters/BuildId'
      requestBody:
        required: true
        description: Build properties to update
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Build'
      responses:
        '200':
          description: Build updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Build'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteBuild
      summary: Azure Pipelines Delete a build
      description: Deletes a build by moving it to the recycle bin. Deleted builds can be restored within the retention period.
      tags:
      - Builds
      parameters:
      - $ref: '#/components/parameters/ApiVersion'
      - $ref: '#/components/parameters/BuildId'
      responses:
        '204':
          description: Build deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  responses:
    Forbidden:
      description: Forbidden - insufficient permissions
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    Unauthorized:
      description: Unauthorized - missing or invalid authentication credentials
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    BadRequest:
      description: Bad request - invalid parameters or request body
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    NotFound:
      description: Not found - the requested resource does not exist
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
  schemas:
    TeamProjectReference:
      type: object
      description: Shallow reference to a team project
      properties:
        id:
          type: string
          format: uuid
          description: Project GUID identifier
        name:
          type: string
          description: Project name
        description:
          type: string
          description: Project description
        url:
          type: string
          format: uri
          description: REST API URL for the project
        state:
          type: string
          description: Project state
          enum:
          - deleting
          - new
          - wellFormed
          - createPending
          - all
          - unchanged
          - deleted
        visibility:
          type: string
          description: Project visibility
          enum:
          - private
          - public
    Build:
      type: object
      description: Data representation of a build execution in Azure DevOps including its status, result, timing, source information, and associated definition.
      properties:
        id:
          type: integer
          description: Unique numeric identifier of the build
        buildNumber:
          type: string
          description: Build number or name assigned to this build
        buildNumberRevision:
          type: integer
          description: Build number revision counter
        status:
          type: string
          description: Current status of the build
          enum:
          - none
          - inProgress
          - completed
          - cancelling
          - postponed
          - notStarted
          - all
        result:
          type: string
          description: Final result of the build when completed
          enum:
          - none
          - succeeded
          - partiallySucceeded
          - failed
          - canceled
          nullable: true
        queueTime:
          type: string
          format: date-time
          description: Timestamp when the build was queued
        startTime:
          type: string
          format: date-time
          description: Timestamp when the build started executing
        finishTime:
          type: string
          format: date-time
          description: Timestamp when the build completed
          nullable: true
        definition:
          $ref: '#/components/schemas/BuildDefinitionReference'
        project:
          $ref: '#/components/schemas/TeamProjectReference'
        sourceBranch:
          type: string
          description: Source branch that was built
        sourceVersion:
          type: string
          description: Source commit SHA that was built
        reason:
          type: string
          description: Reason the build was created
          enum:
          - none
          - manual
          - individualCI
          - batchedCI
          - schedule
          - scheduleForced
          - userCreated
          - validateShelveset
          - checkInShelveset
          - pullRequest
          - buildCompletion
          - resourceTrigger
          - triggered
          - all
        priority:
          type: string
          description: Build queue priority
          enum:
          - low
          - belowNormal
          - normal
          - aboveNormal
          - high
        requestedBy:
          $ref: '#/components/schemas/IdentityRef'
        requestedFor:
          $ref: '#/components/schemas/IdentityRef'
        lastChangedBy:
          $ref: '#/components/schemas/IdentityRef'
        lastChangedDate:
          type: string
          format: date-time
          description: Timestamp of the last change to this build
        repository:
          $ref: '#/components/schemas/BuildRepository'
        parameters:
          type: string
          description: JSON string of build parameters
        tags:
          type: array
          description: Tags associated with this build
          items:
            type: string
        templateParameters:
          type: object
          description: Template expression parameters
          additionalProperties:
            type: string
        deleted:
          type: boolean
          description: Whether the build has been deleted
        retainedByRelease:
          type: boolean
          description: Whether the build is retained by a release
        url:
          type: string
          format: uri
          description: REST API URL of the build
        uri:
          type: string
          description: The URI of the build
        logs:
          type: object
          description: Reference to build logs
          properties:
            id:
              type: integer
              description: Log ID
            type:
              type: string
              description: Log location type
            url:
              type: string
              format: uri
              description: URL to the log resource
        _links:
          type: object
          description: HAL links for related resources
          additionalProperties:
            type: object
            properties:
              href:
                type: string
                format: uri
    BuildDefinitionReference:
      type: object
      description: Reference to a build definition containing its identification, folder path, queue status, and type.
      properties:
        id:
          type: integer
          description: Build definition ID
        name:
          type: string
          description: Build definition name
        path:
          type: string
          description: Folder path of the definition
        revision:
          type: integer
          description: Current revision number
        type:
          type: string
          description: Definition type
          enum:
          - xaml
          - build
        queueStatus:
          type: string
          description: Whether builds can be queued against this definition
          enum:
          - enabled
          - paused
          - disabled
        createdDate:
          type: string
          format: date-time
          description: Date the definition was created
        project:
          $ref: '#/components/schemas/TeamProjectReference'
        uri:
          type: string
          description: Definition URI
        url:
          type: string
          format: uri
          description: REST API URL for this definition
    BuildRepository:
      type: object
      description: Repository used by a build definition
      properties:
        id:
          type: string
          description: Repository ID
        name:
          type: string
          description: Repository name
        type:
          type: string
          description: Repository type
        url:
          type: string
          format: uri
          description: Repository URL
        defaultBranch:
          type: string
          description: Default branch name
        clean:
          type: string
          description: Clean option for the workspace
        checkoutSubmodules:
          type: boolean
          description: Whether to checkout submodules
    IdentityRef:
      type: object
      description: Reference to an Azure DevOps identity
      properties:
        id:
          type: string
          description: Identity GUID
        displayName:
          type: string
          description: Display name of the identity
        uniqueName:
          type: string
          description: Unique name (email) of the identity
        url:
          type: string
          format: uri
          description: URL to the identity resource
        imageUrl:
          type: string
          format: uri
          description: URL to the identity avatar image
    ApiError:
      type: object
      description: Error response from the Azure DevOps API
      properties:
        id:
          type: string
          format: uuid
          description: Unique error instance identifier
        message:
          type: string
          description: Human-readable error message
        typeName:
          type: string
          description: Full type name of the error
        typeKey:
          type: string
          description: Error type key
        errorCode:
          type: integer
          description: Numeric error code
        eventId:
          type: integer
          description: Event identifier for tracking
  parameters:
    ApiVersion:
      name: api-version
      in: query
      required: true
      description: Azure DevOps REST API version. Use 7.1 for the latest stable version.
      schema:
        type: string
        default: '7.1'
        enum:
        - '7.1'
        - '7.0'
        - '6.0'
    BuildId:
      name: buildId
      in: path
      required: true
      description: Numeric ID of the build
      schema:
        type: integer
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Azure AD OAuth 2.0 bearer token with vso.build scope
    basicAuth:
      type: http
      scheme: basic
      description: Basic authentication using a Personal Access Token (PAT)
externalDocs:
  description: Azure DevOps Build REST API Documentation
  url: https://learn.microsoft.com/en-us/rest/api/azure/devops/build/