Datadog Pipelines API

The Pipelines API from Datadog — 8 operation(s) for pipelines.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

datadog-pipelines-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  contact:
    email: support@datadoghq.com
    name: Datadog Support
    url: https://www.datadoghq.com/support/
  description: The Datadog API is an HTTP REST API. The API uses resource-oriented URLs to call the API, uses status codes to indicate the success or failure of requests, returns JSON from all requests, and uses standard HTTP response codes. Use the Datadog API to access the Datadog platform programmatically.
  title: Datadog Account Pipelines API
  version: '1.0'
servers:
- url: https://{subdomain}.{site}
  variables:
    site:
      default: datadoghq.com
      description: The regional site for Datadog customers.
      enum:
      - datadoghq.com
      - us3.datadoghq.com
      - us5.datadoghq.com
      - ap1.datadoghq.com
      - datadoghq.eu
      - ddog-gov.com
    subdomain:
      default: api
      description: The subdomain where the API is deployed.
- url: '{protocol}://{name}'
  variables:
    name:
      default: api.datadoghq.com
      description: Full site DNS name.
    protocol:
      default: https
      description: The protocol for accessing the API.
- url: https://{subdomain}.{site}
  variables:
    site:
      default: datadoghq.com
      description: Any Datadog deployment.
    subdomain:
      default: api
      description: The subdomain where the API is deployed.
security:
- apiKeyAuth: []
  appKeyAuth: []
