---
title: "Create or update entity integration configuration"
method: PUT
path: "/api/v2/idp/entity_integrations/{integration_id}"
tags: ["Entity Integration Configs"]
---

# Create or update entity integration configuration

`PUT /api/v2/idp/entity_integrations/{integration_id}`

## Request

- Base URL: `https://api.datadoghq.com`
- URL: `https://api.datadoghq.com/api/v2/idp/entity_integrations/{integration_id}`
- Auth: API key in header `DD-API-KEY` and API key in header `DD-APPLICATION-KEY`

Create or replace the configuration for a given integration in the caller's organization. The shape of `data.attributes.config` depends on the integration:

- For `github`: `config` must contain an `enabled_repos` array of objects with `hostname`, `github_org_name`, and `repo_name`.
- For `jira`: `config` must contain an `enabled_projects` array of objects with `hostname`, `account_id`, and `project_key`.
- For `pagerduty`: `config` must contain an `accounts` array of objects with a required `enabled` boolean and an optional `subdomain` string.

## Path parameters

- `integration_id` string, required

## Request body

- EntityIntegrationConfigRequest: Request body used to create or replace the configuration for a given integration.
  - `data` EntityIntegrationConfigRequestData, required: JSON:API resource object used in a request to create or update an entity integration configuration.
    - `attributes` EntityIntegrationConfigRequestAttributes, required: Attributes used to create or update an entity integration configuration.
      - `config` EntityIntegrationConfigPayload, required: Integration-specific configuration payload. The shape of this object depends on the integration identified by the path parameter. For `github`, the object must contain an `enabled_repos` array. For `jira`, it must contain an `enabled_projects` array. For `pagerduty`, it must contain an `accounts` array.
    - `type` 'entity_integration_config_requests', required: JSON:API resource type for the entity integration configuration create or update request. Always `entity_integration_config_requests`.

## Response `200`

OK

- EntityIntegrationConfigResponse: JSON:API document containing a single entity integration configuration resource.
  - `data` EntityIntegrationConfigData, required: JSON:API resource object for an entity integration configuration.
    - `attributes` EntityIntegrationConfigAttributes, required: The organization ID, integration identifier, and integration-specific configuration payload for an entity integration configuration.
      - `config` EntityIntegrationConfigPayload, required: Integration-specific configuration payload. The shape of this object depends on the integration identified by the path parameter. For `github`, the object must contain an `enabled_repos` array. For `jira`, it must contain an `enabled_projects` array. For `pagerduty`, it must contain an `accounts` array.
      - `integration_id` string, required: The identifier of the integration this configuration applies to (for example, `github`, `jira`, or `pagerduty`).
      - `org_id` integer, required: The Datadog organization identifier that owns this configuration.
    - `id` string, required: Unique identifier of the entity integration configuration.
    - `type` 'entity_integration_configs', required: JSON:API resource type for an entity integration configuration. Always `entity_integration_configs`.

## Other responses

- `400`: Bad Request
- `403`: Not Authorized
- `429`: Too many requests

---

[API](https://skmtc.dev/datadog/apis/datadog-api-v2-collection.md) - [All operations](https://skmtc.dev/datadog/apis/datadog-api-v2-collection/llms.txt) - [OpenAPI document](https://skmtc.dev/datadog/apis/datadog-api-v2-collection/revisions/da68bf029e4c?raw)
