---
title: Send pipeline event
description: Send your pipeline event to your Datadog platform over HTTP.
breadcrumbs: Docs > API > Send pipeline event
---

> For the complete documentation index, see [llms.txt](https://dnd37xeb23o8n.cloudfront.net/jen.gilbert/astro-base/llms.txt).

# Send pipeline event

## v2 (latest)

| Datadog site      | API endpoint                                          |
| ----------------- | ----------------------------------------------------- |
| app.datadoghq.com | POST https://api.datadoghq.com/api/v2/ci/pipeline     |
| us3.datadoghq.com | POST https://api.us3.datadoghq.com/api/v2/ci/pipeline |
| us5.datadoghq.com | POST https://api.us5.datadoghq.com/api/v2/ci/pipeline |
| app.datadoghq.eu  | POST https://api.datadoghq.eu/api/v2/ci/pipeline      |
| ap1.datadoghq.com | POST https://api.ap1.datadoghq.com/api/v2/ci/pipeline |
| ap2.datadoghq.com | POST https://api.ap2.datadoghq.com/api/v2/ci/pipeline |
| uk1.datadoghq.com | POST https://api.uk1.datadoghq.com/api/v2/ci/pipeline |
| app.ddog-gov.com  | POST https://api.ddog-gov.com/api/v2/ci/pipeline      |
| us2.ddog-gov.com  | POST https://api.us2.ddog-gov.com/api/v2/ci/pipeline  |

### Overview

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.md).

Multiple events can be sent in an array (up to 1000).

Pipeline events can be submitted with a timestamp that is up to 18 hours in the past.
The duration between the event start and end times cannot exceed 1 year.

### Request

#### Body Data (required)

