Raygun Deployments API

Record release markers and correlate them with error groups. Supports SCM integration (GitHub, GitLab, Bitbucket, Azure DevOps), commit reprocessing, latest-deploy lookup, and the api-key shortcut variant for CI pipelines.

OpenAPI Specification

raygun-deployments-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Raygun applications deployments API
  version: '3.0'
  description: This is a visual representation of the Raygun API V3 specification.<br> To find out more details and how to get started, you can head over to the <a href='https://raygun.com/documentation/product-guides/public-api/' target='_blank'>documentation</a>.
  contact:
    name: Raygun Support
    email: support@raygun.com
servers:
- url: https://api.raygun.com/v3
  description: ''
security:
- personal_access_token: []
tags:
- name: deployments
paths:
  /applications/{application-identifier}/deployments:
    parameters:
    - $ref: '#/components/parameters/application-identifier'
    get:
      summary: List Deployments for an Application
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/deployment'
        '401':
          $ref: '#/components/responses/problem-details'
        '403':
          $ref: '#/components/responses/problem-details'
        '404':
          $ref: '#/components/responses/problem-details'
        '429':
          description: Too many requests
      operationId: list-deployments
      description: Returns a list of deployments for the specified application
      security:
      - personal_access_token:
        - deployments:read
      tags:
      - deployments
      parameters:
      - $ref: '#/components/parameters/count'
      - $ref: '#/components/parameters/offset'
      - in: query
        name: orderby
        description: Order items by property values
        explode: false
        schema:
          type: array
          uniqueItems: true
          items:
            type: string
            enum:
            - version
            - version desc
            - emailAddress
            - emailAddress desc
            - ownerName
            - ownerName desc
            - comment
            - comment desc
            - deployedAt
            - deployedAt desc
    post:
      summary: Create Deployment
      operationId: create-deployment
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deployment'
          headers:
            Location:
              schema:
                type: string
              description: The URI where you can find the newly created deployment
        '400':
          $ref: '#/components/responses/problem-details'
        '401':
          $ref: '#/components/responses/problem-details'
        '403':
          $ref: '#/components/responses/problem-details'
        '404':
          $ref: '#/components/responses/problem-details'
        '422':
          $ref: '#/components/responses/validation-problem-details'
        '429':
          description: Too Many Requests
      description: Create a deployment for the specified application
      security:
      - personal_access_token:
        - deployments:write
      requestBody:
        $ref: '#/components/requestBodies/create-deployment'
      tags:
      - deployments
  /applications/{application-identifier}/deployments/latest:
    parameters:
    - $ref: '#/components/parameters/application-identifier'
    get:
      summary: Get the Latest Deployment
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deployment'
        '401':
          $ref: '#/components/responses/problem-details'
        '403':
          $ref: '#/components/responses/problem-details'
        '404':
          $ref: '#/components/responses/problem-details'
        '429':
          description: Too many requests
      operationId: get-latest-deployment
      description: Returns the latest deployment
      security:
      - personal_access_token:
        - deployments:read
      tags:
      - deployments
  /applications/{application-identifier}/deployments/{deployment-identifier}:
    parameters:
    - $ref: '#/components/parameters/application-identifier'
    - $ref: '#/components/parameters/deployment-identifier'
    get:
      summary: Get Deployment by Identifier
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deployment'
        '401':
          $ref: '#/components/responses/problem-details'
        '403':
          $ref: '#/components/responses/problem-details'
        '404':
          $ref: '#/components/responses/problem-details'
        '429':
          description: Too many requests
      operationId: get-deployment
      description: Returns a single deployment by identifier
      security:
      - personal_access_token:
        - deployments:read
      tags:
      - deployments
    delete:
      summary: Delete Deployment
      operationId: delete-deployment
      responses:
        '204':
          description: No Content
        '401':
          $ref: '#/components/responses/problem-details'
        '403':
          $ref: '#/components/responses/problem-details'
        '404':
          $ref: '#/components/responses/problem-details'
        '429':
          description: Too many requests
      description: Delete a deployment
      security:
      - personal_access_token:
        - deployments:write
      tags:
      - deployments
    patch:
      summary: Update Deployment Details
      operationId: update-deployment
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deployment'
        '400':
          $ref: '#/components/responses/problem-details'
        '401':
          $ref: '#/components/responses/problem-details'
        '403':
          $ref: '#/components/responses/problem-details'
        '404':
          $ref: '#/components/responses/problem-details'
        '422':
          $ref: '#/components/responses/validation-problem-details'
        '429':
          description: Too Many Requests
      description: Update the details of a deployment
      security:
      - personal_access_token:
        - deployments:write
      requestBody:
        $ref: '#/components/requestBodies/update-deployment'
      tags:
      - deployments
  /applications/{application-identifier}/deployments/latest/error-groups:
    parameters:
    - $ref: '#/components/parameters/application-identifier'
    get:
      summary: List Error Groups From the Latest Deployment
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/error-group'
        '401':
          $ref: '#/components/responses/problem-details'
        '403':
          $ref: '#/components/responses/problem-details'
        '404':
          $ref: '#/components/responses/problem-details'
        '429':
          description: Too many requests
      operationId: list-error-groups-from-latest-deployment
      description: Returns a list of error groups from the latest deployment
      security:
      - personal_access_token:
        - cr.errors:read
      parameters:
      - $ref: '#/components/parameters/count'
      - $ref: '#/components/parameters/offset'
      - in: query
        name: filter
        description: Filter items by an expression. Currently supports filtering by the virtual property `state`, which can be `new`, `stillOccurring`, or `regressed`
        schema:
          type: string
          pattern: ^state eq (new|stillOccurring|regressed)$
        example: state eq regressed
      - in: query
        name: orderby
        description: Order items by property values
        explode: false
        schema:
          type: array
          uniqueItems: true
          items:
            type: string
            enum:
            - message
            - message desc
            - status
            - status desc
            - lastOccurredAt
            - lastOccurredAt desc
            - createdAt
            - createdAt desc
      tags:
      - deployments
  /applications/{application-identifier}/deployments/{deployment-identifier}/error-groups:
    parameters:
    - $ref: '#/components/parameters/application-identifier'
    - $ref: '#/components/parameters/deployment-identifier'
    get:
      summary: List Error Groups From a Deployment
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/error-group'
        '401':
          $ref: '#/components/responses/problem-details'
        '403':
          $ref: '#/components/responses/problem-details'
        '404':
          $ref: '#/components/responses/problem-details'
        '429':
          description: Too many requests
      operationId: list-error-groups-from-deployment
      description: Returns a list of error groups from the specified deployment
      security:
      - personal_access_token:
        - cr.errors:read
      parameters:
      - $ref: '#/components/parameters/count'
      - $ref: '#/components/parameters/offset'
      - in: query
        name: filter
        description: Filter items by an expression. Currently supports filtering by the virtual property `state`, which can be `new`, `stillOccurring`, or `regressed`
        schema:
          type: string
          pattern: ^state eq (new|stillOccurring|regressed)$
        example: state eq regressed
      - in: query
        name: orderby
        description: Order items by property values
        explode: false
        schema:
          type: array
          uniqueItems: true
          items:
            type: string
            enum:
            - message
            - message desc
            - status
            - status desc
            - lastOccurredAt
            - lastOccurredAt desc
            - createdAt
            - createdAt desc
      tags:
      - deployments
  /applications/api-key/{api-key}/deployments:
    parameters:
    - $ref: '#/components/parameters/api-key'
    post:
      summary: Create Deployment With Api Key
      operationId: create-deployment-api-key
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/deployment'
          headers:
            Location:
              schema:
                type: string
              description: The URI where you can find the newly created deployment
        '400':
          $ref: '#/components/responses/problem-details'
        '401':
          $ref: '#/components/responses/problem-details'
        '403':
          $ref: '#/components/responses/problem-details'
        '404':
          $ref: '#/components/responses/problem-details'
        '422':
          $ref: '#/components/responses/validation-problem-details'
        '429':
          description: Too Many Requests
      description: Create a deployment for an application with the specified api key
      security:
      - personal_access_token:
        - deployments:write
      requestBody:
        $ref: '#/components/requestBodies/create-deployment'
      tags:
      - deployments
  /applications/{application-identifier}/deployments/{deployment-identifier}/reprocess-commits:
    parameters:
    - $ref: '#/components/parameters/application-identifier'
    - $ref: '#/components/parameters/deployment-identifier'
    post:
      summary: Reprocess Deployment Commits
      operationId: reprocess-deployment-commits
      responses:
        '202':
          description: Accepted
        '401':
          $ref: '#/components/responses/problem-details'
        '403':
          $ref: '#/components/responses/problem-details'
        '404':
          $ref: '#/components/responses/problem-details'
        '409':
          $ref: '#/components/responses/problem-details'
        '429':
          description: Too Many Requests
      description: Reprocess commits for a deployment
      security:
      - personal_access_token:
        - deployments:write
      tags:
      - deployments
