---
title: Send pipeline event
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: Docs > API Reference > CI Visibility Pipelines
---

# Send pipeline event{% #send-pipeline-event %}
Copy pageCopied
{% tab title="v2" %}

| Datadog site      | API endpoint                                          |
| ----------------- | ----------------------------------------------------- |
| 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 |
| app.datadoghq.eu  | POST https://api.datadoghq.eu/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  |
| 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 |

### Overview



Send your pipeline event to your Datadog platform over HTTP. For details about how pipeline executions are modeled and what execution types we support, see [Pipeline Data Model And Execution Types](https://docs.datadoghq.com/continuous_integration/guides/pipeline_data_model.md).

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

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



### Request

#### Body Data (required)



{% tab title="Model" %}

| Parent field         | Field                                | Type          | Description                                                                                                                                                                                             |
| -------------------- | ------------------------------------ | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|                      | data                                 |  <oneOf> | Data of the pipeline events to create.                                                                                                                                                                  |
| data                 | Option 1                             | object        | Data of the pipeline event to create.                                                                                                                                                                   |
| Option 1             | 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             | Option 1                             |  <oneOf> | Details of the top level pipeline, build, or workflow of your CI.                                                                                                                                       |
| Option 1             | Option 1                             | object        | Details of a finished pipeline.                                                                                                                                                                         |
| Option 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.                                                               |
| Option 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.                                                                                                                                                                    |
| Option 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).                                                                                                                                                    |
| Option 1             | is_manual                            | boolean       | Whether or not the pipeline was triggered manually by the user.                                                                                                                                         |
| Option 1             | is_resumed                           | boolean       | Whether or not the pipeline was resumed after being blocked.                                                                                                                                            |
| Option 1             | level [*required*]              | enum          | Used to distinguish between pipelines, stages, jobs, and steps. Allowed enum values: `pipeline`                                                                                                         |
| Option 1             | metrics                              | [string]      | A list of user-defined metrics. The metrics must follow the `key:value` pattern and the value must be numeric.                                                                                          |
| Option 1             | name [*required*]               | string        | Name of the pipeline. All pipeline runs for the builds should have the same name.                                                                                                                       |
| Option 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.                                                                                                                                                                 |
| Option 1             | parameters                           | object        | A map of key-value parameters or environment variables that were defined for the pipeline.                                                                                                              |
| additionalProperties | <any-key>                            | string        |
| Option 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.                                                                                                                                                  |
| Option 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.                                                            |
| Option 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. |
| Option 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.                                                                                                                                                  |
| Option 1             | queue_time                           | int64         | The queue time in milliseconds, if applicable.                                                                                                                                                          |
| Option 1             | start [*required*]              | date-time     | Time when the pipeline run started (it should not include any queue time). The time format must be RFC3339.                                                                                             |
| Option 1             | status [*required*]             | enum          | The final status of the pipeline. Allowed enum values: `success,error,canceled,skipped,blocked`                                                                                                         |
| Option 1             | tags                                 | [string]      | A list of user-defined tags. The tags must follow the `key:value` pattern.                                                                                                                              |
| Option 1             | unique_id [*required*]          | string        | UUID of the pipeline run. The ID has to be unique across retries and pipelines, including partial retries.                                                                                              |
| Option 1             | url [*required*]                | string        | The URL to look at the pipeline in the CI provider UI.                                                                                                                                                  |
| Option 1             | Option 2                             | object        | Details of a running pipeline.                                                                                                                                                                          |
| Option 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.                                                                                                                                                                    |
| Option 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).                                                                                                                                                    |
| Option 2             | is_manual                            | boolean       | Whether or not the pipeline was triggered manually by the user.                                                                                                                                         |
| Option 2             | is_resumed                           | boolean       | Whether or not the pipeline was resumed after being blocked.                                                                                                                                            |
| Option 2             | level [*required*]              | enum          | Used to distinguish between pipelines, stages, jobs, and steps. Allowed enum values: `pipeline`                                                                                                         |
| Option 2             | metrics                              | [string]      | A list of user-defined metrics. The metrics must follow the `key:value` pattern and the value must be numeric.                                                                                          |
| Option 2             | name [*required*]               | string        | Name of the pipeline. All pipeline runs for the builds should have the same name.                                                                                                                       |
| Option 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.                                                                                                                                                                 |
| Option 2             | parameters                           | object        | A map of key-value parameters or environment variables that were defined for the pipeline.                                                                                                              |
| additionalProperties | <any-key>                            | string        |
| Option 2             | 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.                                                                                                                                                  |
| Option 2             | 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.                                                            |
| Option 2             | 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. |
| Option 2             | 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.                                                                                                                                                  |
| Option 2             | queue_time                           | int64         | The queue time in milliseconds, if applicable.                                                                                                                                                          |
| Option 2             | start [*required*]              | date-time     | Time when the pipeline run started (it should not include any queue time). The time format must be RFC3339.                                                                                             |
| Option 2             | status [*required*]             | enum          | The in progress status of the pipeline. Allowed enum values: `running`                                                                                                                                  |
| Option 2             | tags                                 | [string]      | A list of user-defined tags. The tags must follow the `key:value` pattern.                                                                                                                              |
| Option 2             | unique_id [*required*]          | string        | UUID of the pipeline run. The ID has to be the same as the finished pipeline.                                                                                                                           |
| Option 2             | url [*required*]                | string        | The URL to look at the pipeline in the CI provider UI.                                                                                                                                                  |
| resource             | Option 2                             | object        | Details of a CI stage.                                                                                                                                                                                  |
| Option 2             | dependencies                         | [string]      | A list of stage IDs that this stage depends on.                                                                                                                                                         |
| Option 2             | end [*required*]                | date-time     | Time when the stage run finished. The time format must be RFC3339.                                                                                                                                      |
| Option 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.                                                                                                                                                                    |
| Option 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).                                                                                                                                                    |
| Option 2             | id [*required*]                 | string        | UUID for the stage. It has to be unique at least in the pipeline scope.                                                                                                                                 |
| Option 2             | level [*required*]              | enum          | Used to distinguish between pipelines, stages, jobs and steps. Allowed enum values: `stage`                                                                                                             |
| Option 2             | metrics                              | [string]      | A list of user-defined metrics. The metrics must follow the `key:value` pattern and the value must be numeric.                                                                                          |
| Option 2             | name [*required*]               | string        | The name for the stage.                                                                                                                                                                                 |
| Option 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.                                                                                                                                                                 |
| Option 2             | parameters                           | object        | A map of key-value parameters or environment variables that were defined for the pipeline.                                                                                                              |
| additionalProperties | <any-key>                            | string        |
| Option 2             | pipeline_name [*required*]      | string        | The parent pipeline name.                                                                                                                                                                               |
| Option 2             | pipeline_unique_id [*required*] | string        | The parent pipeline UUID.                                                                                                                                                                               |
| Option 2             | queue_time                           | int64         | The queue time in milliseconds, if applicable.                                                                                                                                                          |
| Option 2             | start [*required*]              | date-time     | Time when the stage run started (it should not include any queue time). The time format must be RFC3339.                                                                                                |
| Option 2             | status [*required*]             | enum          | The final status of the stage. Allowed enum values: `success,error,canceled,skipped`                                                                                                                    |
| Option 2             | tags                                 | [string]      | A list of user-defined tags. The tags must follow the `key:value` pattern.                                                                                                                              |
| resource             | Option 3                             | object        | Details of a CI job.                                                                                                                                                                                    |
| Option 3             | dependencies                         | [string]      | A list of job IDs that this job depends on.                                                                                                                                                             |
| Option 3             | end [*required*]                | date-time     | Time when the job run finished. The time format must be RFC3339.                                                                                                                                        |
| Option 3             | 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.                                                                                                                                                                    |
| Option 3             | 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).                                                                                                                                                    |
| Option 3             | id [*required*]                 | string        | The UUID for the job. It has to be unique within each pipeline execution.                                                                                                                               |
| Option 3             | level [*required*]              | enum          | Used to distinguish between pipelines, stages, jobs, and steps. Allowed enum values: `job`                                                                                                              |
| Option 3             | metrics                              | [string]      | A list of user-defined metrics. The metrics must follow the `key:value` pattern and the value must be numeric.                                                                                          |
| Option 3             | name [*required*]               | string        | The name for the job.                                                                                                                                                                                   |
| Option 3             | 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.                                                                                                                                                                 |
| Option 3             | parameters                           | object        | A map of key-value parameters or environment variables that were defined for the pipeline.                                                                                                              |
| additionalProperties | <any-key>                            | string        |
| Option 3             | pipeline_name [*required*]      | string        | The parent pipeline name.                                                                                                                                                                               |
| Option 3             | pipeline_unique_id [*required*] | string        | The parent pipeline UUID.                                                                                                                                                                               |
| Option 3             | queue_time                           | int64         | The queue time in milliseconds, if applicable.                                                                                                                                                          |
| Option 3             | stage_id                             | string        | The parent stage UUID (if applicable).                                                                                                                                                                  |
| Option 3             | stage_name                           | string        | The parent stage name (if applicable).                                                                                                                                                                  |
| Option 3             | start [*required*]              | date-time     | Time when the job run instance started (it should not include any queue time). The time format must be RFC3339.                                                                                         |
| Option 3             | status [*required*]             | enum          | The final status of the job. Allowed enum values: `success,error,canceled,skipped`                                                                                                                      |
| Option 3             | tags                                 | [string]      | A list of user-defined tags. The tags must follow the `key:value` pattern.                                                                                                                              |
| Option 3             | url [*required*]                | string        | The URL to look at the job in the CI provider UI.                                                                                                                                                       |
| resource             | Option 4                             | object        | Details of a CI step.                                                                                                                                                                                   |
| Option 4             | end [*required*]                | date-time     | Time when the step run finished. The time format must be RFC3339.                                                                                                                                       |
| Option 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.                                                                                                                                                                    |
| Option 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).                                                                                                                                                    |
| Option 4             | id [*required*]                 | string        | UUID for the step. It has to be unique within each pipeline execution.                                                                                                                                  |
| Option 4             | job_id                               | string        | The parent job UUID (if applicable).                                                                                                                                                                    |
| Option 4             | job_name                             | string        | The parent job name (if applicable).                                                                                                                                                                    |
| Option 4             | level [*required*]              | enum          | Used to distinguish between pipelines, stages, jobs and steps. Allowed enum values: `step`                                                                                                              |
| Option 4             | metrics                              | [string]      | A list of user-defined metrics. The metrics must follow the `key:value` pattern and the value must be numeric.                                                                                          |
| Option 4             | name [*required*]               | string        | The name for the step.                                                                                                                                                                                  |
| Option 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.                                                                                                                                                                 |
| Option 4             | parameters                           | object        | A map of key-value parameters or environment variables that were defined for the pipeline.                                                                                                              |
| additionalProperties | <any-key>                            | string        |
| Option 4             | pipeline_name [*required*]      | string        | The parent pipeline name.                                                                                                                                                                               |
| Option 4             | pipeline_unique_id [*required*] | string        | The parent pipeline UUID.                                                                                                                                                                               |
| Option 4             | stage_id                             | string        | The parent stage UUID (if applicable).                                                                                                                                                                  |
| Option 4             | stage_name                           | string        | The parent stage name (if applicable).                                                                                                                                                                  |
| Option 4             | start [*required*]              | date-time     | Time when the step run started. The time format must be RFC3339.                                                                                                                                        |
| Option 4             | status [*required*]             | enum          | The final status of the step. Allowed enum values: `success,error`                                                                                                                                      |
| Option 4             | tags                                 | [string]      | A list of user-defined tags. The tags must follow the `key:value` pattern.                                                                                                                              |
| Option 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.                                                                                                                                |
| Option 1             | type                                 | enum          | Type of the event. Allowed enum values: `cipipeline_resource_request`                                                                                                                                   |
| data                 | Option 2                             | [object]      | Array of pipeline events to create in batch.                                                                                                                                                            |
| Option 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             | Option 1                             |  <oneOf> | Details of the top level pipeline, build, or workflow of your CI.                                                                                                                                       |
| Option 1             | Option 1                             | object        | Details of a finished pipeline.                                                                                                                                                                         |
| Option 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.                                                               |
| Option 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.                                                                                                                                                                    |
| Option 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).                                                                                                                                                    |
| Option 1             | is_manual                            | boolean       | Whether or not the pipeline was triggered manually by the user.                                                                                                                                         |
| Option 1             | is_resumed                           | boolean       | Whether or not the pipeline was resumed after being blocked.                                                                                                                                            |
| Option 1             | level [*required*]              | enum          | Used to distinguish between pipelines, stages, jobs, and steps. Allowed enum values: `pipeline`                                                                                                         |
| Option 1             | metrics                              | [string]      | A list of user-defined metrics. The metrics must follow the `key:value` pattern and the value must be numeric.                                                                                          |
| Option 1             | name [*required*]               | string        | Name of the pipeline. All pipeline runs for the builds should have the same name.                                                                                                                       |
| Option 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.                                                                                                                                                                 |
| Option 1             | parameters                           | object        | A map of key-value parameters or environment variables that were defined for the pipeline.                                                                                                              |
| additionalProperties | <any-key>                            | string        |
| Option 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.                                                                                                                                                  |
| Option 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.                                                            |
| Option 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. |
| Option 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.                                                                                                                                                  |
| Option 1             | queue_time                           | int64         | The queue time in milliseconds, if applicable.                                                                                                                                                          |
| Option 1             | start [*required*]              | date-time     | Time when the pipeline run started (it should not include any queue time). The time format must be RFC3339.                                                                                             |
| Option 1             | status [*required*]             | enum          | The final status of the pipeline. Allowed enum values: `success,error,canceled,skipped,blocked`                                                                                                         |
| Option 1             | tags                                 | [string]      | A list of user-defined tags. The tags must follow the `key:value` pattern.                                                                                                                              |
| Option 1             | unique_id [*required*]          | string        | UUID of the pipeline run. The ID has to be unique across retries and pipelines, including partial retries.                                                                                              |
| Option 1             | url [*required*]                | string        | The URL to look at the pipeline in the CI provider UI.                                                                                                                                                  |
| Option 1             | Option 2                             | object        | Details of a running pipeline.                                                                                                                                                                          |
| Option 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.                                                                                                                                                                    |
| Option 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).                                                                                                                                                    |
| Option 2             | is_manual                            | boolean       | Whether or not the pipeline was triggered manually by the user.                                                                                                                                         |
| Option 2             | is_resumed                           | boolean       | Whether or not the pipeline was resumed after being blocked.                                                                                                                                            |
| Option 2             | level [*required*]              | enum          | Used to distinguish between pipelines, stages, jobs, and steps. Allowed enum values: `pipeline`                                                                                                         |
| Option 2             | metrics                              | [string]      | A list of user-defined metrics. The metrics must follow the `key:value` pattern and the value must be numeric.                                                                                          |
| Option 2             | name [*required*]               | string        | Name of the pipeline. All pipeline runs for the builds should have the same name.                                                                                                                       |
| Option 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.                                                                                                                                                                 |
| Option 2             | parameters                           | object        | A map of key-value parameters or environment variables that were defined for the pipeline.                                                                                                              |
| additionalProperties | <any-key>                            | string        |
| Option 2             | 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.                                                                                                                                                  |
| Option 2             | 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.                                                            |
| Option 2             | 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. |
| Option 2             | 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.                                                                                                                                                  |
| Option 2             | queue_time                           | int64         | The queue time in milliseconds, if applicable.                                                                                                                                                          |
| Option 2             | start [*required*]              | date-time     | Time when the pipeline run started (it should not include any queue time). The time format must be RFC3339.                                                                                             |
| Option 2             | status [*required*]             | enum          | The in progress status of the pipeline. Allowed enum values: `running`                                                                                                                                  |
| Option 2             | tags                                 | [string]      | A list of user-defined tags. The tags must follow the `key:value` pattern.                                                                                                                              |
| Option 2             | unique_id [*required*]          | string        | UUID of the pipeline run. The ID has to be the same as the finished pipeline.                                                                                                                           |
| Option 2             | url [*required*]                | string        | The URL to look at the pipeline in the CI provider UI.                                                                                                                                                  |
| resource             | Option 2                             | object        | Details of a CI stage.                                                                                                                                                                                  |
| Option 2             | dependencies                         | [string]      | A list of stage IDs that this stage depends on.                                                                                                                                                         |
| Option 2             | end [*required*]                | date-time     | Time when the stage run finished. The time format must be RFC3339.                                                                                                                                      |
| Option 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.                                                                                                                                                                    |
| Option 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).                                                                                                                                                    |
| Option 2             | id [*required*]                 | string        | UUID for the stage. It has to be unique at least in the pipeline scope.                                                                                                                                 |
| Option 2             | level [*required*]              | enum          | Used to distinguish between pipelines, stages, jobs and steps. Allowed enum values: `stage`                                                                                                             |
| Option 2             | metrics                              | [string]      | A list of user-defined metrics. The metrics must follow the `key:value` pattern and the value must be numeric.                                                                                          |
| Option 2             | name [*required*]               | string        | The name for the stage.                                                                                                                                                                                 |
| Option 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.                                                                                                                                                                 |
| Option 2             | parameters                           | object        | A map of key-value parameters or environment variables that were defined for the pipeline.                                                                                                              |
| additionalProperties | <any-key>                            | string        |
| Option 2             | pipeline_name [*required*]      | string        | The parent pipeline name.                                                                                                                                                                               |
| Option 2             | pipeline_unique_id [*required*] | string        | The parent pipeline UUID.                                                                                                                                                                               |
| Option 2             | queue_time                           | int64         | The queue time in milliseconds, if applicable.                                                                                                                                                          |
| Option 2             | start [*required*]              | date-time     | Time when the stage run started (it should not include any queue time). The time format must be RFC3339.                                                                                                |
| Option 2             | status [*required*]             | enum          | The final status of the stage. Allowed enum values: `success,error,canceled,skipped`                                                                                                                    |
| Option 2             | tags                                 | [string]      | A list of user-defined tags. The tags must follow the `key:value` pattern.                                                                                                                              |
| resource             | Option 3                             | object        | Details of a CI job.                                                                                                                                                                                    |
| Option 3             | dependencies                         | [string]      | A list of job IDs that this job depends on.                                                                                                                                                             |
| Option 3             | end [*required*]                | date-time     | Time when the job run finished. The time format must be RFC3339.                                                                                                                                        |
| Option 3             | 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.                                                                                                                                                                    |
| Option 3             | 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).                                                                                                                                                    |
| Option 3             | id [*required*]                 | string        | The UUID for the job. It has to be unique within each pipeline execution.                                                                                                                               |
| Option 3             | level [*required*]              | enum          | Used to distinguish between pipelines, stages, jobs, and steps. Allowed enum values: `job`                                                                                                              |
| Option 3             | metrics                              | [string]      | A list of user-defined metrics. The metrics must follow the `key:value` pattern and the value must be numeric.                                                                                          |
| Option 3             | name [*required*]               | string        | The name for the job.                                                                                                                                                                                   |
| Option 3             | 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.                                                                                                                                                                 |
| Option 3             | parameters                           | object        | A map of key-value parameters or environment variables that were defined for the pipeline.                                                                                                              |
| additionalProperties | <any-key>                            | string        |
| Option 3             | pipeline_name [*required*]      | string        | The parent pipeline name.                                                                                                                                                                               |
| Option 3             | pipeline_unique_id [*required*] | string        | The parent pipeline UUID.                                                                                                                                                                               |
| Option 3             | queue_time                           | int64         | The queue time in milliseconds, if applicable.                                                                                                                                                          |
| Option 3             | stage_id                             | string        | The parent stage UUID (if applicable).                                                                                                                                                                  |
| Option 3             | stage_name                           | string        | The parent stage name (if applicable).                                                                                                                                                                  |
| Option 3             | start [*required*]              | date-time     | Time when the job run instance started (it should not include any queue time). The time format must be RFC3339.                                                                                         |
| Option 3             | status [*required*]             | enum          | The final status of the job. Allowed enum values: `success,error,canceled,skipped`                                                                                                                      |
| Option 3             | tags                                 | [string]      | A list of user-defined tags. The tags must follow the `key:value` pattern.                                                                                                                              |
| Option 3             | url [*required*]                | string        | The URL to look at the job in the CI provider UI.                                                                                                                                                       |
| resource             | Option 4                             | object        | Details of a CI step.                                                                                                                                                                                   |
| Option 4             | end [*required*]                | date-time     | Time when the step run finished. The time format must be RFC3339.                                                                                                                                       |
| Option 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.                                                                                                                                                                    |
| Option 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).                                                                                                                                                    |
| Option 4             | id [*required*]                 | string        | UUID for the step. It has to be unique within each pipeline execution.                                                                                                                                  |
| Option 4             | job_id                               | string        | The parent job UUID (if applicable).                                                                                                                                                                    |
| Option 4             | job_name                             | string        | The parent job name (if applicable).                                                                                                                                                                    |
| Option 4             | level [*required*]              | enum          | Used to distinguish between pipelines, stages, jobs and steps. Allowed enum values: `step`                                                                                                              |
| Option 4             | metrics                              | [string]      | A list of user-defined metrics. The metrics must follow the `key:value` pattern and the value must be numeric.                                                                                          |
| Option 4             | name [*required*]               | string        | The name for the step.                                                                                                                                                                                  |
| Option 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.                                                                                                                                                                 |
| Option 4             | parameters                           | object        | A map of key-value parameters or environment variables that were defined for the pipeline.                                                                                                              |
| additionalProperties | <any-key>                            | string        |
| Option 4             | pipeline_name [*required*]      | string        | The parent pipeline name.                                                                                                                                                                               |
| Option 4             | pipeline_unique_id [*required*] | string        | The parent pipeline UUID.                                                                                                                                                                               |
| Option 4             | stage_id                             | string        | The parent stage UUID (if applicable).                                                                                                                                                                  |
| Option 4             | stage_name                           | string        | The parent stage name (if applicable).                                                                                                                                                                  |
| Option 4             | start [*required*]              | date-time     | Time when the step run started. The time format must be RFC3339.                                                                                                                                        |
| Option 4             | status [*required*]             | enum          | The final status of the step. Allowed enum values: `success,error`                                                                                                                                      |
| Option 4             | tags                                 | [string]      | A list of user-defined tags. The tags must follow the `key:value` pattern.                                                                                                                              |
| Option 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.                                                                                                                                |
| Option 2             | type                                 | enum          | Type of the event. Allowed enum values: `cipipeline_resource_request`                                                                                                                                   |