{% tabs %}
{% tab label="Model" %}
| Parent field                       | Field                              | Type      | Description                                                                                                                                                                                             |
| ---------------------------------- | ---------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|                                    | data                               | <oneOf>   | Data of the pipeline events to create.                                                                                                                                                                  |
| data                               | <type=cipipeline_resource_request> | object    | Data of the pipeline event to create.                                                                                                                                                                   |
| <type=cipipeline_resource_request> | attributes                         | object    | Attributes of the pipeline event to create.                                                                                                                                                             |
| attributes                         | env                                | string    | The Datadog environment.                                                                                                                                                                                |
| attributes                         | provider_name                      | string    | The name of the CI provider. By default, this is "custom".                                                                                                                                              |
| attributes                         | resource [*required*]              | <oneOf>   | Details of the CI pipeline event.                                                                                                                                                                       |
| resource                           | Object 1                           | <oneOf>   | Details of the top level pipeline, build, or workflow of your CI.                                                                                                                                       |
| Object 1                           | Object 1                           | object    | Details of a finished pipeline.                                                                                                                                                                         |
| Object 1                           | end [*required*]                   | date-time | Time when the pipeline run finished. It cannot be older than 18 hours in the past from the current time. The time format must be RFC3339.                                                               |
| Object 1                           | error                              | object    | Contains information of the CI error.                                                                                                                                                                   |
| error                              | domain                             | enum      | Error category used to differentiate between issues related to the developer or provider environments. Allowed enum values: `provider`, `user`, `unknown`.                                              |
| error                              | message                            | string    | Error message.                                                                                                                                                                                          |
| error                              | stack                              | string    | The stack trace of the reported errors.                                                                                                                                                                 |
| error                              | type                               | string    | Short description of the error type.                                                                                                                                                                    |
| Object 1                           | git                                | object    | If pipelines are triggered due to actions to a Git repository, then all payloads must contain this. Note that either `tag` or `branch` has to be provided, but not both.                                |
| git                                | author_email [*required*]          | string    | The commit author email.                                                                                                                                                                                |
| git                                | author_name                        | string    | The commit author name.                                                                                                                                                                                 |
| git                                | author_time                        | string    | The commit author timestamp in RFC3339 format.                                                                                                                                                          |
| git                                | branch                             | string    | The branch name (if a tag use the tag parameter).                                                                                                                                                       |
| git                                | commit_time                        | string    | The commit timestamp in RFC3339 format.                                                                                                                                                                 |
| git                                | committer_email                    | string    | The committer email.                                                                                                                                                                                    |
| git                                | committer_name                     | string    | The committer name.                                                                                                                                                                                     |
| git                                | default_branch                     | string    | The Git repository's default branch.                                                                                                                                                                    |
| git                                | message                            | string    | The commit message.                                                                                                                                                                                     |
| git                                | repository_url [*required*]        | string    | The URL of the repository.                                                                                                                                                                              |
| git                                | sha [*required*]                   | string    | The git commit SHA.                                                                                                                                                                                     |
| git                                | tag                                | string    | The tag name (if a branch use the branch parameter).                                                                                                                                                    |
| Object 1                           | is_manual                          | boolean   | Whether or not the pipeline was triggered manually by the user.                                                                                                                                         |
| Object 1                           | is_resumed                         | boolean   | Whether or not the pipeline was resumed after being blocked.                                                                                                                                            |
| Object 1                           | level [*required*]                 | enum      | Used to distinguish between pipelines, stages, jobs, and steps. Allowed enum values: `pipeline`. Default: `pipeline`.                                                                                   |
| Object 1                           | metrics                            | [string]  | A list of user-defined metrics. The metrics must follow the `key:value` pattern and the value must be numeric.                                                                                          |
| Object 1                           | name [*required*]                  | string    | Name of the pipeline. All pipeline runs for the builds should have the same name.                                                                                                                       |
| Object 1                           | node                               | object    | Contains information of the host running the pipeline, stage, job, or step.                                                                                                                             |
| node                               | hostname                           | string    | FQDN of the host.                                                                                                                                                                                       |
| node                               | labels                             | [string]  | A list of labels used to select or identify the node.                                                                                                                                                   |
| node                               | name                               | string    | Name for the host.                                                                                                                                                                                      |
| node                               | workspace                          | string    | The path where the code is checked out.                                                                                                                                                                 |
| Object 1                           | parameters                         | object    | A map of key-value parameters or environment variables that were defined for the pipeline.                                                                                                              |
| additionalProperties               | <any-key>                          | string    |                                                                                                                                                                                                         |
| Object 1                           | parent_pipeline                    | object    | If the pipeline is triggered as child of another pipeline, this should contain the details of the parent pipeline.                                                                                      |
| parent_pipeline                    | id [*required*]                    | string    | UUID of a pipeline.                                                                                                                                                                                     |
| parent_pipeline                    | url                                | string    | The URL to look at the pipeline in the CI provider UI.                                                                                                                                                  |
| Object 1                           | partial_retry [*required*]         | boolean   | Whether or not the pipeline was a partial retry of a previous attempt. A partial retry is one which only runs a subset of the original jobs.                                                            |
| Object 1                           | pipeline_id                        | string    | Any ID used in the provider to identify the pipeline run even if it is not unique across retries. If the `pipeline_id` is unique, then both `unique_id` and `pipeline_id` can be set to the same value. |
| Object 1                           | previous_attempt                   | object    | If the pipeline is a retry, this should contain the details of the previous attempt.                                                                                                                    |
| previous_attempt                   | id [*required*]                    | string    | UUID of a pipeline.                                                                                                                                                                                     |
| previous_attempt                   | url                                | string    | The URL to look at the pipeline in the CI provider UI.                                                                                                                                                  |
| Object 1                           | queue_time                         | int64     | The queue time in milliseconds, if applicable.                                                                                                                                                          |
| Object 1                           | start [*required*]                 | date-time | Time when the pipeline run started (it should not include any queue time). The time format must be RFC3339.                                                                                             |
| Object 1                           | status [*required*]                | enum      | The final status of the pipeline. Allowed enum values: `success`, `error`, `canceled`, `skipped`, `blocked`.                                                                                            |
| Object 1                           | tags                               | [string]  | A list of user-defined tags. The tags must follow the `key:value` pattern.                                                                                                                              |
| Object 1                           | unique_id [*required*]             | string    | UUID of the pipeline run. The ID has to be unique across retries and pipelines, including partial retries.                                                                                              |
| Object 1                           | url [*required*]                   | string    | The URL to look at the pipeline in the CI provider UI.                                                                                                                                                  |
| Object 1                           | <status=running>                   | object    | Details of a running pipeline.                                                                                                                                                                          |
| <status=running>                   | error                              | object    | Contains information of the CI error.                                                                                                                                                                   |
| error                              | domain                             | enum      | Error category used to differentiate between issues related to the developer or provider environments. Allowed enum values: `provider`, `user`, `unknown`.                                              |
| error                              | message                            | string    | Error message.                                                                                                                                                                                          |
| error                              | stack                              | string    | The stack trace of the reported errors.                                                                                                                                                                 |
| error                              | type                               | string    | Short description of the error type.                                                                                                                                                                    |
| <status=running>                   | git                                | object    | If pipelines are triggered due to actions to a Git repository, then all payloads must contain this. Note that either `tag` or `branch` has to be provided, but not both.                                |
| git                                | author_email [*required*]          | string    | The commit author email.                                                                                                                                                                                |
| git                                | author_name                        | string    | The commit author name.                                                                                                                                                                                 |
| git                                | author_time                        | string    | The commit author timestamp in RFC3339 format.                                                                                                                                                          |
| git                                | branch                             | string    | The branch name (if a tag use the tag parameter).                                                                                                                                                       |
| git                                | commit_time                        | string    | The commit timestamp in RFC3339 format.                                                                                                                                                                 |
| git                                | committer_email                    | string    | The committer email.                                                                                                                                                                                    |
| git                                | committer_name                     | string    | The committer name.                                                                                                                                                                                     |
| git                                | default_branch                     | string    | The Git repository's default branch.                                                                                                                                                                    |
| git                                | message                            | string    | The commit message.                                                                                                                                                                                     |
| git                                | repository_url [*required*]        | string    | The URL of the repository.                                                                                                                                                                              |
| git                                | sha [*required*]                   | string    | The git commit SHA.                                                                                                                                                                                     |
| git                                | tag                                | string    | The tag name (if a branch use the branch parameter).                                                                                                                                                    |
| <status=running>                   | is_manual                          | boolean   | Whether or not the pipeline was triggered manually by the user.                                                                                                                                         |
| <status=running>                   | is_resumed                         | boolean   | Whether or not the pipeline was resumed after being blocked.                                                                                                                                            |
| <status=running>                   | level [*required*]                 | enum      | Used to distinguish between pipelines, stages, jobs, and steps. Allowed enum values: `pipeline`. Default: `pipeline`.                                                                                   |
| <status=running>                   | metrics                            | [string]  | A list of user-defined metrics. The metrics must follow the `key:value` pattern and the value must be numeric.                                                                                          |
| <status=running>                   | name [*required*]                  | string    | Name of the pipeline. All pipeline runs for the builds should have the same name.                                                                                                                       |
| <status=running>                   | node                               | object    | Contains information of the host running the pipeline, stage, job, or step.                                                                                                                             |
| node                               | hostname                           | string    | FQDN of the host.                                                                                                                                                                                       |
| node                               | labels                             | [string]  | A list of labels used to select or identify the node.                                                                                                                                                   |
| node                               | name                               | string    | Name for the host.                                                                                                                                                                                      |
| node                               | workspace                          | string    | The path where the code is checked out.                                                                                                                                                                 |
| <status=running>                   | parameters                         | object    | A map of key-value parameters or environment variables that were defined for the pipeline.                                                                                                              |
| additionalProperties               | <any-key>                          | string    |                                                                                                                                                                                                         |
| <status=running>                   | parent_pipeline                    | object    | If the pipeline is triggered as child of another pipeline, this should contain the details of the parent pipeline.                                                                                      |
| parent_pipeline                    | id [*required*]                    | string    | UUID of a pipeline.                                                                                                                                                                                     |
| parent_pipeline                    | url                                | string    | The URL to look at the pipeline in the CI provider UI.                                                                                                                                                  |
| <status=running>                   | partial_retry [*required*]         | boolean   | Whether or not the pipeline was a partial retry of a previous attempt. A partial retry is one which only runs a subset of the original jobs.                                                            |
| <status=running>                   | pipeline_id                        | string    | Any ID used in the provider to identify the pipeline run even if it is not unique across retries. If the `pipeline_id` is unique, then both `unique_id` and `pipeline_id` can be set to the same value. |
| <status=running>                   | previous_attempt                   | object    | If the pipeline is a retry, this should contain the details of the previous attempt.                                                                                                                    |
| previous_attempt                   | id [*required*]                    | string    | UUID of a pipeline.                                                                                                                                                                                     |
| previous_attempt                   | url                                | string    | The URL to look at the pipeline in the CI provider UI.                                                                                                                                                  |
| <status=running>                   | queue_time                         | int64     | The queue time in milliseconds, if applicable.                                                                                                                                                          |
| <status=running>                   | start [*required*]                 | date-time | Time when the pipeline run started (it should not include any queue time). The time format must be RFC3339.                                                                                             |
| <status=running>                   | status [*required*]                | enum      | The in progress status of the pipeline. Allowed enum values: `running`.                                                                                                                                 |
| <status=running>                   | tags                               | [string]  | A list of user-defined tags. The tags must follow the `key:value` pattern.                                                                                                                              |
| <status=running>                   | unique_id [*required*]             | string    | UUID of the pipeline run. The ID has to be the same as the finished pipeline.                                                                                                                           |
| <status=running>                   | url [*required*]                   | string    | The URL to look at the pipeline in the CI provider UI.                                                                                                                                                  |
| resource                           | Object 2                           | object    | Details of a CI stage.                                                                                                                                                                                  |
| Object 2                           | dependencies                       | [string]  | A list of stage IDs that this stage depends on.                                                                                                                                                         |
| Object 2                           | end [*required*]                   | date-time | Time when the stage run finished. The time format must be RFC3339.                                                                                                                                      |
| Object 2                           | error                              | object    | Contains information of the CI error.                                                                                                                                                                   |
| error                              | domain                             | enum      | Error category used to differentiate between issues related to the developer or provider environments. Allowed enum values: `provider`, `user`, `unknown`.                                              |
| error                              | message                            | string    | Error message.                                                                                                                                                                                          |
| error                              | stack                              | string    | The stack trace of the reported errors.                                                                                                                                                                 |
| error                              | type                               | string    | Short description of the error type.                                                                                                                                                                    |
| Object 2                           | git                                | object    | If pipelines are triggered due to actions to a Git repository, then all payloads must contain this. Note that either `tag` or `branch` has to be provided, but not both.                                |
| git                                | author_email [*required*]          | string    | The commit author email.                                                                                                                                                                                |
| git                                | author_name                        | string    | The commit author name.                                                                                                                                                                                 |
| git                                | author_time                        | string    | The commit author timestamp in RFC3339 format.                                                                                                                                                          |
| git                                | branch                             | string    | The branch name (if a tag use the tag parameter).                                                                                                                                                       |
| git                                | commit_time                        | string    | The commit timestamp in RFC3339 format.                                                                                                                                                                 |
| git                                | committer_email                    | string    | The committer email.                                                                                                                                                                                    |
| git                                | committer_name                     | string    | The committer name.                                                                                                                                                                                     |
| git                                | default_branch                     | string    | The Git repository's default branch.                                                                                                                                                                    |
| git                                | message                            | string    | The commit message.                                                                                                                                                                                     |
| git                                | repository_url [*required*]        | string    | The URL of the repository.                                                                                                                                                                              |
| git                                | sha [*required*]                   | string    | The git commit SHA.                                                                                                                                                                                     |
| git                                | tag                                | string    | The tag name (if a branch use the branch parameter).                                                                                                                                                    |
| Object 2                           | id [*required*]                    | string    | UUID for the stage. It has to be unique at least in the pipeline scope.                                                                                                                                 |
| Object 2                           | level [*required*]                 | enum      | Used to distinguish between pipelines, stages, jobs and steps. Allowed enum values: `stage`. Default: `stage`.                                                                                          |
| Object 2                           | metrics                            | [string]  | A list of user-defined metrics. The metrics must follow the `key:value` pattern and the value must be numeric.                                                                                          |
| Object 2                           | name [*required*]                  | string    | The name for the stage.                                                                                                                                                                                 |
| Object 2                           | node                               | object    | Contains information of the host running the pipeline, stage, job, or step.                                                                                                                             |
| node                               | hostname                           | string    | FQDN of the host.                                                                                                                                                                                       |
| node                               | labels                             | [string]  | A list of labels used to select or identify the node.                                                                                                                                                   |
| node                               | name                               | string    | Name for the host.                                                                                                                                                                                      |
| node                               | workspace                          | string    | The path where the code is checked out.                                                                                                                                                                 |
| Object 2                           | parameters                         | object    | A map of key-value parameters or environment variables that were defined for the pipeline.                                                                                                              |
| additionalProperties               | <any-key>                          | string    |                                                                                                                                                                                                         |
| Object 2                           | pipeline_name [*required*]         | string    | The parent pipeline name.                                                                                                                                                                               |
| Object 2                           | pipeline_unique_id [*required*]    | string    | The parent pipeline UUID.                                                                                                                                                                               |
| Object 2                           | queue_time                         | int64     | The queue time in milliseconds, if applicable.                                                                                                                                                          |
| Object 2                           | start [*required*]                 | date-time | Time when the stage run started (it should not include any queue time). The time format must be RFC3339.                                                                                                |
| Object 2                           | status [*required*]                | enum      | The final status of the stage. Allowed enum values: `success`, `error`, `canceled`, `skipped`.                                                                                                          |
| Object 2                           | tags                               | [string]  | A list of user-defined tags. The tags must follow the `key:value` pattern.                                                                                                                              |
| resource                           | Object 3                           | <oneOf>   | Details of a CI job.                                                                                                                                                                                    |
| Object 3                           | Object 1                           | object    | Details of a finished CI job.                                                                                                                                                                           |
| Object 1                           | dependencies                       | [string]  | A list of job IDs that this job depends on.                                                                                                                                                             |
| Object 1                           | end [*required*]                   | date-time | Time when the job run finished. The time format must be RFC3339.                                                                                                                                        |
| Object 1                           | error                              | object    | Contains information of the CI error.                                                                                                                                                                   |
| error                              | domain                             | enum      | Error category used to differentiate between issues related to the developer or provider environments. Allowed enum values: `provider`, `user`, `unknown`.                                              |
| error                              | message                            | string    | Error message.                                                                                                                                                                                          |
| error                              | stack                              | string    | The stack trace of the reported errors.                                                                                                                                                                 |
| error                              | type                               | string    | Short description of the error type.                                                                                                                                                                    |
| Object 1                           | git                                | object    | If pipelines are triggered due to actions to a Git repository, then all payloads must contain this. Note that either `tag` or `branch` has to be provided, but not both.                                |
| git                                | author_email [*required*]          | string    | The commit author email.                                                                                                                                                                                |
| git                                | author_name                        | string    | The commit author name.                                                                                                                                                                                 |
| git                                | author_time                        | string    | The commit author timestamp in RFC3339 format.                                                                                                                                                          |
| git                                | branch                             | string    | The branch name (if a tag use the tag parameter).                                                                                                                                                       |
| git                                | commit_time                        | string    | The commit timestamp in RFC3339 format.                                                                                                                                                                 |
| git                                | committer_email                    | string    | The committer email.                                                                                                                                                                                    |
| git                                | committer_name                     | string    | The committer name.                                                                                                                                                                                     |
| git                                | default_branch                     | string    | The Git repository's default branch.                                                                                                                                                                    |
| git                                | message                            | string    | The commit message.                                                                                                                                                                                     |
| git                                | repository_url [*required*]        | string    | The URL of the repository.                                                                                                                                                                              |
| git                                | sha [*required*]                   | string    | The git commit SHA.                                                                                                                                                                                     |
| git                                | tag                                | string    | The tag name (if a branch use the branch parameter).                                                                                                                                                    |
| Object 1                           | id [*required*]                    | string    | The UUID for the job. It has to be unique within each pipeline execution.                                                                                                                               |
| Object 1                           | level [*required*]                 | enum      | Used to distinguish between pipelines, stages, jobs, and steps. Allowed enum values: `job`. Default: `job`.                                                                                             |
| Object 1                           | metrics                            | [string]  | A list of user-defined metrics. The metrics must follow the `key:value` pattern and the value must be numeric.                                                                                          |
| Object 1                           | name [*required*]                  | string    | The name for the job.                                                                                                                                                                                   |
| Object 1                           | node                               | object    | Contains information of the host running the pipeline, stage, job, or step.                                                                                                                             |
| node                               | hostname                           | string    | FQDN of the host.                                                                                                                                                                                       |
| node                               | labels                             | [string]  | A list of labels used to select or identify the node.                                                                                                                                                   |
| node                               | name                               | string    | Name for the host.                                                                                                                                                                                      |
| node                               | workspace                          | string    | The path where the code is checked out.                                                                                                                                                                 |
| Object 1                           | parameters                         | object    | A map of key-value parameters or environment variables that were defined for the pipeline.                                                                                                              |
| additionalProperties               | <any-key>                          | string    |                                                                                                                                                                                                         |
| Object 1                           | pipeline_name [*required*]         | string    | The parent pipeline name.                                                                                                                                                                               |
| Object 1                           | pipeline_unique_id [*required*]    | string    | The parent pipeline UUID.                                                                                                                                                                               |
| Object 1                           | queue_time                         | int64     | The queue time in milliseconds, if applicable.                                                                                                                                                          |
| Object 1                           | stage_id                           | string    | The parent stage UUID (if applicable).                                                                                                                                                                  |
| Object 1                           | stage_name                         | string    | The parent stage name (if applicable).                                                                                                                                                                  |
| Object 1                           | start [*required*]                 | date-time | Time when the job run instance started (it should not include any queue time). The time format must be RFC3339.                                                                                         |
| Object 1                           | status [*required*]                | enum      | The final status of the job. Allowed enum values: `success`, `error`, `canceled`, `skipped`.                                                                                                            |
| Object 1                           | tags                               | [string]  | A list of user-defined tags. The tags must follow the `key:value` pattern.                                                                                                                              |
| Object 1                           | url [*required*]                   | string    | The URL to look at the job in the CI provider UI.                                                                                                                                                       |
| Object 3                           | <status=running>                   | object    | Details of a running CI job.                                                                                                                                                                            |
| <status=running>                   | dependencies                       | [string]  | A list of job IDs that this job depends on.                                                                                                                                                             |
| <status=running>                   | error                              | object    | Contains information of the CI error.                                                                                                                                                                   |
| error                              | domain                             | enum      | Error category used to differentiate between issues related to the developer or provider environments. Allowed enum values: `provider`, `user`, `unknown`.                                              |
| error                              | message                            | string    | Error message.                                                                                                                                                                                          |
| error                              | stack                              | string    | The stack trace of the reported errors.                                                                                                                                                                 |
| error                              | type                               | string    | Short description of the error type.                                                                                                                                                                    |
| <status=running>                   | git                                | object    | If pipelines are triggered due to actions to a Git repository, then all payloads must contain this. Note that either `tag` or `branch` has to be provided, but not both.                                |
| git                                | author_email [*required*]          | string    | The commit author email.                                                                                                                                                                                |
| git                                | author_name                        | string    | The commit author name.                                                                                                                                                                                 |
| git                                | author_time                        | string    | The commit author timestamp in RFC3339 format.                                                                                                                                                          |
| git                                | branch                             | string    | The branch name (if a tag use the tag parameter).                                                                                                                                                       |
| git                                | commit_time                        | string    | The commit timestamp in RFC3339 format.                                                                                                                                                                 |
| git                                | committer_email                    | string    | The committer email.                                                                                                                                                                                    |
| git                                | committer_name                     | string    | The committer name.                                                                                                                                                                                     |
| git                                | default_branch                     | string    | The Git repository's default branch.                                                                                                                                                                    |
| git                                | message                            | string    | The commit message.                                                                                                                                                                                     |
| git                                | repository_url [*required*]        | string    | The URL of the repository.                                                                                                                                                                              |
| git                                | sha [*required*]                   | string    | The git commit SHA.                                                                                                                                                                                     |
| git                                | tag                                | string    | The tag name (if a branch use the branch parameter).                                                                                                                                                    |
| <status=running>                   | id [*required*]                    | string    | The UUID for the job. It must match the ID of the corresponding finished job.                                                                                                                           |
| <status=running>                   | level [*required*]                 | enum      | Used to distinguish between pipelines, stages, jobs, and steps. Allowed enum values: `job`. Default: `job`.                                                                                             |
| <status=running>                   | metrics                            | [string]  | A list of user-defined metrics. The metrics must follow the `key:value` pattern and the value must be numeric.                                                                                          |
| <status=running>                   | name [*required*]                  | string    | The name for the job.                                                                                                                                                                                   |
| <status=running>                   | node                               | object    | Contains information of the host running the pipeline, stage, job, or step.                                                                                                                             |
| node                               | hostname                           | string    | FQDN of the host.                                                                                                                                                                                       |
| node                               | labels                             | [string]  | A list of labels used to select or identify the node.                                                                                                                                                   |
| node                               | name                               | string    | Name for the host.                                                                                                                                                                                      |
| node                               | workspace                          | string    | The path where the code is checked out.                                                                                                                                                                 |
| <status=running>                   | parameters                         | object    | A map of key-value parameters or environment variables that were defined for the pipeline.                                                                                                              |
| additionalProperties               | <any-key>                          | string    |                                                                                                                                                                                                         |
| <status=running>                   | pipeline_name [*required*]         | string    | The parent pipeline name.                                                                                                                                                                               |
| <status=running>                   | pipeline_unique_id [*required*]    | string    | The parent pipeline UUID.                                                                                                                                                                               |
| <status=running>                   | queue_time                         | int64     | The queue time in milliseconds, if applicable.                                                                                                                                                          |
| <status=running>                   | stage_id                           | string    | The parent stage UUID (if applicable).                                                                                                                                                                  |
| <status=running>                   | stage_name                         | string    | The parent stage name (if applicable).                                                                                                                                                                  |
| <status=running>                   | start [*required*]                 | date-time | Time when the job run instance started (it should not include any queue time). The time format must be RFC3339.                                                                                         |
| <status=running>                   | status [*required*]                | enum      | The in-progress status of the job. Allowed enum values: `running`.                                                                                                                                      |
| <status=running>                   | tags                               | [string]  | A list of user-defined tags. The tags must follow the `key:value` pattern.                                                                                                                              |
| <status=running>                   | url [*required*]                   | string    | The URL to look at the job in the CI provider UI.                                                                                                                                                       |
| resource                           | Object 4                           | object    | Details of a CI step.                                                                                                                                                                                   |
| Object 4                           | end [*required*]                   | date-time | Time when the step run finished. The time format must be RFC3339.                                                                                                                                       |
| Object 4                           | error                              | object    | Contains information of the CI error.                                                                                                                                                                   |
| error                              | domain                             | enum      | Error category used to differentiate between issues related to the developer or provider environments. Allowed enum values: `provider`, `user`, `unknown`.                                              |
| error                              | message                            | string    | Error message.                                                                                                                                                                                          |
| error                              | stack                              | string    | The stack trace of the reported errors.                                                                                                                                                                 |
| error                              | type                               | string    | Short description of the error type.                                                                                                                                                                    |
| Object 4                           | git                                | object    | If pipelines are triggered due to actions to a Git repository, then all payloads must contain this. Note that either `tag` or `branch` has to be provided, but not both.                                |
| git                                | author_email [*required*]          | string    | The commit author email.                                                                                                                                                                                |
| git                                | author_name                        | string    | The commit author name.                                                                                                                                                                                 |
| git                                | author_time                        | string    | The commit author timestamp in RFC3339 format.                                                                                                                                                          |
| git                                | branch                             | string    | The branch name (if a tag use the tag parameter).                                                                                                                                                       |
| git                                | commit_time                        | string    | The commit timestamp in RFC3339 format.                                                                                                                                                                 |
| git                                | committer_email                    | string    | The committer email.                                                                                                                                                                                    |
| git                                | committer_name                     | string    | The committer name.                                                                                                                                                                                     |
| git                                | default_branch                     | string    | The Git repository's default branch.                                                                                                                                                                    |
| git                                | message                            | string    | The commit message.                                                                                                                                                                                     |
| git                                | repository_url [*required*]        | string    | The URL of the repository.                                                                                                                                                                              |
| git                                | sha [*required*]                   | string    | The git commit SHA.                                                                                                                                                                                     |
| git                                | tag                                | string    | The tag name (if a branch use the branch parameter).                                                                                                                                                    |
| Object 4                           | id [*required*]                    | string    | UUID for the step. It has to be unique within each pipeline execution.                                                                                                                                  |
| Object 4                           | job_id                             | string    | The parent job UUID (if applicable).                                                                                                                                                                    |
| Object 4                           | job_name                           | string    | The parent job name (if applicable).                                                                                                                                                                    |
| Object 4                           | level [*required*]                 | enum      | Used to distinguish between pipelines, stages, jobs and steps. Allowed enum values: `step`. Default: `step`.                                                                                            |
| Object 4                           | metrics                            | [string]  | A list of user-defined metrics. The metrics must follow the `key:value` pattern and the value must be numeric.                                                                                          |
| Object 4                           | name [*required*]                  | string    | The name for the step.                                                                                                                                                                                  |
| Object 4                           | node                               | object    | Contains information of the host running the pipeline, stage, job, or step.                                                                                                                             |
| node                               | hostname                           | string    | FQDN of the host.                                                                                                                                                                                       |
| node                               | labels                             | [string]  | A list of labels used to select or identify the node.                                                                                                                                                   |
| node                               | name                               | string    | Name for the host.                                                                                                                                                                                      |
| node                               | workspace                          | string    | The path where the code is checked out.                                                                                                                                                                 |
| Object 4                           | parameters                         | object    | A map of key-value parameters or environment variables that were defined for the pipeline.                                                                                                              |
| additionalProperties               | <any-key>                          | string    |                                                                                                                                                                                                         |
| Object 4                           | pipeline_name [*required*]         | string    | The parent pipeline name.                                                                                                                                                                               |
| Object 4                           | pipeline_unique_id [*required*]    | string    | The parent pipeline UUID.                                                                                                                                                                               |
| Object 4                           | stage_id                           | string    | The parent stage UUID (if applicable).                                                                                                                                                                  |
| Object 4                           | stage_name                         | string    | The parent stage name (if applicable).                                                                                                                                                                  |
| Object 4                           | start [*required*]                 | date-time | Time when the step run started. The time format must be RFC3339.                                                                                                                                        |
| Object 4                           | status [*required*]                | enum      | The final status of the step. Allowed enum values: `success`, `error`.                                                                                                                                  |
| Object 4                           | tags                               | [string]  | A list of user-defined tags. The tags must follow the `key:value` pattern.                                                                                                                              |
| Object 4                           | url                                | string    | The URL to look at the step in the CI provider UI.                                                                                                                                                      |
| attributes                         | service                            | string    | If the CI provider is SaaS, use this to differentiate between instances.                                                                                                                                |
| <type=cipipeline_resource_request> | type                               | enum      | Type of the event. Allowed enum values: `cipipeline_resource_request`. Default: `cipipeline_resource_request`.                                                                                          |
| data                               | Object 2                           | [object]  | Array of pipeline events to create in batch.                                                                                                                                                            |
| Object 2                           | attributes                         | object    | Attributes of the pipeline event to create.                                                                                                                                                             |
| attributes                         | env                                | string    | The Datadog environment.                                                                                                                                                                                |
| attributes                         | provider_name                      | string    | The name of the CI provider. By default, this is "custom".                                                                                                                                              |
| attributes                         | resource [*required*]              | <oneOf>   | Details of the CI pipeline event.                                                                                                                                                                       |
| resource                           | Object 1                           | <oneOf>   | Details of the top level pipeline, build, or workflow of your CI.                                                                                                                                       |
| Object 1                           | Object 1                           | object    | Details of a finished pipeline.                                                                                                                                                                         |
| Object 1                           | end [*required*]                   | date-time | Time when the pipeline run finished. It cannot be older than 18 hours in the past from the current time. The time format must be RFC3339.                                                               |
| Object 1                           | error                              | object    | Contains information of the CI error.                                                                                                                                                                   |
| error                              | domain                             | enum      | Error category used to differentiate between issues related to the developer or provider environments. Allowed enum values: `provider`, `user`, `unknown`.                                              |
| error                              | message                            | string    | Error message.                                                                                                                                                                                          |
| error                              | stack                              | string    | The stack trace of the reported errors.                                                                                                                                                                 |
| error                              | type                               | string    | Short description of the error type.                                                                                                                                                                    |
| Object 1                           | git                                | object    | If pipelines are triggered due to actions to a Git repository, then all payloads must contain this. Note that either `tag` or `branch` has to be provided, but not both.                                |
| git                                | author_email [*required*]          | string    | The commit author email.                                                                                                                                                                                |
| git                                | author_name                        | string    | The commit author name.                                                                                                                                                                                 |
| git                                | author_time                        | string    | The commit author timestamp in RFC3339 format.                                                                                                                                                          |
| git                                | branch                             | string    | The branch name (if a tag use the tag parameter).                                                                                                                                                       |
| git                                | commit_time                        | string    | The commit timestamp in RFC3339 format.                                                                                                                                                                 |
| git                                | committer_email                    | string    | The committer email.                                                                                                                                                                                    |
| git                                | committer_name                     | string    | The committer name.                                                                                                                                                                                     |
| git                                | default_branch                     | string    | The Git repository's default branch.                                                                                                                                                                    |
| git                                | message                            | string    | The commit message.                                                                                                                                                                                     |
| git                                | repository_url [*required*]        | string    | The URL of the repository.                                                                                                                                                                              |
| git                                | sha [*required*]                   | string    | The git commit SHA.                                                                                                                                                                                     |
| git                                | tag                                | string    | The tag name (if a branch use the branch parameter).                                                                                                                                                    |
| Object 1                           | is_manual                          | boolean   | Whether or not the pipeline was triggered manually by the user.                                                                                                                                         |
| Object 1                           | is_resumed                         | boolean   | Whether or not the pipeline was resumed after being blocked.                                                                                                                                            |
| Object 1                           | level [*required*]                 | enum      | Used to distinguish between pipelines, stages, jobs, and steps. Allowed enum values: `pipeline`. Default: `pipeline`.                                                                                   |
| Object 1                           | metrics                            | [string]  | A list of user-defined metrics. The metrics must follow the `key:value` pattern and the value must be numeric.                                                                                          |
| Object 1                           | name [*required*]                  | string    | Name of the pipeline. All pipeline runs for the builds should have the same name.                                                                                                                       |
| Object 1                           | node                               | object    | Contains information of the host running the pipeline, stage, job, or step.                                                                                                                             |
| node                               | hostname                           | string    | FQDN of the host.                                                                                                                                                                                       |
| node                               | labels                             | [string]  | A list of labels used to select or identify the node.                                                                                                                                                   |
| node                               | name                               | string    | Name for the host.                                                                                                                                                                                      |
| node                               | workspace                          | string    | The path where the code is checked out.                                                                                                                                                                 |
| Object 1                           | parameters                         | object    | A map of key-value parameters or environment variables that were defined for the pipeline.                                                                                                              |
| additionalProperties               | <any-key>                          | string    |                                                                                                                                                                                                         |
| Object 1                           | parent_pipeline                    | object    | If the pipeline is triggered as child of another pipeline, this should contain the details of the parent pipeline.                                                                                      |
| parent_pipeline                    | id [*required*]                    | string    | UUID of a pipeline.                                                                                                                                                                                     |
| parent_pipeline                    | url                                | string    | The URL to look at the pipeline in the CI provider UI.                                                                                                                                                  |
| Object 1                           | partial_retry [*required*]         | boolean   | Whether or not the pipeline was a partial retry of a previous attempt. A partial retry is one which only runs a subset of the original jobs.                                                            |
| Object 1                           | pipeline_id                        | string    | Any ID used in the provider to identify the pipeline run even if it is not unique across retries. If the `pipeline_id` is unique, then both `unique_id` and `pipeline_id` can be set to the same value. |
| Object 1                           | previous_attempt                   | object    | If the pipeline is a retry, this should contain the details of the previous attempt.                                                                                                                    |
| previous_attempt                   | id [*required*]                    | string    | UUID of a pipeline.                                                                                                                                                                                     |
| previous_attempt                   | url                                | string    | The URL to look at the pipeline in the CI provider UI.                                                                                                                                                  |
| Object 1                           | queue_time                         | int64     | The queue time in milliseconds, if applicable.                                                                                                                                                          |
| Object 1                           | start [*required*]                 | date-time | Time when the pipeline run started (it should not include any queue time). The time format must be RFC3339.                                                                                             |
| Object 1                           | status [*required*]                | enum      | The final status of the pipeline. Allowed enum values: `success`, `error`, `canceled`, `skipped`, `blocked`.                                                                                            |
| Object 1                           | tags                               | [string]  | A list of user-defined tags. The tags must follow the `key:value` pattern.                                                                                                                              |
| Object 1                           | unique_id [*required*]             | string    | UUID of the pipeline run. The ID has to be unique across retries and pipelines, including partial retries.                                                                                              |
| Object 1                           | url [*required*]                   | string    | The URL to look at the pipeline in the CI provider UI.                                                                                                                                                  |
| Object 1                           | <status=running>                   | object    | Details of a running pipeline.                                                                                                                                                                          |
| <status=running>                   | error                              | object    | Contains information of the CI error.                                                                                                                                                                   |
| error                              | domain                             | enum      | Error category used to differentiate between issues related to the developer or provider environments. Allowed enum values: `provider`, `user`, `unknown`.                                              |
| error                              | message                            | string    | Error message.                                                                                                                                                                                          |
| error                              | stack                              | string    | The stack trace of the reported errors.                                                                                                                                                                 |
| error                              | type                               | string    | Short description of the error type.                                                                                                                                                                    |
| <status=running>                   | git                                | object    | If pipelines are triggered due to actions to a Git repository, then all payloads must contain this. Note that either `tag` or `branch` has to be provided, but not both.                                |
| git                                | author_email [*required*]          | string    | The commit author email.                                                                                                                                                                                |
| git                                | author_name                        | string    | The commit author name.                                                                                                                                                                                 |
| git                                | author_time                        | string    | The commit author timestamp in RFC3339 format.                                                                                                                                                          |
| git                                | branch                             | string    | The branch name (if a tag use the tag parameter).                                                                                                                                                       |
| git                                | commit_time                        | string    | The commit timestamp in RFC3339 format.                                                                                                                                                                 |
| git                                | committer_email                    | string    | The committer email.                                                                                                                                                                                    |
| git                                | committer_name                     | string    | The committer name.                                                                                                                                                                                     |
| git                                | default_branch                     | string    | The Git repository's default branch.                                                                                                                                                                    |
| git                                | message                            | string    | The commit message.                                                                                                                                                                                     |
| git                                | repository_url [*required*]        | string    | The URL of the repository.                                                                                                                                                                              |
| git                                | sha [*required*]                   | string    | The git commit SHA.                                                                                                                                                                                     |
| git                                | tag                                | string    | The tag name (if a branch use the branch parameter).                                                                                                                                                    |
| <status=running>                   | is_manual                          | boolean   | Whether or not the pipeline was triggered manually by the user.                                                                                                                                         |
| <status=running>                   | is_resumed                         | boolean   | Whether or not the pipeline was resumed after being blocked.                                                                                                                                            |
| <status=running>                   | level [*required*]                 | enum      | Used to distinguish between pipelines, stages, jobs, and steps. Allowed enum values: `pipeline`. Default: `pipeline`.                                                                                   |
| <status=running>                   | metrics                            | [string]  | A list of user-defined metrics. The metrics must follow the `key:value` pattern and the value must be numeric.                                                                                          |
| <status=running>                   | name [*required*]                  | string    | Name of the pipeline. All pipeline runs for the builds should have the same name.                                                                                                                       |
| <status=running>                   | node                               | object    | Contains information of the host running the pipeline, stage, job, or step.                                                                                                                             |
| node                               | hostname                           | string    | FQDN of the host.                                                                                                                                                                                       |
| node                               | labels                             | [string]  | A list of labels used to select or identify the node.                                                                                                                                                   |
| node                               | name                               | string    | Name for the host.                                                                                                                                                                                      |
| node                               | workspace                          | string    | The path where the code is checked out.                                                                                                                                                                 |
| <status=running>                   | parameters                         | object    | A map of key-value parameters or environment variables that were defined for the pipeline.                                                                                                              |
| additionalProperties               | <any-key>                          | string    |                                                                                                                                                                                                         |
| <status=running>                   | parent_pipeline                    | object    | If the pipeline is triggered as child of another pipeline, this should contain the details of the parent pipeline.                                                                                      |
| parent_pipeline                    | id [*required*]                    | string    | UUID of a pipeline.                                                                                                                                                                                     |
| parent_pipeline                    | url                                | string    | The URL to look at the pipeline in the CI provider UI.                                                                                                                                                  |
| <status=running>                   | partial_retry [*required*]         | boolean   | Whether or not the pipeline was a partial retry of a previous attempt. A partial retry is one which only runs a subset of the original jobs.                                                            |
| <status=running>                   | pipeline_id                        | string    | Any ID used in the provider to identify the pipeline run even if it is not unique across retries. If the `pipeline_id` is unique, then both `unique_id` and `pipeline_id` can be set to the same value. |
| <status=running>                   | previous_attempt                   | object    | If the pipeline is a retry, this should contain the details of the previous attempt.                                                                                                                    |
| previous_attempt                   | id [*required*]                    | string    | UUID of a pipeline.                                                                                                                                                                                     |
| previous_attempt                   | url                                | string    | The URL to look at the pipeline in the CI provider UI.                                                                                                                                                  |
| <status=running>                   | queue_time                         | int64     | The queue time in milliseconds, if applicable.                                                                                                                                                          |
| <status=running>                   | start [*required*]                 | date-time | Time when the pipeline run started (it should not include any queue time). The time format must be RFC3339.                                                                                             |
| <status=running>                   | status [*required*]                | enum      | The in progress status of the pipeline. Allowed enum values: `running`.                                                                                                                                 |
| <status=running>                   | tags                               | [string]  | A list of user-defined tags. The tags must follow the `key:value` pattern.                                                                                                                              |
| <status=running>                   | unique_id [*required*]             | string    | UUID of the pipeline run. The ID has to be the same as the finished pipeline.                                                                                                                           |
| <status=running>                   | url [*required*]                   | string    | The URL to look at the pipeline in the CI provider UI.                                                                                                                                                  |
| resource                           | Object 2                           | object    | Details of a CI stage.                                                                                                                                                                                  |
| Object 2                           | dependencies                       | [string]  | A list of stage IDs that this stage depends on.                                                                                                                                                         |
| Object 2                           | end [*required*]                   | date-time | Time when the stage run finished. The time format must be RFC3339.                                                                                                                                      |
| Object 2                           | error                              | object    | Contains information of the CI error.                                                                                                                                                                   |
| error                              | domain                             | enum      | Error category used to differentiate between issues related to the developer or provider environments. Allowed enum values: `provider`, `user`, `unknown`.                                              |
| error                              | message                            | string    | Error message.                                                                                                                                                                                          |
| error                              | stack                              | string    | The stack trace of the reported errors.                                                                                                                                                                 |
| error                              | type                               | string    | Short description of the error type.                                                                                                                                                                    |
| Object 2                           | git                                | object    | If pipelines are triggered due to actions to a Git repository, then all payloads must contain this. Note that either `tag` or `branch` has to be provided, but not both.                                |
| git                                | author_email [*required*]          | string    | The commit author email.                                                                                                                                                                                |
| git                                | author_name                        | string    | The commit author name.                                                                                                                                                                                 |
| git                                | author_time                        | string    | The commit author timestamp in RFC3339 format.                                                                                                                                                          |
| git                                | branch                             | string    | The branch name (if a tag use the tag parameter).                                                                                                                                                       |
| git                                | commit_time                        | string    | The commit timestamp in RFC3339 format.                                                                                                                                                                 |
| git                                | committer_email                    | string    | The committer email.                                                                                                                                                                                    |
| git                                | committer_name                     | string    | The committer name.                                                                                                                                                                                     |
| git                                | default_branch                     | string    | The Git repository's default branch.                                                                                                                                                                    |
| git                                | message                            | string    | The commit message.                                                                                                                                                                                     |
| git                                | repository_url [*required*]        | string    | The URL of the repository.                                                                                                                                                                              |
| git                                | sha [*required*]                   | string    | The git commit SHA.                                                                                                                                                                                     |
| git                                | tag                                | string    | The tag name (if a branch use the branch parameter).                                                                                                                                                    |
| Object 2                           | id [*required*]                    | string    | UUID for the stage. It has to be unique at least in the pipeline scope.                                                                                                                                 |
| Object 2                           | level [*required*]                 | enum      | Used to distinguish between pipelines, stages, jobs and steps. Allowed enum values: `stage`. Default: `stage`.                                                                                          |
| Object 2                           | metrics                            | [string]  | A list of user-defined metrics. The metrics must follow the `key:value` pattern and the value must be numeric.                                                                                          |
| Object 2                           | name [*required*]                  | string    | The name for the stage.                                                                                                                                                                                 |
| Object 2                           | node                               | object    | Contains information of the host running the pipeline, stage, job, or step.                                                                                                                             |
| node                               | hostname                           | string    | FQDN of the host.                                                                                                                                                                                       |
| node                               | labels                             | [string]  | A list of labels used to select or identify the node.                                                                                                                                                   |
| node                               | name                               | string    | Name for the host.                                                                                                                                                                                      |
| node                               | workspace                          | string    | The path where the code is checked out.                                                                                                                                                                 |
| Object 2                           | parameters                         | object    | A map of key-value parameters or environment variables that were defined for the pipeline.                                                                                                              |
| additionalProperties               | <any-key>                          | string    |                                                                                                                                                                                                         |
| Object 2                           | pipeline_name [*required*]         | string    | The parent pipeline name.                                                                                                                                                                               |
| Object 2                           | pipeline_unique_id [*required*]    | string    | The parent pipeline UUID.                                                                                                                                                                               |
| Object 2                           | queue_time                         | int64     | The queue time in milliseconds, if applicable.                                                                                                                                                          |
| Object 2                           | start [*required*]                 | date-time | Time when the stage run started (it should not include any queue time). The time format must be RFC3339.                                                                                                |
| Object 2                           | status [*required*]                | enum      | The final status of the stage. Allowed enum values: `success`, `error`, `canceled`, `skipped`.                                                                                                          |
| Object 2                           | tags                               | [string]  | A list of user-defined tags. The tags must follow the `key:value` pattern.                                                                                                                              |
| resource                           | Object 3                           | <oneOf>   | Details of a CI job.                                                                                                                                                                                    |
| Object 3                           | Object 1                           | object    | Details of a finished CI job.                                                                                                                                                                           |
| Object 1                           | dependencies                       | [string]  | A list of job IDs that this job depends on.                                                                                                                                                             |
| Object 1                           | end [*required*]                   | date-time | Time when the job run finished. The time format must be RFC3339.                                                                                                                                        |
| Object 1                           | error                              | object    | Contains information of the CI error.                                                                                                                                                                   |
| error                              | domain                             | enum      | Error category used to differentiate between issues related to the developer or provider environments. Allowed enum values: `provider`, `user`, `unknown`.                                              |
| error                              | message                            | string    | Error message.                                                                                                                                                                                          |
| error                              | stack                              | string    | The stack trace of the reported errors.                                                                                                                                                                 |
| error                              | type                               | string    | Short description of the error type.                                                                                                                                                                    |
| Object 1                           | git                                | object    | If pipelines are triggered due to actions to a Git repository, then all payloads must contain this. Note that either `tag` or `branch` has to be provided, but not both.                                |
| git                                | author_email [*required*]          | string    | The commit author email.                                                                                                                                                                                |
| git                                | author_name                        | string    | The commit author name.                                                                                                                                                                                 |
| git                                | author_time                        | string    | The commit author timestamp in RFC3339 format.                                                                                                                                                          |
| git                                | branch                             | string    | The branch name (if a tag use the tag parameter).                                                                                                                                                       |
| git                                | commit_time                        | string    | The commit timestamp in RFC3339 format.                                                                                                                                                                 |
| git                                | committer_email                    | string    | The committer email.                                                                                                                                                                                    |
| git                                | committer_name                     | string    | The committer name.                                                                                                                                                                                     |
| git                                | default_branch                     | string    | The Git repository's default branch.                                                                                                                                                                    |
| git                                | message                            | string    | The commit message.                                                                                                                                                                                     |
| git                                | repository_url [*required*]        | string    | The URL of the repository.                                                                                                                                                                              |
| git                                | sha [*required*]                   | string    | The git commit SHA.                                                                                                                                                                                     |
| git                                | tag                                | string    | The tag name (if a branch use the branch parameter).                                                                                                                                                    |
| Object 1                           | id [*required*]                    | string    | The UUID for the job. It has to be unique within each pipeline execution.                                                                                                                               |
| Object 1                           | level [*required*]                 | enum      | Used to distinguish between pipelines, stages, jobs, and steps. Allowed enum values: `job`. Default: `job`.                                                                                             |
| Object 1                           | metrics                            | [string]  | A list of user-defined metrics. The metrics must follow the `key:value` pattern and the value must be numeric.                                                                                          |
| Object 1                           | name [*required*]                  | string    | The name for the job.                                                                                                                                                                                   |
| Object 1                           | node                               | object    | Contains information of the host running the pipeline, stage, job, or step.                                                                                                                             |
| node                               | hostname                           | string    | FQDN of the host.                                                                                                                                                                                       |
| node                               | labels                             | [string]  | A list of labels used to select or identify the node.                                                                                                                                                   |
| node                               | name                               | string    | Name for the host.                                                                                                                                                                                      |
| node                               | workspace                          | string    | The path where the code is checked out.                                                                                                                                                                 |
| Object 1                           | parameters                         | object    | A map of key-value parameters or environment variables that were defined for the pipeline.                                                                                                              |
| additionalProperties               | <any-key>                          | string    |                                                                                                                                                                                                         |
| Object 1                           | pipeline_name [*required*]         | string    | The parent pipeline name.                                                                                                                                                                               |
| Object 1                           | pipeline_unique_id [*required*]    | string    | The parent pipeline UUID.                                                                                                                                                                               |
| Object 1                           | queue_time                         | int64     | The queue time in milliseconds, if applicable.                                                                                                                                                          |
| Object 1                           | stage_id                           | string    | The parent stage UUID (if applicable).                                                                                                                                                                  |
| Object 1                           | stage_name                         | string    | The parent stage name (if applicable).                                                                                                                                                                  |
| Object 1                           | start [*required*]                 | date-time | Time when the job run instance started (it should not include any queue time). The time format must be RFC3339.                                                                                         |
| Object 1                           | status [*required*]                | enum      | The final status of the job. Allowed enum values: `success`, `error`, `canceled`, `skipped`.                                                                                                            |
| Object 1                           | tags                               | [string]  | A list of user-defined tags. The tags must follow the `key:value` pattern.                                                                                                                              |
| Object 1                           | url [*required*]                   | string    | The URL to look at the job in the CI provider UI.                                                                                                                                                       |
| Object 3                           | <status=running>                   | object    | Details of a running CI job.                                                                                                                                                                            |
| <status=running>                   | dependencies                       | [string]  | A list of job IDs that this job depends on.                                                                                                                                                             |
| <status=running>                   | error                              | object    | Contains information of the CI error.                                                                                                                                                                   |
| error                              | domain                             | enum      | Error category used to differentiate between issues related to the developer or provider environments. Allowed enum values: `provider`, `user`, `unknown`.                                              |
| error                              | message                            | string    | Error message.                                                                                                                                                                                          |
| error                              | stack                              | string    | The stack trace of the reported errors.                                                                                                                                                                 |
| error                              | type                               | string    | Short description of the error type.                                                                                                                                                                    |
| <status=running>                   | git                                | object    | If pipelines are triggered due to actions to a Git repository, then all payloads must contain this. Note that either `tag` or `branch` has to be provided, but not both.                                |
| git                                | author_email [*required*]          | string    | The commit author email.                                                                                                                                                                                |
| git                                | author_name                        | string    | The commit author name.                                                                                                                                                                                 |
| git                                | author_time                        | string    | The commit author timestamp in RFC3339 format.                                                                                                                                                          |
| git                                | branch                             | string    | The branch name (if a tag use the tag parameter).                                                                                                                                                       |
| git                                | commit_time                        | string    | The commit timestamp in RFC3339 format.                                                                                                                                                                 |
| git                                | committer_email                    | string    | The committer email.                                                                                                                                                                                    |
| git                                | committer_name                     | string    | The committer name.                                                                                                                                                                                     |
| git                                | default_branch                     | string    | The Git repository's default branch.                                                                                                                                                                    |
| git                                | message                            | string    | The commit message.                                                                                                                                                                                     |
| git                                | repository_url [*required*]        | string    | The URL of the repository.                                                                                                                                                                              |
| git                                | sha [*required*]                   | string    | The git commit SHA.                                                                                                                                                                                     |
| git                                | tag                                | string    | The tag name (if a branch use the branch parameter).                                                                                                                                                    |
| <status=running>                   | id [*required*]                    | string    | The UUID for the job. It must match the ID of the corresponding finished job.                                                                                                                           |
| <status=running>                   | level [*required*]                 | enum      | Used to distinguish between pipelines, stages, jobs, and steps. Allowed enum values: `job`. Default: `job`.                                                                                             |
| <status=running>                   | metrics                            | [string]  | A list of user-defined metrics. The metrics must follow the `key:value` pattern and the value must be numeric.                                                                                          |
| <status=running>                   | name [*required*]                  | string    | The name for the job.                                                                                                                                                                                   |
| <status=running>                   | node                               | object    | Contains information of the host running the pipeline, stage, job, or step.                                                                                                                             |
| node                               | hostname                           | string    | FQDN of the host.                                                                                                                                                                                       |
| node                               | labels                             | [string]  | A list of labels used to select or identify the node.                                                                                                                                                   |
| node                               | name                               | string    | Name for the host.                                                                                                                                                                                      |
| node                               | workspace                          | string    | The path where the code is checked out.                                                                                                                                                                 |
| <status=running>                   | parameters                         | object    | A map of key-value parameters or environment variables that were defined for the pipeline.                                                                                                              |
| additionalProperties               | <any-key>                          | string    |                                                                                                                                                                                                         |
| <status=running>                   | pipeline_name [*required*]         | string    | The parent pipeline name.                                                                                                                                                                               |
| <status=running>                   | pipeline_unique_id [*required*]    | string    | The parent pipeline UUID.                                                                                                                                                                               |
| <status=running>                   | queue_time                         | int64     | The queue time in milliseconds, if applicable.                                                                                                                                                          |
| <status=running>                   | stage_id                           | string    | The parent stage UUID (if applicable).                                                                                                                                                                  |
| <status=running>                   | stage_name                         | string    | The parent stage name (if applicable).                                                                                                                                                                  |
| <status=running>                   | start [*required*]                 | date-time | Time when the job run instance started (it should not include any queue time). The time format must be RFC3339.                                                                                         |
| <status=running>                   | status [*required*]                | enum      | The in-progress status of the job. Allowed enum values: `running`.                                                                                                                                      |
| <status=running>                   | tags                               | [string]  | A list of user-defined tags. The tags must follow the `key:value` pattern.                                                                                                                              |
| <status=running>                   | url [*required*]                   | string    | The URL to look at the job in the CI provider UI.                                                                                                                                                       |
| resource                           | Object 4                           | object    | Details of a CI step.                                                                                                                                                                                   |
| Object 4                           | end [*required*]                   | date-time | Time when the step run finished. The time format must be RFC3339.                                                                                                                                       |
| Object 4                           | error                              | object    | Contains information of the CI error.                                                                                                                                                                   |
| error                              | domain                             | enum      | Error category used to differentiate between issues related to the developer or provider environments. Allowed enum values: `provider`, `user`, `unknown`.                                              |
| error                              | message                            | string    | Error message.                                                                                                                                                                                          |
| error                              | stack                              | string    | The stack trace of the reported errors.                                                                                                                                                                 |
| error                              | type                               | string    | Short description of the error type.                                                                                                                                                                    |
| Object 4                           | git                                | object    | If pipelines are triggered due to actions to a Git repository, then all payloads must contain this. Note that either `tag` or `branch` has to be provided, but not both.                                |
| git                                | author_email [*required*]          | string    | The commit author email.                                                                                                                                                                                |
| git                                | author_name                        | string    | The commit author name.                                                                                                                                                                                 |
| git                                | author_time                        | string    | The commit author timestamp in RFC3339 format.                                                                                                                                                          |
| git                                | branch                             | string    | The branch name (if a tag use the tag parameter).                                                                                                                                                       |
| git                                | commit_time                        | string    | The commit timestamp in RFC3339 format.                                                                                                                                                                 |
| git                                | committer_email                    | string    | The committer email.                                                                                                                                                                                    |
| git                                | committer_name                     | string    | The committer name.                                                                                                                                                                                     |
| git                                | default_branch                     | string    | The Git repository's default branch.                                                                                                                                                                    |
| git                                | message                            | string    | The commit message.                                                                                                                                                                                     |
| git                                | repository_url [*required*]        | string    | The URL of the repository.                                                                                                                                                                              |
| git                                | sha [*required*]                   | string    | The git commit SHA.                                                                                                                                                                                     |
| git                                | tag                                | string    | The tag name (if a branch use the branch parameter).                                                                                                                                                    |
| Object 4                           | id [*required*]                    | string    | UUID for the step. It has to be unique within each pipeline execution.                                                                                                                                  |
| Object 4                           | job_id                             | string    | The parent job UUID (if applicable).                                                                                                                                                                    |
| Object 4                           | job_name                           | string    | The parent job name (if applicable).                                                                                                                                                                    |
| Object 4                           | level [*required*]                 | enum      | Used to distinguish between pipelines, stages, jobs and steps. Allowed enum values: `step`. Default: `step`.                                                                                            |
| Object 4                           | metrics                            | [string]  | A list of user-defined metrics. The metrics must follow the `key:value` pattern and the value must be numeric.                                                                                          |
| Object 4                           | name [*required*]                  | string    | The name for the step.                                                                                                                                                                                  |
| Object 4                           | node                               | object    | Contains information of the host running the pipeline, stage, job, or step.                                                                                                                             |
| node                               | hostname                           | string    | FQDN of the host.                                                                                                                                                                                       |
| node                               | labels                             | [string]  | A list of labels used to select or identify the node.                                                                                                                                                   |
| node                               | name                               | string    | Name for the host.                                                                                                                                                                                      |
| node                               | workspace                          | string    | The path where the code is checked out.                                                                                                                                                                 |
| Object 4                           | parameters                         | object    | A map of key-value parameters or environment variables that were defined for the pipeline.                                                                                                              |
| additionalProperties               | <any-key>                          | string    |                                                                                                                                                                                                         |
| Object 4                           | pipeline_name [*required*]         | string    | The parent pipeline name.                                                                                                                                                                               |
| Object 4                           | pipeline_unique_id [*required*]    | string    | The parent pipeline UUID.                                                                                                                                                                               |
| Object 4                           | stage_id                           | string    | The parent stage UUID (if applicable).                                                                                                                                                                  |
| Object 4                           | stage_name                         | string    | The parent stage name (if applicable).                                                                                                                                                                  |
| Object 4                           | start [*required*]                 | date-time | Time when the step run started. The time format must be RFC3339.                                                                                                                                        |
| Object 4                           | status [*required*]                | enum      | The final status of the step. Allowed enum values: `success`, `error`.                                                                                                                                  |
| Object 4                           | tags                               | [string]  | A list of user-defined tags. The tags must follow the `key:value` pattern.                                                                                                                              |
| Object 4                           | url                                | string    | The URL to look at the step in the CI provider UI.                                                                                                                                                      |
| attributes                         | service                            | string    | If the CI provider is SaaS, use this to differentiate between instances.                                                                                                                                |
| Object 2                           | type                               | enum      | Type of the event. Allowed enum values: `cipipeline_resource_request`. Default: `cipipeline_resource_request`.                                                                                          |
{% /tab %}