components:
  responses:
    validation-problem-details:
      description: Validation problem details
      content:
        application/json:
          schema:
            type: object
            properties:
              type:
                type: string
              title:
                type: string
              detail:
                type: string
              status:
                type: integer
              traceId:
                type: string
              errors:
                type: object
                additionalProperties:
                  type: array
                  items:
                    type: string
            required:
            - type
            - title
            - status
            - traceId
            - errors
      headers:
        X-Raygun-RequestId:
          schema:
            type: string
          description: The id associated with this request
    problem-details:
      description: Problem Details
      content:
        application/json:
          schema:
            type: object
            properties:
              type:
                type: string
              title:
                type: string
              detail:
                type: string
              status:
                type: integer
              traceId:
                type: string
            required:
            - type
            - title
            - status
            - traceId
      headers:
        X-Raygun-RequestId:
          schema:
            type: string
          description: The id associated with this request
  parameters:
    deployment-identifier:
      name: deployment-identifier
      in: path
      required: true
      schema:
        type: string
      description: Deployment identifier
    api-key:
      name: api-key
      in: path
      required: true
      schema:
        type: string
      description: Application api key
    count:
      name: count
      in: query
      required: false
      schema:
        type: integer
        minimum: 1
        default: 100
        maximum: 500
      description: Limits the number of items in the response
    offset:
      name: offset
      in: query
      schema:
        type: integer
        minimum: 0
        maximum: 2147483647
      description: Number of items to skip before returning results
    application-identifier:
      name: application-identifier
      in: path
      required: true
      schema:
        type: string
      description: Application identifier
  requestBodies:
    create-deployment:
      content:
        application/json:
          schema:
            type: object
            properties:
              version:
                type: string
                minLength: 1
                maxLength: 128
              ownerName:
                type: string
                minLength: 0
                maxLength: 128
              emailAddress:
                type: string
                minLength: 0
                maxLength: 128
                format: email
              comment:
                type: string
              scmIdentifier:
                type: string
                minLength: 0
                maxLength: 256
              scmType:
                type: string
                enum:
                - gitHub
                - gitLab
                - azureDevOps
                - bitbucket
              createdAt:
                type: string
                format: date-time
                description: 'Prefer `deployedAt`. This field is for backwards compatibility.


                  Specifying both `createdAt` and `deployedAt` will prioritize the use of `deployedAt`'
                deprecated: true
              deployedAt:
                type: string
                format: date-time
            required:
            - version
    update-deployment:
      content:
        application/json:
          schema:
            type: object
            properties:
              version:
                type: string
                minLength: 1
                maxLength: 128
              ownerName:
                type: string
                minLength: 0
                maxLength: 128
              emailAddress:
                type: string
                minLength: 0
                maxLength: 128
                format: email
              comment:
                type: string
              scmIdentifier:
                type: string
                minLength: 0
                maxLength: 256
              scmType:
                type: string
                enum:
                - gitHub
                - gitLab
                - azureDevOps
                - bitbucket
              deployedAt:
                type: string
                format: date-time
  schemas:
    deployment:
      type: object
      properties:
        identifier:
          type: string
        applicationIdentifier:
          type: string
        version:
          type: string
        emailAddress:
          type: string
          format: email
        ownerName:
          type: string
        comment:
          type: string
        scmIdentifier:
          type: string
        scmType:
          type: string
          enum:
          - gitHub
          - bitbucket
          - gitLab
          - azureDevOps
        deployedAt:
          type: string
          format: date-time
        applicationUrl:
          type: string
          format: uri
          readOnly: true
      required:
      - identifier
      - applicationIdentifier
      - version
    error-group:
      type: object
      properties:
        identifier:
          type: string
        applicationIdentifier:
          type: string
        message:
          type: string
        status:
          type: string
          enum:
          - active
          - resolved
          - ignored
          - permanentlyIgnored
        lastOccurredAt:
          type: string
        createdAt:
          type: string
          format: date-time
        resolvedIn:
          type: object
          properties:
            version:
              type: string
            discardFromPreviousVersions:
              type: boolean
        discardNewOccurrences:
          type: boolean
          description: True if the error is permanently ignored and has been set to discard any new occurrences.
        applicationUrl:
          type: string
          format: uri
          description: URL to view the error group in Raygun.
      required:
      - identifier
      - applicationIdentifier
      - message
      - status
      - lastOccurredAt
      - createdAt
  securitySchemes:
    personal_access_token:
      type: http
      scheme: bearer
      description: 'Personal Access Token authorization using the Bearer scheme. Example: `Authorization: Bearer {token}`'