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

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.net/datadog/apis/api-v2.md) · [All operations](https://skmtc.net/datadog/apis/api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/datadog/api-v2/revisions/da68bf029e4c/schema)