{% tab label="Example" %}
**Send pipeline event returns "Request accepted for processing" response**

```json
{
  "data": {
    "attributes": {
      "resource": {
        "level": "pipeline",
        "unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
        "name": "Deploy to AWS",
        "url": "https://my-ci-provider.example/pipelines/my-pipeline/run/1",
        "start": "2021-11-11T11:09:11+00:00",
        "end": "2021-11-11T11:10:41+00:00",
        "status": "success",
        "partial_retry": false,
        "git": {
          "repository_url": "https://github.com/DataDog/datadog-agent",
          "sha": "7f263865994b76066c4612fd1965215e7dcb4cd2",
          "author_email": "john.doe@email.com"
        }
      }
    },
    "type": "cipipeline_resource_request"
  }
}
```

**Send pipeline event with custom provider returns "Request accepted for processing" response**

```json
{
  "data": {
    "attributes": {
      "provider_name": "example-provider",
      "resource": {
        "level": "pipeline",
        "unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
        "name": "Deploy to AWS",
        "url": "https://my-ci-provider.example/pipelines/my-pipeline/run/1",
        "start": "2021-11-11T11:09:11+00:00",
        "end": "2021-11-11T11:10:41+00:00",
        "status": "success",
        "partial_retry": false,
        "git": {
          "repository_url": "https://github.com/DataDog/datadog-agent",
          "sha": "7f263865994b76066c4612fd1965215e7dcb4cd2",
          "author_email": "john.doe@email.com"
        }
      }
    },
    "type": "cipipeline_resource_request"
  }
}
```

