---
title: Envoyer un événement de pipeline
description: Envoyer votre événement de pipeline à votre plateforme Datadog via HTTP.
breadcrumbs: Documentation > API > Envoyer un événement de pipeline
---

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

# Envoyer un événement de pipeline

## 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

Envoyer votre événement de pipeline à votre plateforme Datadog via HTTP. Pour plus de détails sur la modélisation des exécutions de pipelines et les types d'exécution pris en charge, consultez [Pipeline Data Model And Execution Types](https://docs.datadoghq.com/continuous_integration/guides/pipeline_data_model.md).

Plusieurs événements peuvent être envoyés dans un tableau (jusqu'à 1&nbsp;000).

Les événements de pipeline peuvent être soumis avec un horodatage remontant jusqu'à 18 heures dans le passé.
La durée entre les heures de début et de fin de l'événement ne peut pas dépasser 1&nbsp;an.

### Request

#### Body Data (required)

{% tabs %}
{% tab label="Model" %}
| Parent field                       | Field                              | Type      | Description                                                                                                                                                                                             |
| ---------------------------------- | ---------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|                                    | data                               | <oneOf>   | Objet de requête.                                                                                                                                                                                       |
| 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 %}