{% /tab %}

{% tab title="Example" %}
##### 

```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"
  }
}
```

##### 

```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"
  }
}
```

##### 

```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",
        "status": "running",
        "partial_retry": false,
        "git": {
          "repository_url": "https://github.com/DataDog/datadog-agent",
          "sha": "7f263865994b76066c4612fd1965215e7dcb4cd2",
          "author_email": "john.doe@email.com"
        }
      }
    },
    "type": "cipipeline_resource_request"
  }
}
```

{% /tab %}

### Response

{% tab title="202" %}
Request accepted for processing
{% tab title="Model" %}

| Field | Type | Description |
| ----- | ---- | ----------- |

{% /tab %}

{% tab title="Example" %}

```json
{}
```

{% /tab %}

{% /tab %}

{% tab title="400" %}
Bad Request
{% tab title="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 title="Example" %}

```json
{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="401" %}
Unauthorized
{% tab title="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 title="Example" %}

```json
{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="403" %}
Forbidden
{% tab title="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 title="Example" %}

```json
{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="408" %}
Request Timeout
{% tab title="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 title="Example" %}

```json
{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="413" %}
Payload Too Large
{% tab title="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 title="Example" %}

```json
{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="429" %}
Too Many Requests
{% tab title="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 title="Example" %}

```json
{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="500" %}
Internal Server Error
{% tab title="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 title="Example" %}

```json
{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="503" %}
Service Unavailable
{% tab title="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 title="Example" %}

```json
{
  "errors": [
    {
      "detail": "Malformed payload",
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```

{% /tab %}

{% /tab %}

### Code Example

##### 
                          \## default
# 
 \# Curl command curl -X POST "https://api.datadoghq.com/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": {
        "end": "2024-11-25T20:08:11.018Z",
        "git": {
          "author_email": "john.doe@email.com",
          "repository_url": "https://github.com/organization/example-repository",
          "sha": "7f263865994b76066c4612fd1965215e7dcb4cd2"
        },
        "level": "pipeline",
        "name": "Deploy to AWS",
        "partial_retry": false,
        "start": "2024-11-25T20:06:41.018Z",
        "status": "success",
        "unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
        "url": "https://my-ci-provider.example/pipelines/my-pipeline/run/1"
      }
    },
    "type": "cipipeline_resource_request"
  }
}
EOF 
                        
##### 
                          \## default
# 
 \# Curl command curl -X POST "https://api.datadoghq.com/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": {
        "end": "2024-11-25T20:08:11.018Z",
        "git": {
          "author_email": "john.doe@email.com",
          "repository_url": "https://github.com/organization/example-repository",
          "sha": "7f263865994b76066c4612fd1965215e7dcb4cd2"
        },
        "level": "pipeline",
        "name": "Deploy to AWS",
        "partial_retry": false,
        "start": "2024-11-25T20:06:41.018Z",
        "status": "success",
        "unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
        "url": "https://my-ci-provider.example/pipelines/my-pipeline/run/1"
      }
    },
    "type": "cipipeline_resource_request"
  }
}
EOF 
                        
##### 
                          \## default
# 
 \# Curl command curl -X POST "https://api.datadoghq.com/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": {
        "end": "2024-11-25T20:08:11.018Z",
        "git": {
          "author_email": "john.doe@email.com",
          "repository_url": "https://github.com/organization/example-repository",
          "sha": "7f263865994b76066c4612fd1965215e7dcb4cd2"
        },
        "level": "pipeline",
        "name": "Deploy to AWS",
        "partial_retry": false,
        "start": "2024-11-25T20:06:41.018Z",
        "status": "success",
        "unique_id": "3eacb6f3-ff04-4e10-8a9c-46e6d054024a",
        "url": "https://my-ci-provider.example/pipelines/my-pipeline/run/1"
      }
    },
    "type": "cipipeline_resource_request"
  }
}
EOF 
                        
##### 

```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 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{
							CIAppPipelineEventInProgressPipeline: &datadogV2.CIAppPipelineEventInProgressPipeline{
								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),
								Status:       datadogV2.CIAPPPIPELINEEVENTPIPELINEINPROGRESSSTATUS_RUNNING,
								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)
}
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=go) and then save the example to `main.go` and run following commands:
    DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" go run "main.go"
##### 

```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 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.CIAppPipelineEventInProgressPipeline;
import com.datadog.api.client.v2.model.CIAppPipelineEventPipeline;
import com.datadog.api.client.v2.model.CIAppPipelineEventPipelineInProgressStatus;
import com.datadog.api.client.v2.model.CIAppPipelineEventPipelineLevel;
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 CIAppPipelineEventInProgressPipeline()
                                                .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))
                                                .status(
                                                    CIAppPipelineEventPipelineInProgressStatus
                                                        .RUNNING)
                                                .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();
    }
  }
}
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=java) and then save the example to `Example.java` and run following commands:
    DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" java "Example.java"
##### 

```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 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_in_progress_pipeline import CIAppPipelineEventInProgressPipeline
from datadog_api_client.v2.model.ci_app_pipeline_event_pipeline_in_progress_status import (
    CIAppPipelineEventPipelineInProgressStatus,
)
from datadog_api_client.v2.model.ci_app_pipeline_event_pipeline_level import CIAppPipelineEventPipelineLevel

body = CIAppCreatePipelineEventRequest(
    data=CIAppCreatePipelineEventRequestData(
        attributes=CIAppCreatePipelineEventRequestAttributes(
            resource=CIAppPipelineEventInProgressPipeline(
                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)),
                status=CIAppPipelineEventPipelineInProgressStatus.RUNNING,
                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)
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=python) and then save the example to `example.py` and run following commands:
    DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" python3 "example.py"
##### 

```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 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::CIAppPipelineEventInProgressPipeline.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),
        status: DatadogAPIClient::V2::CIAppPipelineEventPipelineInProgressStatus::RUNNING,
        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)
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=ruby) and then save the example to `example.rb` and run following commands:
    DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" rb "example.rb"
##### 

```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 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::CIAppPipelineEventInProgressPipeline;
use datadog_api_client::datadogV2::model::CIAppPipelineEventPipeline;
use datadog_api_client::datadogV2::model::CIAppPipelineEventPipelineInProgressStatus;
use datadog_api_client::datadogV2::model::CIAppPipelineEventPipelineLevel;

#[tokio::main]
async fn main() {
    let body =
        CIAppCreatePipelineEventRequest
        ::new().data(
            CIAppCreatePipelineEventRequestDataSingleOrArray::CIAppCreatePipelineEventRequestData(
                Box::new(
                    CIAppCreatePipelineEventRequestData::new()
                        .attributes(
                            CIAppCreatePipelineEventRequestAttributes::new(
                                CIAppCreatePipelineEventRequestAttributesResource::CIAppPipelineEventPipeline(
                                    Box::new(
                                        CIAppPipelineEventPipeline::CIAppPipelineEventInProgressPipeline(
                                            Box::new(
                                                CIAppPipelineEventInProgressPipeline::new(
                                                    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),
                                                    CIAppPipelineEventPipelineInProgressStatus::RUNNING,
                                                    "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());
    }
}
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=rust) and then save the example to `src/main.rs` and run following commands:
    DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" cargo run
##### 

```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 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),
          status: "running",
          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));
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=typescript) and then save the example to `example.ts` and run following commands:
    DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" tsc "example.ts"
{% /tab %}