**Send running job event returns "Request accepted for processing" response**

```json
{
  "data": {
    "attributes": {
      "resource": {
        "level": "job",
        "id": "cf9456de-8b9e-4c27-aa79-27b1e78c1a33",
        "name": "Build image",
        "pipeline_unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
        "pipeline_name": "Deploy to AWS",
        "start": "2021-11-11T11:09:11+00:00",
        "status": "running",
        "url": "https://my-ci-provider.example/jobs/my-jobs/run/1"
      }
    },
    "type": "cipipeline_resource_request"
  }
}
```
{% /tab %}
{% /tabs %}

### Response

{% tabs %}
{% tab label="202" %}
Request accepted for processing

{% tabs %}
{% tab label="Model" %}
| Field | Type | Description |
| ----- | ---- | ----------- |
{% /tab %}

{% tab label="Example" %}
```json
{}
```
{% /tab %}
{% /tabs %}
{% /tab %}

{% tab label="400" %}
Bad Request

{% tabs %}
{% tab label="Model" %}
Errors occurred.

| Parent field | Field  | Type     | Description        |
| ------------ | ------ | -------- | ------------------ |
|              | errors | [object] | Structured errors. |
| errors       | detail | string   | Error message.     |
| errors       | status | string   | Error code.        |
| errors       | title  | string   | Error title.       |
{% /tab %}

