> ## Documentation Index
> Fetch the complete documentation index at: https://sequin.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Create an OAuth app

> This endpoint creates an OAuth app.

## Request parameters

<ParamField body="provider" type="string" required>
  The provider of the OAuth app. See a list of supported providers [here](/management-api/objects#sync-providers).
</ParamField>

<ParamField body="client_id" type="string" required>
  The client ID of the OAuth app.
</ParamField>

<ParamField body="client_secret" type="string" required>
  The client secret of the OAuth app.
</ParamField>

<ParamField body="name" type="string" required>
  Name of the OAuth app.
</ParamField>

<ParamField body="metadata" type="object">
  Metadata for the OAuth app. This is a free-form object that you can use to store any additional information you want to associate with the OAuth app.
</ParamField>

<RequestExample>
  ```shell cURL theme={null}
  curl --request POST \
    --url https://api.sequin.io/v1/oauth-apps \
    --header 'Authorization: Bearer YOUR_API_TOKEN' \
    --header 'Content-Type: application/json' \
    --data '{
      "provider": "stripe",
      "client_id": "db97a4eb-f488-46c8-b1a7-78be3d8380d1",
      "client_secret": "e8c22f21-3455-4ad5-ae1e-76bee847dec9",
      "name": "Arakkis - Stripe",
      "metadata": { "custom_property": 42 }
    }'
  ```
</RequestExample>

## Response fields

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "id": "8ff58ef0-d376-4ae8-b2e2-9f0206aa65b8",
    "provider": "stripe",
    "name": "My Stripe OAuth App",
    "client_id": "8ff58ef0-d376-4ae8-b2e2-9f0206aa65b8",
    "client_secret": "**********",
    "metadata": { "custom_property": 42 },
    // the health field is coming soon
    "health": {
      "status": "ok",
      "notes": [],
      "time": "2023-12-15 01:29:29"
    },
    "created_at": "2024-02-20T02:10:52Z",
    "updated_at": "2024-02-20T02:10:52Z"
  }
  ```
</ResponseExample>

<ResponseField name="id" type="string">
  ID of the OAuth app.
</ResponseField>

<ResponseField name="name" type="string">
  Display name of the OAuth app.
</ResponseField>

<ResponseField name="health" type="object">
  Status of the OAuth app. Learn more about [the health object](/management-api/objects#health).
</ResponseField>

<ResponseField name="provider" type="string">
  The provider of the OAuth app. See a list of supported providers [here](/management-api/objects#sync-providers).
</ResponseField>

<ResponseField name="client_id" type="string">
  The client ID of the OAuth app.
</ResponseField>

<ResponseField name="client_secret" type="string">
  The client secret of the OAuth app.
</ResponseField>

<ResponseField name="metadata" type="object">
  Metadata for the OAuth app. This is a free-form object that you can use to store any additional information you want to associate with the OAuth app.
</ResponseField>

<ResponseField name="created_at" type="string">
  Timestamp of when the OAuth app was created, in ISO 8601 format.
</ResponseField>

<ResponseField name="updated_at" type="string">
  Timestamp of when the OAuth app was last updated, in ISO 8601 format.
</ResponseField>