tags:
- name: Pipelines
paths:
  /api/v2/ci/pipeline:
    post:
      description: 'Send your pipeline event to your Datadog platform over HTTP. For details about how pipeline executions are modeled and what execution types we support, see [Pipeline Data Model And Execution Types](https://docs.datadoghq.com/continuous_integration/guides/pipeline_data_model/).


        Pipeline events can be submitted with a timestamp that is up to 18 hours in the past.'
      operationId: CreateCIAppPipelineEvent
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CIAppCreatePipelineEventRequest'
        required: true
      responses:
        '202':
          content:
            application/json:
              schema:
                type: object
          description: Request accepted for processing
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPCIAppErrors'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPCIAppErrors'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPCIAppErrors'
          description: Forbidden
        '408':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPCIAppErrors'
          description: Request Timeout
        '413':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPCIAppErrors'
          description: Payload Too Large
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPCIAppErrors'
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPCIAppErrors'
          description: Internal Server Error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPCIAppErrors'
          description: Service Unavailable
      security:
      - apiKeyAuth: []
      summary: Datadog Send Pipeline Event
      tags:
      - Pipelines
      x-codegen-request-body-name: body
      x-menu-order: 1
      x-undo:
        type: idempotent
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/ci/pipelines/analytics/aggregate:
    post:
      description: Use this API endpoint to aggregate CI Visibility pipeline events into buckets of computed metrics and timeseries.
      operationId: AggregateCIAppPipelineEvents
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CIAppPipelinesAggregateRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CIAppPipelinesAnalyticsAggregateResponse'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '403':
          $ref: '#/components/responses/NotAuthorizedResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - ci_visibility_read
      summary: Datadog Aggregate Pipelines Events
      tags:
      - Pipelines
      x-codegen-request-body-name: body
      x-menu-order: 4
      x-permission:
        operator: OR
        permissions:
        - ci_visibility_read
      x-undo:
        type: safe
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/ci/pipelines/events:
    get:
      description: 'List endpoint returns CI Visibility pipeline events that match a [search query](https://docs.datadoghq.com/continuous_integration/explorer/search_syntax/).

        [Results are paginated similarly to logs](https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination).


        Use this endpoint to see your latest pipeline events.'
      operationId: ListCIAppPipelineEvents
      parameters:
      - description: Search query following log syntax.
        example: '@ci.provider.name:github @ci.pipeline.name:Pull Request Labeler'
        in: query
        name: filter[query]
        required: false
        schema:
          type: string
      - description: Minimum timestamp for requested events.
        example: '2019-01-02T09:42:36.320Z'
        in: query
        name: filter[from]
        required: false
        schema:
          format: date-time
          type: string
      - description: Maximum timestamp for requested events.
        example: '2019-01-03T09:42:36.320Z'
        in: query
        name: filter[to]
        required: false
        schema:
          format: date-time
          type: string
      - description: Order of events in results.
        in: query
        name: sort
        required: false
        schema:
          $ref: '#/components/schemas/CIAppSort'
        example: example_value
      - description: List following results with a cursor provided in the previous query.
        example: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ==
        in: query
        name: page[cursor]
        required: false
        schema:
          type: string
      - description: Maximum number of events in the response.
        example: 25
        in: query
        name: page[limit]
        required: false
        schema:
          default: 10
          format: int32
          maximum: 1000
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CIAppPipelineEventsResponse'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '403':
          $ref: '#/components/responses/NotAuthorizedResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - ci_visibility_read
      summary: Datadog Get a List of Pipelines Events
      tags:
      - Pipelines
      x-menu-order: 2
      x-pagination:
        cursorParam: page[cursor]
        cursorPath: meta.page.after
        limitParam: page[limit]
        resultsPath: data
      x-permission:
        operator: OR
        permissions:
        - ci_visibility_read
      x-undo:
        type: safe
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/ci/pipelines/events/search:
    post:
      description: 'List endpoint returns CI Visibility pipeline events that match a [search query](https://docs.datadoghq.com/continuous_integration/explorer/search_syntax/).

        [Results are paginated similarly to logs](https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination).


        Use this endpoint to build complex events filtering and search.'
      operationId: SearchCIAppPipelineEvents
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CIAppPipelineEventsRequest'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CIAppPipelineEventsResponse'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '403':
          $ref: '#/components/responses/NotAuthorizedResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - ci_visibility_read
      summary: Datadog Search Pipelines Events
      tags:
      - Pipelines
      x-codegen-request-body-name: body
      x-menu-order: 3
      x-pagination:
        cursorParam: body.page.cursor
        cursorPath: meta.page.after
        limitParam: body.page.limit
        resultsPath: data
      x-permission:
        operator: OR
        permissions:
        - ci_visibility_read
      x-undo:
        type: safe
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/remote_config/products/obs_pipelines/pipelines:
    get:
      description: Retrieve a list of pipelines.
      operationId: ListPipelines
      parameters:
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/PageNumber'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPipelinesResponse'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '403':
          $ref: '#/components/responses/NotAuthorizedResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog List Pipelines
      tags:
      - Pipelines
      x-menu-order: 0
      x-permission:
        operator: OR
        permissions:
        - observability_pipelines_read
      x-undo:
        type: safe
      x-unstable: '**Note**: This endpoint is in Preview.'
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      description: Create a new pipeline.
      operationId: CreatePipeline
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObservabilityPipelineSpec'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObservabilityPipeline'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '403':
          $ref: '#/components/responses/NotAuthorizedResponse'
        '409':
          $ref: '#/components/responses/ConflictResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog Create a New Pipeline
      tags:
      - Pipelines
      x-given:
        pipeline:
          parameters:
          - name: body
            value: "{\n   \"data\":{\n      \"attributes\":{\n         \"config\":{\n            \"destinations\":[\n               {\n                  \"id\":\"datadog-logs-destination\",\n                  \"inputs\":[\n                     \"filter-processor\"\n                  ],\n                  \"type\":\"datadog_logs\"\n               }\n            ],\n            \"processors\":[\n               {\n                  \"id\":\"filter-processor\",\n                  \"include\":\"service:my-service\",\n                  \"inputs\":[\n                     \"datadog-agent-source\"\n                  ],\n                  \"type\":\"filter\"\n               }\n            ],\n            \"sources\":[\n               {\n                  \"id\":\"datadog-agent-source\",\n                  \"type\":\"datadog_agent\"\n               }\n            ]\n         },\n         \"name\":\"Main Observability Pipeline\"\n      },\n      \"type\":\"pipelines\"\n   }\n}"
          step: there is a valid "pipeline" in the system
      x-menu-order: 1
      x-permission:
        operator: OR
        permissions:
        - observability_pipelines_deploy
      x-undo:
        operationId: DeletePipeline
        parameters:
        - name: pipeline_id
          source: data.id
        type: unsafe
      x-unstable: '**Note**: This endpoint is in Preview.'
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/remote_config/products/obs_pipelines/pipelines/validate:
    post:
      description: 'Validates a pipeline configuration without creating or updating any resources.

        Returns a list of validation errors, if any.

        '
      operationId: ValidatePipeline
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObservabilityPipelineSpec'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '403':
          $ref: '#/components/responses/NotAuthorizedResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog Validate an Observability Pipeline
      tags:
      - Pipelines
      x-menu-order: 5
      x-permission:
        operator: OR
        permissions:
        - observability_pipelines_read
      x-undo:
        type: safe
      x-unstable: '**Note**: This endpoint is in Preview.'
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/remote_config/products/obs_pipelines/pipelines/{pipeline_id}:
    delete:
      description: Delete a pipeline.
      operationId: DeletePipeline
      parameters:
      - description: The ID of the pipeline to delete.
        in: path
        name: pipeline_id
        required: true
        schema:
          type: string
        example: abc-123-def
      responses:
        '204':
          description: OK
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Not Found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Conflict
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog Delete a Pipeline
      tags:
      - Pipelines
      x-menu-order: 4
      x-permission:
        operator: OR
        permissions:
        - observability_pipelines_delete
      x-undo:
        type: idempotent
      x-unstable: '**Note**: This endpoint is in Preview.'
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    get:
      description: Get a specific pipeline by its ID.
      operationId: GetPipeline
      parameters:
      - description: The ID of the pipeline to retrieve.
        in: path
        name: pipeline_id
        required: true
        schema:
          type: string
        example: abc-123-def
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObservabilityPipeline'
          description: OK
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Forbidden
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog Get a Specific Pipeline
      tags:
      - Pipelines
      x-menu-order: 2
      x-permission:
        operator: OR
        permissions:
        - observability_pipelines_read
      x-undo:
        type: safe
      x-unstable: '**Note**: This endpoint is in Preview.'
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      description: Update a pipeline.
      operationId: UpdatePipeline
      parameters:
      - description: The ID of the pipeline to update.
        in: path
        name: pipeline_id
        required: true
        schema:
          type: string
        example: abc-123-def
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObservabilityPipeline'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObservabilityPipeline'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '403':
          $ref: '#/components/responses/NotAuthorizedResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '409':
          $ref: '#/components/responses/ConflictResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      summary: Datadog Update a Pipeline
      tags:
      - Pipelines
      x-menu-order: 3
      x-permission:
        operator: OR
        permissions:
        - observability_pipelines_deploy
      x-undo:
        type: idempotent
      x-unstable: '**Note**: This endpoint is in Preview.'
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/usage/observability_pipelines:
    get:
      deprecated: true
      description: 'Get hourly usage for observability pipelines.

        **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family)'
      operationId: GetUsageObservabilityPipelines
      parameters:
      - description: 'Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.'
        in: query
        name: start_hr
        required: true
        schema:
          format: date-time
          type: string
        example: example_value
      - description: 'Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending

          **before** this hour.'
        in: query
        name: end_hr
        required: false
        schema:
          format: date-time
          type: string
        example: example_value
      responses:
        '200':
          content:
            application/json;datetime-format=rfc3339:
              schema:
                $ref: '#/components/schemas/UsageObservabilityPipelinesResponse'
          description: OK
        '400':
          content:
            application/json;datetime-format=rfc3339:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Bad Request
        '403':
          content:
            application/json;datetime-format=rfc3339:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Forbidden - User is not authorized
        '429':
          content:
            application/json;datetime-format=rfc3339:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Too many requests
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - usage_read
      summary: Datadog Get Hourly Usage for Observability Pipelines
      tags:
      - Pipelines
      x-menu-order: 39
      x-permission:
        operator: OR
        permissions:
        - usage_read
      x-undo:
        type: safe
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    CIAppGroupByTotal:
      default: false
      description: A resulting object to put the given computes in over all the matching records.
      oneOf:
      - $ref: '#/components/schemas/CIAppGroupByTotalBoolean'
      - $ref: '#/components/schemas/CIAppGroupByTotalString'
      - $ref: '#/components/schemas/CIAppGroupByTotalNumber'
    ObservabilityPipelineAmazonOpenSearchDestinationType:
      default: amazon_opensearch
      description: The destination type. The value should always be `amazon_opensearch`.
      enum:
      - amazon_opensearch
      example: amazon_opensearch
      type: string
      x-enum-varnames:
      - AMAZON_OPENSEARCH
    ObservabilityPipelineNewRelicDestination:
      description: The `new_relic` destination sends logs to the New Relic platform.
      properties:
        id:
          description: The unique identifier for this component.
          example: new-relic-destination
          type: string
        inputs:
          description: A list of component IDs whose output is used as the `input` for this component.
          example:
          - parse-json-processor
          items:
            type: string
          type: array
        region:
          $ref: '#/components/schemas/ObservabilityPipelineNewRelicDestinationRegion'
        type:
          $ref: '#/components/schemas/ObservabilityPipelineNewRelicDestinationType'
      required:
      - id
      - type
      - inputs
      - region
      type: object
    ObservabilityPipelineHttpServerSourceAuthStrategy:
      description: HTTP authentication method.
      enum:
      - none
      - plain
      example: plain
      type: string
      x-enum-varnames:
      - NONE
      - PLAIN
    CIAppPipelineEventPipelineInProgressStatus:
      description: The in progress status of the pipeline.
      enum:
      - running
      example: running
      type: string
      x-enum-varnames:
      - RUNNING
    ObservabilityPipelineRemoveFieldsProcessorType:
      default: remove_fields
      description: The processor type. The value should always be `remove_fields`.
      enum:
      - remove_fields
      example: remove_fields
      type: string
      x-enum-varnames:
      - REMOVE_FIELDS
    ObservabilityPipelineSensitiveDataScannerProcessorCustomPattern:
      description: Defines a custom regex-based pattern for identifying sensitive data in logs.
      properties:
        options:
          $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorCustomPatternOptions'
        type:
          $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorCustomPatternType'
      required:
      - type
      - options
      type: object
    ObservabilityPipelineRsyslogSource:
      description: The `rsyslog` source listens for logs over TCP or UDP from an `rsyslog` server using the syslog protocol.
      properties:
        id:
          description: The unique identifier for this component. Used to reference this component in other parts of the pipeline (e.g., as input to downstream components).
          example: rsyslog-source
          type: string
        mode:
          $ref: '#/components/schemas/ObservabilityPipelineSyslogSourceMode'
        tls:
          $ref: '#/components/schemas/ObservabilityPipelineTls'
        type:
          $ref: '#/components/schemas/ObservabilityPipelineRsyslogSourceType'
      required:
      - id
      - type
      - mode
      type: object
    ObservabilityPipelineFluentdSource:
      description: The `fluentd` source ingests logs from a Fluentd-compatible service.
      properties:
        id:
          description: The unique identifier for this component. Used to reference this component in other parts of the pipeline (for example, as the `input` to downstream components).
          example: fluent-source
          type: string
        tls:
          $ref: '#/components/schemas/ObservabilityPipelineTls'
        type:
          $ref: '#/components/schemas/ObservabilityPipelineFluentdSourceType'
      required:
      - id
      - type
      type: object
    CIAppComputeType:
      default: total
      description: The type of compute.
      enum:
      - timeseries
      - total
      type: string
      x-enum-varnames:
      - TIMESERIES
      - TOTAL
    ObservabilityPipelineSplunkHecDestinationEncoding:
      description: Encoding format for log events.
      enum:
      - json
      - raw_message
      example: json
      type: string
      x-enum-varnames:
      - JSON
      - RAW_MESSAGE
    CIAppPipelinesAggregationBucketsResponse:
      description: The query results.
      properties:
        buckets:
          description: The list of matching buckets, one item per bucket.
          items:
            $ref: '#/components/schemas/CIAppPipelinesBucketResponse'
          type: array
      type: object
    ObservabilityPipelineFluentBitSource:
      description: The `fluent_bit` source ingests logs from Fluent Bit.
      properties:
        id:
          description: The unique identifier for this component. Used to reference this component in other parts of the pipeline (for example, as the `input` to downstream components).
          example: fluent-source
          type: string
        tls:
          $ref: '#/components/schemas/ObservabilityPipelineTls'
        type:
          $ref: '#/components/schemas/ObservabilityPipelineFluentBitSourceType'
      required:
      - id
      - type
      type: object
    ObservabilityPipelineRenameFieldsProcessorType:
      default: rename_fields
      description: The processor type. The value should always be `rename_fields`.
      enum:
      - rename_fields
      example: rename_fields
      type: string
      x-enum-varnames:
      - RENAME_FIELDS
    ObservabilityPipelineLogstashSourceType:
      default: logstash
      description: The source type. The value should always be `logstash`.
      enum:
      - logstash
      example: logstash
      type: string
      x-enum-varnames:
      - LOGSTASH
    CIAppPipelineEventParameters:
      additionalProperties:
        type: string
      description: A map of key-value parameters or environment variables that were defined for the pipeline.
      example:
        LOG_LEVEL: debug
      nullable: true
      type: object
    CIAppPipelineEventPipelineStatus:
      description: The final status of the pipeline.
      enum:
      - success
      - error
      - canceled
      - skipped
      - blocked
      example: success
      type: string
      x-enum-varnames:
      - SUCCESS
      - ERROR
      - CANCELED
      - SKIPPED
      - BLOCKED
    CIAppPipelineEventStageStatus:
      description: The final status of the stage.
      enum:
      - success
      - error
      - canceled
      - skipped
      example: success
      type: string
      x-enum-varnames:
      - SUCCESS
      - ERROR
      - CANCELED
      - SKIPPED
    ObservabilityPipelineSumoLogicSource:
      description: The `sumo_logic` source receives logs from Sumo Logic collectors.
      properties:
        id:
          description: The unique identifier for this component. Used to reference this component in other parts of the pipeline (e.g., as input to downstream components).
          example: sumo-logic-source
          type: string
        type:
          $ref: '#/components/schemas/ObservabilityPipelineSumoLogicSourceType'
      required:
      - id
      - type
      type: object
    CIAppPipelineEventTags:
      description: A list of user-defined tags. The tags must follow the `key:value` pattern.
      example:
      - team:backend
      - type:deployment
      items:
        description: Tags in the form of `key:value`.
        type: string
      nullable: true
      type: array
    ObservabilityPipelineGeneratedMetric:
      description: 'Defines a log-based custom metric, including its name, type, filter, value computation strategy,

        and optional grouping fields.

        '
      properties:
        group_by:
          description: Optional fields used to group the metric series.
          example:
          - service
          - env
          items:
            type: string
          type: array
        include:
          description: Datadog filter query to match logs for metric generation.
          example: service:billing
          type: string
        metric_type:
          $ref: '#/components/schemas/ObservabilityPipelineGeneratedMetricMetricType'
        name:
          description: Name of the custom metric to be created.
          example: logs.processed
          type: string
        value:
          $ref: '#/components/schemas/ObservabilityPipelineMetricValue'
      required:
      - name
      - include
      - metric_type
      - value
      type: object
    UsageTimeSeriesObject:
      description: Usage timeseries data.
      properties:
        timestamp:
          description: Datetime in ISO-8601 format, UTC. The hour for the usage.
          format: date-time
          type: string
          example: '2026-04-17T12:00:00Z'
        value:
          description: Contains the number measured for the given usage_type during the hour.
          format: int64
          nullable: true
          type: integer
          example: 42
      type: object
    ObservabilityPipelineHttpClientSourceAuthStrategy:
      description: Optional authentication strategy for HTTP requests.
      enum:
      - basic
      - bearer
      example: basic
      type: string
      x-enum-varnames:
      - BASIC
      - BEARER
    CIAppGroupByMissing:
      description: The value to use for logs that don't have the facet used to group-by.
      oneOf:
      - $ref: '#/components/schemas/CIAppGroupByMissingString'
      - $ref: '#/components/schemas/CIAppGroupByMissingNumber'
    CIAppPipelineEventMetrics:
      description: A list of user-defined metrics. The metrics must follow the `key:value` pattern and the value must be numeric.
      example:
      - bundle_size:370
      - build_time:50021
      items:
        description: Metrics in the form of `key:value`. The value needs to be numeric.
        type: string
      nullable: true
      type: array
    CIAppCompute:
      description: A compute rule to compute metrics or timeseries.
      properties:
        aggregation:
          $ref: '#/components/schemas/CIAppAggregationFunction'
        interval:
          description: 'The time buckets'' size (only used for type=timeseries)

            Defaults to a resolution of 150 points.'
          example: 5m
          type: string
        metric:
          description: The metric to use.
          example: '@duration'
          type: string

# --- truncated at 32 KB (182 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/datadog/refs/heads/main/openapi/datadog-pipelines-api-openapi.yml