{% tab label="Example" %}
```json
{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```
{% /tab %}
{% /tabs %}
{% /tab %}

{% tab label="401" %}
Unauthorized

{% tabs %}
{% tab label="Model" %}
Errors occurred.

| Parent field | Field  | Type     | Description        |
| ------------ | ------ | -------- | ------------------ |
|              | errors | [object] | Structured errors. |
| errors       | detail | string   | Error message.     |
| errors       | status | string   | Error code.        |
| errors       | title  | string   | Error title.       |
{% /tab %}

{% tab label="Example" %}
```json
{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```
{% /tab %}
{% /tabs %}
{% /tab %}

{% tab label="403" %}
Forbidden

{% tabs %}
{% tab label="Model" %}
Errors occurred.

| Parent field | Field  | Type     | Description        |
| ------------ | ------ | -------- | ------------------ |
|              | errors | [object] | Structured errors. |
| errors       | detail | string   | Error message.     |
| errors       | status | string   | Error code.        |
| errors       | title  | string   | Error title.       |
{% /tab %}

{% tab label="Example" %}
```json
{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```
{% /tab %}
{% /tabs %}
{% /tab %}

{% tab label="408" %}
Request Timeout

{% tabs %}
{% tab label="Model" %}
Errors occurred.

| Parent field | Field  | Type     | Description        |
| ------------ | ------ | -------- | ------------------ |
|              | errors | [object] | Structured errors. |
| errors       | detail | string   | Error message.     |
| errors       | status | string   | Error code.        |
| errors       | title  | string   | Error title.       |
{% /tab %}

{% tab label="Example" %}
```json
{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```
{% /tab %}
{% /tabs %}
{% /tab %}

{% tab label="413" %}
Payload Too Large

{% tabs %}
{% tab label="Model" %}
Errors occurred.

| Parent field | Field  | Type     | Description        |
| ------------ | ------ | -------- | ------------------ |
|              | errors | [object] | Structured errors. |
| errors       | detail | string   | Error message.     |
| errors       | status | string   | Error code.        |
| errors       | title  | string   | Error title.       |
{% /tab %}

{% tab label="Example" %}
```json
{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```
{% /tab %}
{% /tabs %}
{% /tab %}

{% tab label="429" %}
Too Many Requests

{% tabs %}
{% tab label="Model" %}
Errors occurred.

| Parent field | Field  | Type     | Description        |
| ------------ | ------ | -------- | ------------------ |
|              | errors | [object] | Structured errors. |
| errors       | detail | string   | Error message.     |
| errors       | status | string   | Error code.        |
| errors       | title  | string   | Error title.       |
{% /tab %}

{% tab label="Example" %}
```json
{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```
{% /tab %}
{% /tabs %}
{% /tab %}

{% tab label="500" %}
Internal Server Error

{% tabs %}
{% tab label="Model" %}
Errors occurred.

| Parent field | Field  | Type     | Description        |
| ------------ | ------ | -------- | ------------------ |
|              | errors | [object] | Structured errors. |
| errors       | detail | string   | Error message.     |
| errors       | status | string   | Error code.        |
| errors       | title  | string   | Error title.       |
{% /tab %}

{% tab label="Example" %}
```json
{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```
{% /tab %}
{% /tabs %}
{% /tab %}

{% tab label="503" %}
Service Unavailable

{% tabs %}
{% tab label="Model" %}
Errors occurred.

| Parent field | Field  | Type     | Description        |
| ------------ | ------ | -------- | ------------------ |
|              | errors | [object] | Structured errors. |
| errors       | detail | string   | Error message.     |
| errors       | status | string   | Error code.        |
| errors       | title  | string   | Error title.       |
{% /tab %}

{% tab label="Example" %}
```json
{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```
{% /tab %}
{% /tabs %}
{% /tab %}
{% /tabs %}

### Code Example

