---
title: Create an OAuth2 client credentials auth method
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: Docs > API Reference > Webhooks Integration
---

# Create an OAuth2 client credentials auth method{% #create-an-oauth2-client-credentials-auth-method %}

{% tab title="v2" %}

| Datadog site      | API endpoint                                                                                                       |
| ----------------- | ------------------------------------------------------------------------------------------------------------------ |
| ap1.datadoghq.com | POST https://api.ap1.datadoghq.com/api/v2/integration/webhooks/configuration/auth-method/oauth2-client-credentials |
| ap2.datadoghq.com | POST https://api.ap2.datadoghq.com/api/v2/integration/webhooks/configuration/auth-method/oauth2-client-credentials |
| app.datadoghq.eu  | POST https://api.datadoghq.eu/api/v2/integration/webhooks/configuration/auth-method/oauth2-client-credentials      |
| app.ddog-gov.com  | POST https://api.ddog-gov.com/api/v2/integration/webhooks/configuration/auth-method/oauth2-client-credentials      |
| us2.ddog-gov.com  | POST https://api.us2.ddog-gov.com/api/v2/integration/webhooks/configuration/auth-method/oauth2-client-credentials  |
| app.datadoghq.com | POST https://api.datadoghq.com/api/v2/integration/webhooks/configuration/auth-method/oauth2-client-credentials     |
| us3.datadoghq.com | POST https://api.us3.datadoghq.com/api/v2/integration/webhooks/configuration/auth-method/oauth2-client-credentials |
| us5.datadoghq.com | POST https://api.us5.datadoghq.com/api/v2/integration/webhooks/configuration/auth-method/oauth2-client-credentials |

### Overview

Create a new OAuth2 client credentials auth method for the Webhooks integration. The `client_secret` is stored securely and never returned. This endpoint requires the `manage_integrations` permission.

### Request

#### Body Data (required)

OAuth2 client credentials payload.

{% tab title="Model" %}

| Parent field | Field                              | Type   | Description                                                                                                    |
| ------------ | ---------------------------------- | ------ | -------------------------------------------------------------------------------------------------------------- |
|              | data [*required*]             | object | OAuth2 client credentials data for a create request.                                                           |
| data         | attributes [*required*]       | object | OAuth2 client credentials attributes for a create request.                                                     |
| attributes   | access_token_url [*required*] | string | URL of the OAuth2 access token endpoint.                                                                       |
| attributes   | audience                           | string | The intended audience for the OAuth2 access token.                                                             |
| attributes   | client_id [*required*]        | string | The OAuth2 client ID issued by the authorization server.                                                       |
| attributes   | client_secret [*required*]    | string | The OAuth2 client secret issued by the authorization server. Write-only; never returned by the API.            |
| attributes   | name [*required*]             | string | Human-readable name for this auth method. Must be unique within your organization.                             |
| attributes   | scope                              | string | Space-separated list of OAuth2 scopes to request.                                                              |
| data         | type [*required*]             | enum   | OAuth2 client credentials resource type. Allowed enum values: `webhooks-auth-method-oauth2-client-credentials` |

{% /tab %}

{% tab title="Example" %}

```json
{
  "data": {
    "attributes": {
      "access_token_url": "https://example.com/oauth/token",
      "audience": "https://api.example.com",
      "client_id": "my-client-id",
      "client_secret": "my-client-secret",
      "name": "my-oauth2-auth",
      "scope": "read:webhooks write:webhooks"
    },
    "type": "webhooks-auth-method-oauth2-client-credentials"
  }
}
```

{% /tab %}

### Response

{% tab title="201" %}
CREATED
{% tab title="Model" %}
Response containing an OAuth2 client credentials auth method.

| Parent field | Field                        | Type   | Description                                                                                                    |
| ------------ | ---------------------------- | ------ | -------------------------------------------------------------------------------------------------------------- |
|              | data [*required*]       | object | OAuth2 client credentials data from a response.                                                                |
| data         | attributes [*required*] | object | OAuth2 client credentials attributes returned by the API. The `client_secret` is never echoed.                 |
| attributes   | access_token_url             | string | URL of the OAuth2 access token endpoint.                                                                       |
| attributes   | audience                     | string | The intended audience for the OAuth2 access token.                                                             |
| attributes   | client_id                    | string | The OAuth2 client ID issued by the authorization server.                                                       |
| attributes   | name                         | string | Human-readable name for this auth method.                                                                      |
| attributes   | protocol                     | enum   | Authentication protocol used by the auth method. Allowed enum values: `oauth2-client-credentials`              |
| attributes   | scope                        | string | Space-separated list of OAuth2 scopes to request.                                                              |
| data         | id [*required*]         | string | The ID of the OAuth2 client credentials auth method.                                                           |
| data         | type [*required*]       | enum   | OAuth2 client credentials resource type. Allowed enum values: `webhooks-auth-method-oauth2-client-credentials` |

{% /tab %}

{% tab title="Example" %}

```json
{
  "data": {
    "attributes": {
      "access_token_url": "https://example.com/oauth/token",
      "audience": "https://api.example.com",
      "client_id": "my-client-id",
      "name": "my-oauth2-auth",
      "protocol": "oauth2-client-credentials",
      "scope": "read:webhooks write:webhooks"
    },
    "id": "596da4af-0563-4097-90ff-07230c3f9db3",
    "type": "webhooks-auth-method-oauth2-client-credentials"
  }
}
```

{% /tab %}

{% /tab %}

{% tab title="400" %}
Bad Request
{% tab title="Model" %}
API error response.

| Field                    | Type     | Description       |
| ------------------------ | -------- | ----------------- |
| errors [*required*] | [string] | A list of errors. |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    "Bad Request"
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="403" %}
Forbidden
{% tab title="Model" %}
API error response.

| Field                    | Type     | Description       |
| ------------------------ | -------- | ----------------- |
| errors [*required*] | [string] | A list of errors. |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    "Bad Request"
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="409" %}
Conflict
{% tab title="Model" %}
API error response.

| Field                    | Type     | Description       |
| ------------------------ | -------- | ----------------- |
| errors [*required*] | [string] | A list of errors. |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    "Bad Request"
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="429" %}
Too many requests
{% tab title="Model" %}
API error response.

| Field                    | Type     | Description       |
| ------------------------ | -------- | ----------------- |
| errors [*required*] | [string] | A list of errors. |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    "Bad Request"
  ]
}
```

{% /tab %}

{% /tab %}

### Code Example

##### 
                  \## default
# 
 \# Curl command curl -X POST "https://api.datadoghq.com/api/v2/integration/webhooks/configuration/auth-method/oauth2-client-credentials" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "access_token_url": "https://example.com/oauth/token",
      "audience": "https://api.example.com",
      "client_id": "my-client-id",
      "client_secret": "my-client-secret",
      "name": "my-oauth2-auth",
      "scope": "read:webhooks write:webhooks"
    },
    "type": "webhooks-auth-method-oauth2-client-credentials"
  }
}
EOF 
                
{% /tab %}
