> Documentation index for AI agents: https://docs.pagerduty.com/llms.txt

# Create an Orchestration

`POST https://api.pagerduty.com/event_orchestrations`

Create a Global Event Orchestration.

Global Event Orchestrations allow you define a set of Global Rules and Router Rules, so that when you ingest events using the Orchestration's Routing Key your events will have actions applied via the Global Rules & then routed to the correct Service by the Router Rules, based on the event's content.

For more information see the [API Concepts Document](https://docs.pagerduty.com/developer/api-concepts#event-orchestrations)

Scoped OAuth requires: `event_orchestrations.write`

## Authorization

- **api_key** (apiKey) — `Authorization` header. The API Key with format `Token token=<API_KEY>`

## Header parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `Accept` | string | yes | The `Accept` header is used as a versioning header. Default: `application/vnd.pagerduty+json;version=2`. |

## Request body (`application/json`)

| Field | Type | Required | Description |
|---|---|---|---|
| `orchestration` | object | yes |  |
| `orchestration.id` | string |  | ID of the Orchestration. Read-only. |
| `orchestration.self` | string (url) |  | The API show URL at which the object is accessible. Read-only. |
| `orchestration.name` | string |  | Name of the Orchestration. |
| `orchestration.description` | string |  | A description of this Orchestration's purpose. |
| `orchestration.team` | object |  | Reference to the team that owns the Orchestration. If none is specified, only admins have access. |
| `orchestration.team.id` | string |  |  |
| `orchestration.team.type` | string |  | A string that determines the schema of the object. Read-only. |
| `orchestration.team.self` | string (url) |  | The API show URL at which the object is accessible. Read-only. |
| `orchestration.integrations` | array of object |  | Read-only. |
| `orchestration.integrations[].id` | string |  | ID of the Integration. Read-only. |
| `orchestration.integrations[].label` | string |  | Name of the Integration. |
| `orchestration.integrations[].parameters` | object |  | Read-only. |
| `orchestration.integrations[].parameters.routing_key` | string |  | Routing Key used to send Events to this Orchestration. Read-only. |
| `orchestration.integrations[].parameters.type` | string |  | Read-only. Default: `global`. |
| `orchestration.routes` | integer |  | Number of different Service Orchestration being routed to. Read-only. |
| `orchestration.created_at` | string (date-time) |  | The date the Orchestration was created at. Read-only. |
| `orchestration.created_by` | object |  | Reference to the user that has created the Orchestration. Read-only. |
| `orchestration.created_by.id` | string |  | Read-only. |
| `orchestration.created_by.type` | string |  | A string that determines the schema of the object. Read-only. |
| `orchestration.created_by.self` | string (url) |  | The API show URL at which the object is accessible. Read-only. |
| `orchestration.updated_at` | string (date-time) |  | The date the Orchestration was last updated. Read-only. |
| `orchestration.updated_by` | object |  | Reference to the user that has updated the Orchestration last. Read-only. |
| `orchestration.updated_by.id` | string |  | Read-only. |
| `orchestration.updated_by.type` | string |  | A string that determines the schema of the object. Read-only. |
| `orchestration.updated_by.self` | string (url) |  | The API show URL at which the object is accessible. Read-only. |
| `orchestration.version` | string |  | Version of the Orchestration. Read-only. |

Example: Example: Create Orchestration

```json
{
  "orchestration": {
    "name": "New Orchestration",
    "description": "This is a newly created orchestration",
    "team": {
      "id": "PXD0WR8"
    }
  }
}
```

## Response 201

The Orchestration that was created.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `orchestration` | object |  | Same fields as `orchestration` above. |

Example: Response Example

```json
{
  "orchestration": {
    "id": "3aae9a17-8585-4d8c-93d3-99742801cd95",
    "self": "https://api.pagerduty.com/event_orchestrations/3aae9a17-8585-4d8c-93d3-99742801cd95",
    "name": "New Orchestration",
    "description": "This is a newly created orchestration",
    "team": {
      "id": "PXD0WR8",
      "self": "https://api.pagerduty.com/teams/PXD0WR8",
      "type": "team_reference"
    },
    "integrations": [
      {
        "id": "461cd942-d7cc-43ef-ac7d-86ba2d58fc45",
        "label": "New Orchestration Default Integration",
        "parameters": {
          "routing_key": "R022XIJR9M266DX570EVE6EXP1AFBN6D",
          "type": "global"
        }
      }
    ],
    "routes": 0,
    "created_at": "2021-12-02T14:21:42Z",
    "created_by": {
      "id": "P8B9WR8",
      "self": "https://api.pagerduty.com/users/P8B9WR8",
      "type": "user_reference"
    },
    "updated_at": "2021-12-02T14:21:42Z",
    "updated_by": {
      "id": "P8B9WR8",
      "self": "https://api.pagerduty.com/users/P8B9WR8",
      "type": "user_reference"
    },
    "version": "oBgzJsGDOz99G.FKZ0c1C6hw35twk_Ib"
  }
}
```

## Response 400

Caller provided invalid arguments. Please review the response for error details. Retrying with the same arguments will *not* work.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `error` | object |  |  |
| `error.code` | integer |  | Read-only. |
| `error.message` | string |  | Error message string. Read-only. |
| `error.errors` | array of string |  | Read-only. |

## Response 401

Caller did not supply credentials or did not provide the correct credentials.
If you are using an API key, it may be invalid or your Authorization header may be malformed.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `error` | object |  |  |
| `error.code` | integer |  | Read-only. |
| `error.message` | string |  | Error message string. Read-only. |
| `error.errors` | array of string |  | Read-only. |

## Response 403

Caller is not authorized to view the requested resource.
While your authentication is valid, the authenticated user or token does not have permission to perform this action.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `error` | object |  |  |
| `error.code` | integer |  | Read-only. |
| `error.message` | string |  | Error message string. Read-only. |
| `error.errors` | array of string |  | Read-only. |

## Response 404

The requested resource was not found.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `error` | object |  |  |
| `error.code` | integer |  | Read-only. |
| `error.message` | string |  | Error message string. Read-only. |
| `error.errors` | array of string |  | Read-only. |

## Response 405

The request was received and recognized by the server, but its HTTP method was rejected for the requested resource.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `error` | object |  |  |
| `error.code` | integer |  | Read-only. |
| `error.message` | string |  | Error message string. Read-only. |
| `error.errors` | array of string |  | Read-only. |

## Response 409

The request conflicts with the current state of the server.

### `application/json`

| Field | Type | Required | Description |
|---|---|---|---|
| `error` | object |  |  |
| `error.code` | integer |  | Read-only. |
| `error.message` | string |  | Error message string. Read-only. |
| `error.errors` | array of string |  | Read-only. |

## Developer Agreement

Your access to and use of the PagerDuty Developer Services is governed by the [PagerDuty Developer Agreement](https://docs.pagerduty.com/developer/pagerduty-developer-agreement).