{% tabs %}
{% tab label="Curl" %}
```bash
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com" # Or us3.datadoghq.com, us5.datadoghq.com, datadoghq.eu, ap1.datadoghq.com, ap2.datadoghq.com, uk1.datadoghq.com, ddog-gov.com, us2.ddog-gov.com
export DD_API_KEY="<DD_API_KEY>"

curl -X POST "https://api.${DD_SITE}/api/v2/ci/pipeline" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "resource": {
        "level": "pipeline",
        "unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
        "name": "Deploy to AWS",
        "url": "https://my-ci-provider.example/pipelines/my-pipeline/run/1",
        "start": "2021-11-11T11:09:11+00:00",
        "end": "2021-11-11T11:10:41+00:00",
        "status": "success",
        "partial_retry": false,
        "git": {
          "repository_url": "https://github.com/DataDog/datadog-agent",
          "sha": "7f263865994b76066c4612fd1965215e7dcb4cd2",
          "author_email": "john.doe@email.com"
        }
      }
    },
    "type": "cipipeline_resource_request"
  }
}
EOF
```

```bash
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com" # Or us3.datadoghq.com, us5.datadoghq.com, datadoghq.eu, ap1.datadoghq.com, ap2.datadoghq.com, uk1.datadoghq.com, ddog-gov.com, us2.ddog-gov.com
export DD_API_KEY="<DD_API_KEY>"

curl -X POST "https://api.${DD_SITE}/api/v2/ci/pipeline" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "provider_name": "example-provider",
      "resource": {
        "level": "pipeline",
        "unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
        "name": "Deploy to AWS",
        "url": "https://my-ci-provider.example/pipelines/my-pipeline/run/1",
        "start": "2021-11-11T11:09:11+00:00",
        "end": "2021-11-11T11:10:41+00:00",
        "status": "success",
        "partial_retry": false,
        "git": {
          "repository_url": "https://github.com/DataDog/datadog-agent",
          "sha": "7f263865994b76066c4612fd1965215e7dcb4cd2",
          "author_email": "john.doe@email.com"
        }
      }
    },
    "type": "cipipeline_resource_request"
  }
}
EOF
```

```bash
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com" # Or us3.datadoghq.com, us5.datadoghq.com, datadoghq.eu, ap1.datadoghq.com, ap2.datadoghq.com, uk1.datadoghq.com, ddog-gov.com, us2.ddog-gov.com
export DD_API_KEY="<DD_API_KEY>"

curl -X POST "https://api.${DD_SITE}/api/v2/ci/pipeline" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "resource": {
        "level": "job",
        "id": "cf9456de-8b9e-4c27-aa79-27b1e78c1a33",
        "name": "Build image",
        "pipeline_unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
        "pipeline_name": "Deploy to AWS",
        "start": "2021-11-11T11:09:11+00:00",
        "status": "running",
        "url": "https://my-ci-provider.example/jobs/my-jobs/run/1"
      }
    },
    "type": "cipipeline_resource_request"
  }
}
EOF
```
{% /tab %}

{% tab label="Go" %}
```go
// Send pipeline event returns "Request accepted for processing" response

package main

import (
	"context"
	"encoding/json"
	"fmt"
	"os"
	"time"

	"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
	"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)

func main() {
	body := datadogV2.CIAppCreatePipelineEventRequest{
		Data: &datadogV2.CIAppCreatePipelineEventRequestDataSingleOrArray{
			CIAppCreatePipelineEventRequestData: &datadogV2.CIAppCreatePipelineEventRequestData{
				Attributes: &datadogV2.CIAppCreatePipelineEventRequestAttributes{
					Resource: datadogV2.CIAppCreatePipelineEventRequestAttributesResource{
						CIAppPipelineEventPipeline: &datadogV2.CIAppPipelineEventPipeline{
							CIAppPipelineEventFinishedPipeline: &datadogV2.CIAppPipelineEventFinishedPipeline{
								Level:        datadogV2.CIAPPPIPELINEEVENTPIPELINELEVEL_PIPELINE,
								UniqueId:     "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
								Name:         "Deploy to AWS",
								Url:          "https://my-ci-provider.example/pipelines/my-pipeline/run/1",
								Start:        time.Now().Add(time.Second * -120),
								End:          time.Now().Add(time.Second * -30),
								Status:       datadogV2.CIAPPPIPELINEEVENTPIPELINESTATUS_SUCCESS,
								PartialRetry: false,
								Git: *datadogV2.NewNullableCIAppGitInfo(&datadogV2.CIAppGitInfo{
									RepositoryUrl: "https://github.com/DataDog/datadog-agent",
									Sha:           "7f263865994b76066c4612fd1965215e7dcb4cd2",
									AuthorEmail:   "john.doe@email.com",
								}),
							}}},
				},
				Type: datadogV2.CIAPPCREATEPIPELINEEVENTREQUESTDATATYPE_CIPIPELINE_RESOURCE_REQUEST.Ptr(),
			}},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewCIVisibilityPipelinesApi(apiClient)
	resp, r, err := api.CreateCIAppPipelineEvent(ctx, body)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `CIVisibilityPipelinesApi.CreateCIAppPipelineEvent`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `CIVisibilityPipelinesApi.CreateCIAppPipelineEvent`:\n%s\n", responseContent)
}
```

```go
// Send pipeline event with custom provider returns "Request accepted for processing" response

package main

import (
	"context"
	"encoding/json"
	"fmt"
	"os"
	"time"

	"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
	"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)

func main() {
	body := datadogV2.CIAppCreatePipelineEventRequest{
		Data: &datadogV2.CIAppCreatePipelineEventRequestDataSingleOrArray{
			CIAppCreatePipelineEventRequestData: &datadogV2.CIAppCreatePipelineEventRequestData{
				Attributes: &datadogV2.CIAppCreatePipelineEventRequestAttributes{
					ProviderName: datadog.PtrString("example-provider"),
					Resource: datadogV2.CIAppCreatePipelineEventRequestAttributesResource{
						CIAppPipelineEventPipeline: &datadogV2.CIAppPipelineEventPipeline{
							CIAppPipelineEventFinishedPipeline: &datadogV2.CIAppPipelineEventFinishedPipeline{
								Level:        datadogV2.CIAPPPIPELINEEVENTPIPELINELEVEL_PIPELINE,
								UniqueId:     "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
								Name:         "Deploy to AWS",
								Url:          "https://my-ci-provider.example/pipelines/my-pipeline/run/1",
								Start:        time.Now().Add(time.Second * -120),
								End:          time.Now().Add(time.Second * -30),
								Status:       datadogV2.CIAPPPIPELINEEVENTPIPELINESTATUS_SUCCESS,
								PartialRetry: false,
								Git: *datadogV2.NewNullableCIAppGitInfo(&datadogV2.CIAppGitInfo{
									RepositoryUrl: "https://github.com/DataDog/datadog-agent",
									Sha:           "7f263865994b76066c4612fd1965215e7dcb4cd2",
									AuthorEmail:   "john.doe@email.com",
								}),
							}}},
				},
				Type: datadogV2.CIAPPCREATEPIPELINEEVENTREQUESTDATATYPE_CIPIPELINE_RESOURCE_REQUEST.Ptr(),
			}},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewCIVisibilityPipelinesApi(apiClient)
	resp, r, err := api.CreateCIAppPipelineEvent(ctx, body)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `CIVisibilityPipelinesApi.CreateCIAppPipelineEvent`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `CIVisibilityPipelinesApi.CreateCIAppPipelineEvent`:\n%s\n", responseContent)
}
```

```go
// Send running job event returns "Request accepted for processing" response

package main

import (
	"context"
	"encoding/json"
	"fmt"
	"os"
	"time"

	"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
	"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)

func main() {
	body := datadogV2.CIAppCreatePipelineEventRequest{
		Data: &datadogV2.CIAppCreatePipelineEventRequestDataSingleOrArray{
			CIAppCreatePipelineEventRequestData: &datadogV2.CIAppCreatePipelineEventRequestData{
				Attributes: &datadogV2.CIAppCreatePipelineEventRequestAttributes{
					Resource: datadogV2.CIAppCreatePipelineEventRequestAttributesResource{
						CIAppPipelineEventJob: &datadogV2.CIAppPipelineEventJob{
							CIAppPipelineEventInProgressJob: &datadogV2.CIAppPipelineEventInProgressJob{
								Level:            datadogV2.CIAPPPIPELINEEVENTJOBLEVEL_JOB,
								Id:               "cf9456de-8b9e-4c27-aa79-27b1e78c1a33",
								Name:             "Build image",
								PipelineUniqueId: "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
								PipelineName:     "Deploy to AWS",
								Start:            time.Now().Add(time.Second * -120),
								Status:           datadogV2.CIAPPPIPELINEEVENTJOBINPROGRESSSTATUS_RUNNING,
								Url:              "https://my-ci-provider.example/jobs/my-jobs/run/1",
							}}},
				},
				Type: datadogV2.CIAPPCREATEPIPELINEEVENTREQUESTDATATYPE_CIPIPELINE_RESOURCE_REQUEST.Ptr(),
			}},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewCIVisibilityPipelinesApi(apiClient)
	resp, r, err := api.CreateCIAppPipelineEvent(ctx, body)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `CIVisibilityPipelinesApi.CreateCIAppPipelineEvent`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `CIVisibilityPipelinesApi.CreateCIAppPipelineEvent`:\n%s\n", responseContent)
}
```

#### Instructions

First [install the library and its dependencies](https://dnd37xeb23o8n.cloudfront.net/api/latest.md?code-lang=go) and then save the example to `main.go` and run following commands:

```bash
DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"
```
{% /tab %}

{% tab label="Java" %}
```java
// Send pipeline event returns "Request accepted for processing" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.CiVisibilityPipelinesApi;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequest;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestAttributes;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestAttributesResource;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestData;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestDataSingleOrArray;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestDataType;
import com.datadog.api.client.v2.model.CIAppGitInfo;
import com.datadog.api.client.v2.model.CIAppPipelineEventFinishedPipeline;
import com.datadog.api.client.v2.model.CIAppPipelineEventPipeline;
import com.datadog.api.client.v2.model.CIAppPipelineEventPipelineLevel;
import com.datadog.api.client.v2.model.CIAppPipelineEventPipelineStatus;
import java.time.OffsetDateTime;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    CiVisibilityPipelinesApi apiInstance = new CiVisibilityPipelinesApi(defaultClient);

    CIAppCreatePipelineEventRequest body =
        new CIAppCreatePipelineEventRequest()
            .data(
                new CIAppCreatePipelineEventRequestDataSingleOrArray(
                    new CIAppCreatePipelineEventRequestData()
                        .attributes(
                            new CIAppCreatePipelineEventRequestAttributes()
                                .resource(
                                    new CIAppCreatePipelineEventRequestAttributesResource(
                                        new CIAppPipelineEventPipeline(
                                            new CIAppPipelineEventFinishedPipeline()
                                                .level(CIAppPipelineEventPipelineLevel.PIPELINE)
                                                .uniqueId("3eacb6f3-ff04-4e10-8a9c-46e6d054024a")
                                                .name("Deploy to AWS")
                                                .url(
                                                    "https://my-ci-provider.example/pipelines/my-pipeline/run/1")
                                                .start(OffsetDateTime.now().plusSeconds(-120))
                                                .end(OffsetDateTime.now().plusSeconds(-30))
                                                .status(CIAppPipelineEventPipelineStatus.SUCCESS)
                                                .partialRetry(false)
                                                .git(
                                                    new CIAppGitInfo()
                                                        .repositoryUrl(
                                                            "https://github.com/DataDog/datadog-agent")
                                                        .sha(
                                                            "7f263865994b76066c4612fd1965215e7dcb4cd2")
                                                        .authorEmail("john.doe@email.com"))))))
                        .type(
                            CIAppCreatePipelineEventRequestDataType.CIPIPELINE_RESOURCE_REQUEST)));

    try {
      apiInstance.createCIAppPipelineEvent(body);
    } catch (ApiException e) {
      System.err.println(
          "Exception when calling CiVisibilityPipelinesApi#createCIAppPipelineEvent");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}
```

```java
// Send pipeline event with custom provider returns "Request accepted for processing" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.CiVisibilityPipelinesApi;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequest;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestAttributes;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestAttributesResource;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestData;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestDataSingleOrArray;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestDataType;
import com.datadog.api.client.v2.model.CIAppGitInfo;
import com.datadog.api.client.v2.model.CIAppPipelineEventFinishedPipeline;
import com.datadog.api.client.v2.model.CIAppPipelineEventPipeline;
import com.datadog.api.client.v2.model.CIAppPipelineEventPipelineLevel;
import com.datadog.api.client.v2.model.CIAppPipelineEventPipelineStatus;
import java.time.OffsetDateTime;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    CiVisibilityPipelinesApi apiInstance = new CiVisibilityPipelinesApi(defaultClient);

    CIAppCreatePipelineEventRequest body =
        new CIAppCreatePipelineEventRequest()
            .data(
                new CIAppCreatePipelineEventRequestDataSingleOrArray(
                    new CIAppCreatePipelineEventRequestData()
                        .attributes(
                            new CIAppCreatePipelineEventRequestAttributes()
                                .providerName("example-provider")
                                .resource(
                                    new CIAppCreatePipelineEventRequestAttributesResource(
                                        new CIAppPipelineEventPipeline(
                                            new CIAppPipelineEventFinishedPipeline()
                                                .level(CIAppPipelineEventPipelineLevel.PIPELINE)
                                                .uniqueId("3eacb6f3-ff04-4e10-8a9c-46e6d054024a")
                                                .name("Deploy to AWS")
                                                .url(
                                                    "https://my-ci-provider.example/pipelines/my-pipeline/run/1")
                                                .start(OffsetDateTime.now().plusSeconds(-120))
                                                .end(OffsetDateTime.now().plusSeconds(-30))
                                                .status(CIAppPipelineEventPipelineStatus.SUCCESS)
                                                .partialRetry(false)
                                                .git(
                                                    new CIAppGitInfo()
                                                        .repositoryUrl(
                                                            "https://github.com/DataDog/datadog-agent")
                                                        .sha(
                                                            "7f263865994b76066c4612fd1965215e7dcb4cd2")
                                                        .authorEmail("john.doe@email.com"))))))
                        .type(
                            CIAppCreatePipelineEventRequestDataType.CIPIPELINE_RESOURCE_REQUEST)));

    try {
      apiInstance.createCIAppPipelineEvent(body);
    } catch (ApiException e) {
      System.err.println(
          "Exception when calling CiVisibilityPipelinesApi#createCIAppPipelineEvent");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}
```

```java
// Send running job event returns "Request accepted for processing" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.CiVisibilityPipelinesApi;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequest;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestAttributes;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestAttributesResource;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestData;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestDataSingleOrArray;
import com.datadog.api.client.v2.model.CIAppCreatePipelineEventRequestDataType;
import com.datadog.api.client.v2.model.CIAppPipelineEventInProgressJob;
import com.datadog.api.client.v2.model.CIAppPipelineEventJob;
import com.datadog.api.client.v2.model.CIAppPipelineEventJobInProgressStatus;
import com.datadog.api.client.v2.model.CIAppPipelineEventJobLevel;
import java.time.OffsetDateTime;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    CiVisibilityPipelinesApi apiInstance = new CiVisibilityPipelinesApi(defaultClient);

    CIAppCreatePipelineEventRequest body =
        new CIAppCreatePipelineEventRequest()
            .data(
                new CIAppCreatePipelineEventRequestDataSingleOrArray(
                    new CIAppCreatePipelineEventRequestData()
                        .attributes(
                            new CIAppCreatePipelineEventRequestAttributes()
                                .resource(
                                    new CIAppCreatePipelineEventRequestAttributesResource(
                                        new CIAppPipelineEventJob(
                                            new CIAppPipelineEventInProgressJob()
                                                .level(CIAppPipelineEventJobLevel.JOB)
                                                .id("cf9456de-8b9e-4c27-aa79-27b1e78c1a33")
                                                .name("Build image")
                                                .pipelineUniqueId(
                                                    "3eacb6f3-ff04-4e10-8a9c-46e6d054024a")
                                                .pipelineName("Deploy to AWS")
                                                .start(OffsetDateTime.now().plusSeconds(-120))
                                                .status(
                                                    CIAppPipelineEventJobInProgressStatus.RUNNING)
                                                .url(
                                                    "https://my-ci-provider.example/jobs/my-jobs/run/1")))))
                        .type(
                            CIAppCreatePipelineEventRequestDataType.CIPIPELINE_RESOURCE_REQUEST)));

    try {
      apiInstance.createCIAppPipelineEvent(body);
    } catch (ApiException e) {
      System.err.println(
          "Exception when calling CiVisibilityPipelinesApi#createCIAppPipelineEvent");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}
```

#### Instructions

First [install the library and its dependencies](https://dnd37xeb23o8n.cloudfront.net/api/latest.md?code-lang=java) and then save the example to `Example.java` and run following commands:

```bash
DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"
```
{% /tab %}

{% tab label="Python" %}
```python
"""
Send pipeline event returns "Request accepted for processing" response
"""

from datetime import datetime
from dateutil.relativedelta import relativedelta
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.ci_visibility_pipelines_api import CIVisibilityPipelinesApi
from datadog_api_client.v2.model.ci_app_create_pipeline_event_request import CIAppCreatePipelineEventRequest
from datadog_api_client.v2.model.ci_app_create_pipeline_event_request_attributes import (
    CIAppCreatePipelineEventRequestAttributes,
)
from datadog_api_client.v2.model.ci_app_create_pipeline_event_request_data import CIAppCreatePipelineEventRequestData
from datadog_api_client.v2.model.ci_app_create_pipeline_event_request_data_type import (
    CIAppCreatePipelineEventRequestDataType,
)
from datadog_api_client.v2.model.ci_app_git_info import CIAppGitInfo
from datadog_api_client.v2.model.ci_app_pipeline_event_finished_pipeline import CIAppPipelineEventFinishedPipeline
from datadog_api_client.v2.model.ci_app_pipeline_event_pipeline_level import CIAppPipelineEventPipelineLevel
from datadog_api_client.v2.model.ci_app_pipeline_event_pipeline_status import CIAppPipelineEventPipelineStatus

body = CIAppCreatePipelineEventRequest(
    data=CIAppCreatePipelineEventRequestData(
        attributes=CIAppCreatePipelineEventRequestAttributes(
            resource=CIAppPipelineEventFinishedPipeline(
                level=CIAppPipelineEventPipelineLevel.PIPELINE,
                unique_id="3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
                name="Deploy to AWS",
                url="https://my-ci-provider.example/pipelines/my-pipeline/run/1",
                start=(datetime.now() + relativedelta(seconds=-120)),
                end=(datetime.now() + relativedelta(seconds=-30)),
                status=CIAppPipelineEventPipelineStatus.SUCCESS,
                partial_retry=False,
                git=CIAppGitInfo(
                    repository_url="https://github.com/DataDog/datadog-agent",
                    sha="7f263865994b76066c4612fd1965215e7dcb4cd2",
                    author_email="john.doe@email.com",
                ),
            ),
        ),
        type=CIAppCreatePipelineEventRequestDataType.CIPIPELINE_RESOURCE_REQUEST,
    ),
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
    api_instance = CIVisibilityPipelinesApi(api_client)
    response = api_instance.create_ci_app_pipeline_event(body=body)

    print(response)
```

```python
"""
Send pipeline event with custom provider returns "Request accepted for processing" response
"""

from datetime import datetime
from dateutil.relativedelta import relativedelta
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.ci_visibility_pipelines_api import CIVisibilityPipelinesApi
from datadog_api_client.v2.model.ci_app_create_pipeline_event_request import CIAppCreatePipelineEventRequest
from datadog_api_client.v2.model.ci_app_create_pipeline_event_request_attributes import (
    CIAppCreatePipelineEventRequestAttributes,
)
from datadog_api_client.v2.model.ci_app_create_pipeline_event_request_data import CIAppCreatePipelineEventRequestData
from datadog_api_client.v2.model.ci_app_create_pipeline_event_request_data_type import (
    CIAppCreatePipelineEventRequestDataType,
)
from datadog_api_client.v2.model.ci_app_git_info import CIAppGitInfo
from datadog_api_client.v2.model.ci_app_pipeline_event_finished_pipeline import CIAppPipelineEventFinishedPipeline
from datadog_api_client.v2.model.ci_app_pipeline_event_pipeline_level import CIAppPipelineEventPipelineLevel
from datadog_api_client.v2.model.ci_app_pipeline_event_pipeline_status import CIAppPipelineEventPipelineStatus

body = CIAppCreatePipelineEventRequest(
    data=CIAppCreatePipelineEventRequestData(
        attributes=CIAppCreatePipelineEventRequestAttributes(
            provider_name="example-provider",
            resource=CIAppPipelineEventFinishedPipeline(
                level=CIAppPipelineEventPipelineLevel.PIPELINE,
                unique_id="3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
                name="Deploy to AWS",
                url="https://my-ci-provider.example/pipelines/my-pipeline/run/1",
                start=(datetime.now() + relativedelta(seconds=-120)),
                end=(datetime.now() + relativedelta(seconds=-30)),
                status=CIAppPipelineEventPipelineStatus.SUCCESS,
                partial_retry=False,
                git=CIAppGitInfo(
                    repository_url="https://github.com/DataDog/datadog-agent",
                    sha="7f263865994b76066c4612fd1965215e7dcb4cd2",
                    author_email="john.doe@email.com",
                ),
            ),
        ),
        type=CIAppCreatePipelineEventRequestDataType.CIPIPELINE_RESOURCE_REQUEST,
    ),
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
    api_instance = CIVisibilityPipelinesApi(api_client)
    response = api_instance.create_ci_app_pipeline_event(body=body)

    print(response)
```

```python
"""
Send running job event returns "Request accepted for processing" response
"""

from datetime import datetime
from dateutil.relativedelta import relativedelta
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.ci_visibility_pipelines_api import CIVisibilityPipelinesApi
from datadog_api_client.v2.model.ci_app_create_pipeline_event_request import CIAppCreatePipelineEventRequest
from datadog_api_client.v2.model.ci_app_create_pipeline_event_request_attributes import (
    CIAppCreatePipelineEventRequestAttributes,
)
from datadog_api_client.v2.model.ci_app_create_pipeline_event_request_data import CIAppCreatePipelineEventRequestData
from datadog_api_client.v2.model.ci_app_create_pipeline_event_request_data_type import (
    CIAppCreatePipelineEventRequestDataType,
)
from datadog_api_client.v2.model.ci_app_pipeline_event_in_progress_job import CIAppPipelineEventInProgressJob
from datadog_api_client.v2.model.ci_app_pipeline_event_job_in_progress_status import (
    CIAppPipelineEventJobInProgressStatus,
)
from datadog_api_client.v2.model.ci_app_pipeline_event_job_level import CIAppPipelineEventJobLevel

body = CIAppCreatePipelineEventRequest(
    data=CIAppCreatePipelineEventRequestData(
        attributes=CIAppCreatePipelineEventRequestAttributes(
            resource=CIAppPipelineEventInProgressJob(
                level=CIAppPipelineEventJobLevel.JOB,
                id="cf9456de-8b9e-4c27-aa79-27b1e78c1a33",
                name="Build image",
                pipeline_unique_id="3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
                pipeline_name="Deploy to AWS",
                start=(datetime.now() + relativedelta(seconds=-120)),
                status=CIAppPipelineEventJobInProgressStatus.RUNNING,
                url="https://my-ci-provider.example/jobs/my-jobs/run/1",
            ),
        ),
        type=CIAppCreatePipelineEventRequestDataType.CIPIPELINE_RESOURCE_REQUEST,
    ),
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
    api_instance = CIVisibilityPipelinesApi(api_client)
    response = api_instance.create_ci_app_pipeline_event(body=body)

    print(response)
```

#### Instructions

First [install the library and its dependencies](https://dnd37xeb23o8n.cloudfront.net/api/latest.md?code-lang=python) and then save the example to `example.py` and run following commands:

```bash
DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"
```
{% /tab %}

{% tab label="Ruby" %}
```ruby
# Send pipeline event returns "Request accepted for processing" response

require "datadog_api_client"
api_instance = DatadogAPIClient::V2::CIVisibilityPipelinesAPI.new

body = DatadogAPIClient::V2::CIAppCreatePipelineEventRequest.new({
  data: DatadogAPIClient::V2::CIAppCreatePipelineEventRequestData.new({
    attributes: DatadogAPIClient::V2::CIAppCreatePipelineEventRequestAttributes.new({
      resource: DatadogAPIClient::V2::CIAppPipelineEventFinishedPipeline.new({
        level: DatadogAPIClient::V2::CIAppPipelineEventPipelineLevel::PIPELINE,
        unique_id: "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
        name: "Deploy to AWS",
        url: "https://my-ci-provider.example/pipelines/my-pipeline/run/1",
        start: (Time.now + -120),
        _end: (Time.now + -30),
        status: DatadogAPIClient::V2::CIAppPipelineEventPipelineStatus::SUCCESS,
        partial_retry: false,
        git: DatadogAPIClient::V2::CIAppGitInfo.new({
          repository_url: "https://github.com/DataDog/datadog-agent",
          sha: "7f263865994b76066c4612fd1965215e7dcb4cd2",
          author_email: "john.doe@email.com",
        }),
      }),
    }),
    type: DatadogAPIClient::V2::CIAppCreatePipelineEventRequestDataType::CIPIPELINE_RESOURCE_REQUEST,
  }),
})
p api_instance.create_ci_app_pipeline_event(body)
```

```ruby
# Send pipeline event with custom provider returns "Request accepted for processing" response

require "datadog_api_client"
api_instance = DatadogAPIClient::V2::CIVisibilityPipelinesAPI.new

body = DatadogAPIClient::V2::CIAppCreatePipelineEventRequest.new({
  data: DatadogAPIClient::V2::CIAppCreatePipelineEventRequestData.new({
    attributes: DatadogAPIClient::V2::CIAppCreatePipelineEventRequestAttributes.new({
      provider_name: "example-provider",
      resource: DatadogAPIClient::V2::CIAppPipelineEventFinishedPipeline.new({
        level: DatadogAPIClient::V2::CIAppPipelineEventPipelineLevel::PIPELINE,
        unique_id: "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
        name: "Deploy to AWS",
        url: "https://my-ci-provider.example/pipelines/my-pipeline/run/1",
        start: (Time.now + -120),
        _end: (Time.now + -30),
        status: DatadogAPIClient::V2::CIAppPipelineEventPipelineStatus::SUCCESS,
        partial_retry: false,
        git: DatadogAPIClient::V2::CIAppGitInfo.new({
          repository_url: "https://github.com/DataDog/datadog-agent",
          sha: "7f263865994b76066c4612fd1965215e7dcb4cd2",
          author_email: "john.doe@email.com",
        }),
      }),
    }),
    type: DatadogAPIClient::V2::CIAppCreatePipelineEventRequestDataType::CIPIPELINE_RESOURCE_REQUEST,
  }),
})
p api_instance.create_ci_app_pipeline_event(body)
```

```ruby
# Send running job event returns "Request accepted for processing" response

require "datadog_api_client"
api_instance = DatadogAPIClient::V2::CIVisibilityPipelinesAPI.new

body = DatadogAPIClient::V2::CIAppCreatePipelineEventRequest.new({
  data: DatadogAPIClient::V2::CIAppCreatePipelineEventRequestData.new({
    attributes: DatadogAPIClient::V2::CIAppCreatePipelineEventRequestAttributes.new({
      resource: DatadogAPIClient::V2::CIAppPipelineEventInProgressJob.new({
        level: DatadogAPIClient::V2::CIAppPipelineEventJobLevel::JOB,
        id: "cf9456de-8b9e-4c27-aa79-27b1e78c1a33",
        name: "Build image",
        pipeline_unique_id: "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
        pipeline_name: "Deploy to AWS",
        start: (Time.now + -120),
        status: DatadogAPIClient::V2::CIAppPipelineEventJobInProgressStatus::RUNNING,
        url: "https://my-ci-provider.example/jobs/my-jobs/run/1",
      }),
    }),
    type: DatadogAPIClient::V2::CIAppCreatePipelineEventRequestDataType::CIPIPELINE_RESOURCE_REQUEST,
  }),
})
p api_instance.create_ci_app_pipeline_event(body)
```

#### Instructions

First [install the library and its dependencies](https://dnd37xeb23o8n.cloudfront.net/api/latest.md?code-lang=ruby) and then save the example to `example.rb` and run following commands:

```bash
DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"
```
{% /tab %}

{% tab label="Rust" %}
```rust
// Send pipeline event returns "Request accepted for processing" response
use chrono::{DateTime, Utc};
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_ci_visibility_pipelines::CIVisibilityPipelinesAPI;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequest;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestAttributes;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestAttributesResource;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestData;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestDataSingleOrArray;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestDataType;
use datadog_api_client::datadogV2::model::CIAppGitInfo;
use datadog_api_client::datadogV2::model::CIAppPipelineEventFinishedPipeline;
use datadog_api_client::datadogV2::model::CIAppPipelineEventPipeline;
use datadog_api_client::datadogV2::model::CIAppPipelineEventPipelineLevel;
use datadog_api_client::datadogV2::model::CIAppPipelineEventPipelineStatus;

#[tokio::main]
async fn main() {
    let body =
        CIAppCreatePipelineEventRequest
        ::new().data(
            CIAppCreatePipelineEventRequestDataSingleOrArray::CIAppCreatePipelineEventRequestData(
                Box::new(
                    CIAppCreatePipelineEventRequestData::new()
                        .attributes(
                            CIAppCreatePipelineEventRequestAttributes::new(
                                CIAppCreatePipelineEventRequestAttributesResource::CIAppPipelineEventPipeline(
                                    Box::new(
                                        CIAppPipelineEventPipeline::CIAppPipelineEventFinishedPipeline(
                                            Box::new(
                                                CIAppPipelineEventFinishedPipeline::new(
                                                    DateTime::parse_from_rfc3339("2021-11-11T11:10:41+00:00")
                                                        .expect("Failed to parse datetime")
                                                        .with_timezone(&Utc),
                                                    CIAppPipelineEventPipelineLevel::PIPELINE,
                                                    "Deploy to AWS".to_string(),
                                                    false,
                                                    DateTime::parse_from_rfc3339("2021-11-11T11:09:11+00:00")
                                                        .expect("Failed to parse datetime")
                                                        .with_timezone(&Utc),
                                                    CIAppPipelineEventPipelineStatus::SUCCESS,
                                                    "3eacb6f3-ff04-4e10-8a9c-46e6d054024a".to_string(),
                                                    "https://my-ci-provider.example/pipelines/my-pipeline/run/1".to_string(),
                                                ).git(
                                                    Some(
                                                        CIAppGitInfo::new(
                                                            "john.doe@email.com".to_string(),
                                                            "https://github.com/DataDog/datadog-agent".to_string(),
                                                            "7f263865994b76066c4612fd1965215e7dcb4cd2".to_string(),
                                                        ),
                                                    ),
                                                ),
                                            ),
                                        ),
                                    ),
                                ),
                            ),
                        )
                        .type_(CIAppCreatePipelineEventRequestDataType::CIPIPELINE_RESOURCE_REQUEST),
                ),
            ),
        );
    let configuration = datadog::Configuration::new();
    let api = CIVisibilityPipelinesAPI::with_config(configuration);
    let resp = api.create_ci_app_pipeline_event(body).await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}
```

```rust
// Send pipeline event with custom provider returns "Request accepted for
// processing" response
use chrono::{DateTime, Utc};
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_ci_visibility_pipelines::CIVisibilityPipelinesAPI;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequest;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestAttributes;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestAttributesResource;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestData;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestDataSingleOrArray;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestDataType;
use datadog_api_client::datadogV2::model::CIAppGitInfo;
use datadog_api_client::datadogV2::model::CIAppPipelineEventFinishedPipeline;
use datadog_api_client::datadogV2::model::CIAppPipelineEventPipeline;
use datadog_api_client::datadogV2::model::CIAppPipelineEventPipelineLevel;
use datadog_api_client::datadogV2::model::CIAppPipelineEventPipelineStatus;

#[tokio::main]
async fn main() {
    let body =
        CIAppCreatePipelineEventRequest
        ::new().data(
            CIAppCreatePipelineEventRequestDataSingleOrArray::CIAppCreatePipelineEventRequestData(
                Box::new(
                    CIAppCreatePipelineEventRequestData::new()
                        .attributes(
                            CIAppCreatePipelineEventRequestAttributes::new(
                                CIAppCreatePipelineEventRequestAttributesResource::CIAppPipelineEventPipeline(
                                    Box::new(
                                        CIAppPipelineEventPipeline::CIAppPipelineEventFinishedPipeline(
                                            Box::new(
                                                CIAppPipelineEventFinishedPipeline::new(
                                                    DateTime::parse_from_rfc3339("2021-11-11T11:10:41+00:00")
                                                        .expect("Failed to parse datetime")
                                                        .with_timezone(&Utc),
                                                    CIAppPipelineEventPipelineLevel::PIPELINE,
                                                    "Deploy to AWS".to_string(),
                                                    false,
                                                    DateTime::parse_from_rfc3339("2021-11-11T11:09:11+00:00")
                                                        .expect("Failed to parse datetime")
                                                        .with_timezone(&Utc),
                                                    CIAppPipelineEventPipelineStatus::SUCCESS,
                                                    "3eacb6f3-ff04-4e10-8a9c-46e6d054024a".to_string(),
                                                    "https://my-ci-provider.example/pipelines/my-pipeline/run/1".to_string(),
                                                ).git(
                                                    Some(
                                                        CIAppGitInfo::new(
                                                            "john.doe@email.com".to_string(),
                                                            "https://github.com/DataDog/datadog-agent".to_string(),
                                                            "7f263865994b76066c4612fd1965215e7dcb4cd2".to_string(),
                                                        ),
                                                    ),
                                                ),
                                            ),
                                        ),
                                    ),
                                ),
                            ).provider_name("example-provider".to_string()),
                        )
                        .type_(CIAppCreatePipelineEventRequestDataType::CIPIPELINE_RESOURCE_REQUEST),
                ),
            ),
        );
    let configuration = datadog::Configuration::new();
    let api = CIVisibilityPipelinesAPI::with_config(configuration);
    let resp = api.create_ci_app_pipeline_event(body).await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}
```

```rust
// Send running job event returns "Request accepted for processing" response
use chrono::{DateTime, Utc};
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_ci_visibility_pipelines::CIVisibilityPipelinesAPI;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequest;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestAttributes;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestAttributesResource;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestData;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestDataSingleOrArray;
use datadog_api_client::datadogV2::model::CIAppCreatePipelineEventRequestDataType;
use datadog_api_client::datadogV2::model::CIAppPipelineEventInProgressJob;
use datadog_api_client::datadogV2::model::CIAppPipelineEventJob;
use datadog_api_client::datadogV2::model::CIAppPipelineEventJobInProgressStatus;
use datadog_api_client::datadogV2::model::CIAppPipelineEventJobLevel;

#[tokio::main]
async fn main() {
    let body = CIAppCreatePipelineEventRequest::new().data(
        CIAppCreatePipelineEventRequestDataSingleOrArray::CIAppCreatePipelineEventRequestData(
            Box::new(
                CIAppCreatePipelineEventRequestData::new()
                    .attributes(CIAppCreatePipelineEventRequestAttributes::new(
                        CIAppCreatePipelineEventRequestAttributesResource::CIAppPipelineEventJob(
                            Box::new(CIAppPipelineEventJob::CIAppPipelineEventInProgressJob(
                                Box::new(CIAppPipelineEventInProgressJob::new(
                                    "cf9456de-8b9e-4c27-aa79-27b1e78c1a33".to_string(),
                                    CIAppPipelineEventJobLevel::JOB,
                                    "Build image".to_string(),
                                    "Deploy to AWS".to_string(),
                                    "3eacb6f3-ff04-4e10-8a9c-46e6d054024a".to_string(),
                                    DateTime::parse_from_rfc3339("2021-11-11T11:09:11+00:00")
                                        .expect("Failed to parse datetime")
                                        .with_timezone(&Utc),
                                    CIAppPipelineEventJobInProgressStatus::RUNNING,
                                    "https://my-ci-provider.example/jobs/my-jobs/run/1".to_string(),
                                )),
                            )),
                        ),
                    ))
                    .type_(CIAppCreatePipelineEventRequestDataType::CIPIPELINE_RESOURCE_REQUEST),
            ),
        ),
    );
    let configuration = datadog::Configuration::new();
    let api = CIVisibilityPipelinesAPI::with_config(configuration);
    let resp = api.create_ci_app_pipeline_event(body).await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}
```

#### Instructions

First [install the library and its dependencies](https://dnd37xeb23o8n.cloudfront.net/api/latest.md?code-lang=rust) and then save the example to `src/main.rs` and run following commands:

```bash
DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" cargo run
```
{% /tab %}

{% tab label="TypeScript" %}
```typescript
/**
 * Send pipeline event returns "Request accepted for processing" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
const apiInstance = new v2.CIVisibilityPipelinesApi(configuration);

const params: v2.CIVisibilityPipelinesApiCreateCIAppPipelineEventRequest = {
  body: {
    data: {
      attributes: {
        resource: {
          level: "pipeline",
          uniqueId: "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
          name: "Deploy to AWS",
          url: "https://my-ci-provider.example/pipelines/my-pipeline/run/1",
          start: new Date(new Date().getTime() + -120 * 1000),
          end: new Date(new Date().getTime() + -30 * 1000),
          status: "success",
          partialRetry: false,
          git: {
            repositoryUrl: "https://github.com/DataDog/datadog-agent",
            sha: "7f263865994b76066c4612fd1965215e7dcb4cd2",
            authorEmail: "john.doe@email.com",
          },
        },
      },
      type: "cipipeline_resource_request",
    },
  },
};

apiInstance
  .createCIAppPipelineEvent(params)
  .then((data: any) => {
    console.log(
      "API called successfully. Returned data: " + JSON.stringify(data)
    );
  })
  .catch((error: any) => console.error(error));
```

```typescript
/**
 * Send pipeline event with custom provider returns "Request accepted for processing" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
const apiInstance = new v2.CIVisibilityPipelinesApi(configuration);

const params: v2.CIVisibilityPipelinesApiCreateCIAppPipelineEventRequest = {
  body: {
    data: {
      attributes: {
        providerName: "example-provider",
        resource: {
          level: "pipeline",
          uniqueId: "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
          name: "Deploy to AWS",
          url: "https://my-ci-provider.example/pipelines/my-pipeline/run/1",
          start: new Date(new Date().getTime() + -120 * 1000),
          end: new Date(new Date().getTime() + -30 * 1000),
          status: "success",
          partialRetry: false,
          git: {
            repositoryUrl: "https://github.com/DataDog/datadog-agent",
            sha: "7f263865994b76066c4612fd1965215e7dcb4cd2",
            authorEmail: "john.doe@email.com",
          },
        },
      },
      type: "cipipeline_resource_request",
    },
  },
};

apiInstance
  .createCIAppPipelineEvent(params)
  .then((data: any) => {
    console.log(
      "API called successfully. Returned data: " + JSON.stringify(data)
    );
  })
  .catch((error: any) => console.error(error));
```

```typescript
/**
 * Send running job event returns "Request accepted for processing" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
const apiInstance = new v2.CIVisibilityPipelinesApi(configuration);

const params: v2.CIVisibilityPipelinesApiCreateCIAppPipelineEventRequest = {
  body: {
    data: {
      attributes: {
        resource: {
          level: "job",
          id: "cf9456de-8b9e-4c27-aa79-27b1e78c1a33",
          name: "Build image",
          pipelineUniqueId: "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
          pipelineName: "Deploy to AWS",
          start: new Date(new Date().getTime() + -120 * 1000),
          status: "running",
          url: "https://my-ci-provider.example/jobs/my-jobs/run/1",
        },
      },
      type: "cipipeline_resource_request",
    },
  },
};

apiInstance
  .createCIAppPipelineEvent(params)
  .then((data: any) => {
    console.log(
      "API called successfully. Returned data: " + JSON.stringify(data)
    );
  })
  .catch((error: any) => console.error(error));
```

#### Instructions

First [install the library and its dependencies](https://dnd37xeb23o8n.cloudfront.net/api/latest.md?code-lang=typescript) and then save the example to `example.ts` and run following commands:

```bash
DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"
```
{% /tab %}
{% /tabs %}
