---
title: "Create: OAuth type"
url: https://www.tines.com/docs/api/credentials/create-oauth/
updated: 2026-04-02T11:20:06+00:00
description: Use a HTTP POST request to create a [OAuth2.0](/docs/credentials/oauth) credential.
---

*[tines.com](https://www.tines.com/llms.txt) › [Docs](https://www.tines.com/llms.txt) › [Tines API](https://www.tines.com/llms.txt) › [Credentials](https://www.tines.com/llm/docs/api/credentials.md)*

# Create: OAuth type

*[View on tines.com](https://www.tines.com/docs/api/credentials/create-oauth/)*

## Description

Use a HTTP POST request to create a [OAuth2.0](/docs/credentials/oauth) credential.

## Request

HTTP Method: **POST**

| Parameter                                  | Description                                                                                                                                                                                                                               |
| ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| name                                       | Name of the credential.                                                                                                                                                                                                                   |
| mode                                       | Describes the type of credential (`OAUTH`).                                                                                                                                                                                               |
| oauth_url                                  | Your app oauth url. Required for grant type `authorization_code`.                                                                                                                                                                         |
| oauth_token_url                            | Your app oauth token url                                                                                                                                                                                                                  |
| oauth_client_id                            | The client ID for your app                                                                                                                                                                                                                |
| oauth_client_secret                        | The client secret for your app                                                                                                                                                                                                            |
| oauth_scope                                | Enter one or more scope values indicating which parts of the user’s account you wish to access.                                                                                                                                           |
| oauth_grant_type                           | Tines supports `client_credentials` and `authorization_code` grants.                                                                                                                                                                      |
| team_id                                    | ID of Tines Team where the credential will be located.                                                                                                                                                                                    |
| folder_id                                  | **Optional** ID of folder to which the credential will be located                                                                                                                                                                         |
| read_access                                | **Optional** Control where this credential can be used (`TEAM`, `GLOBAL`). default: `TEAM`                                                                                                                                                |
| shared_team_slugs                          | **Optional** List of teams' slugs where this credential can be used. Required to set `read_access` to `SPECIFIC_TEAMS`. default: `[]` (empty array).                                                                                      |
| description                                | **Optional** Description of the credential. default: `""` (empty string).                                                                                                                                                                 |
| oauthPkceCodeChallengeMethod               | **Optional** PKCE challenge method (`S256`, `plain`). default: `NULL` (None).                                                                                                                                                             |
| metadata                                   | **Optional** Key/value metadata relevant to the credential that can be referenced via the INFO path.                                                                                                                                      |
| allowed_hosts                              | **Optional** Array of domains where this credential can only be used in HTTP requests. Domain matching supports wildcards.                                                                                                                |
| live_credential_id                         | **Optional** ID of the live credential                                                                                                                                                                                                    |
| expires_at                                 | **Optional** ISO 8601 Timestamp representing date and time the credential will expire. Default: `null`. See: [Credential expiry](https://www.tines.com/docs/credentials/credential-configuration/expiry)                                  |
| expiry_notifications_enabled               | **Optional** A boolean value stating whether or not expiry notifications are enabled. Default: `false`. See: [Credential expiry email reminders](https://www.tines.com/docs/credentials/credential-configuration/expiry/#email-reminders) |
| credential_notification_recipient_user_ids | **Optional** List of user IDs that will be sent credential notifications (e.g. expiry notifications)                                                                                                                                      |

### Sample request

```bash
curl -X POST \
  https://<tenant-domain>/api/v1/user_credentials \
  -H 'content-type: application/json' \
  -H 'Authorization: Bearer <<CREDENTIAL.tines_api_key>>' \
  -d '{
        "name": "oauth credential",
        "mode": "OAUTH",
        "team_id": 2,
        "oauth_url": "https://example.com/auth",
        "oauth_token_url": "https://example.com/token",
        "oauth_client_id": "foo",
        "oauth_client_secret": "bar",
        "oauth_scope": "sync",
        "oauth_grant_type": "authorization_code"
    }'
```

## Response

A successful request will return a JSON object containing a `redirect_url` to complete the registration process and a description of the created credential.

### Field description

| Parameter                                  | Description                                                                                                                                                                                                                  |
| ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| id                                         | credential ID.                                                                                                                                                                                                               |
| name                                       | Name of the credential.                                                                                                                                                                                                      |
| mode                                       | Describes the type of credential (`TEXT, JWT, OAUTH, AWS, MTLS, HTTP_REQUEST_AGENT, MULTI_REQUEST`).                                                                                                                         |
| team_id                                    | ID of team to which the credential belongs.                                                                                                                                                                                  |
| folder_id                                  | ID of folder to which the credential belongs.                                                                                                                                                                                |
| read_access                                | Control where this credential can be used (`TEAM`, `GLOBAL`, `SPECIFIC_TEAMS`). default: `TEAM`. (`SPECIFIC_TEAMS` is a premium feature. [Reach out to find out more](https://tines.com/contact-support).)                   |
| shared_team_slugs                          | List of teams' slugs where this credential can be used. Required to set `read_access` to `SPECIFIC_TEAMS`. default: `[]` (empty array).                                                                                      |
| description                                | Description of the credential.                                                                                                                                                                                               |
| slug                                       | An underscored representation of the credential name                                                                                                                                                                         |
| created_at                                 | ISO 8601 Timestamp representing date and time the credential was created.                                                                                                                                                    |
| updated_at                                 | ISO 8601 Timestamp representing date and time the credential was last updated.                                                                                                                                               |
| allowed_hosts                              | Array of domains where this credential can only be used in HTTP requests                                                                                                                                                     |
| metadata                                   | Key/value metadata relevant to the credential                                                                                                                                                                                |
| redirect_url                               | Redirect URL of the created credential.                                                                                                                                                                                      |
| restriction_type                           | The type of restriction applied to the use of the credential (`RESTRICTED`,`RESTRICTED_TO_CREDENTIALS` ,`UNRESTRICTED` )                                                                                                     |
| test_credential_enabled                    | A boolean value stating if the credential is enabled for using a test credential                                                                                                                                             |
| test_credential                            | Data specific to the test credential (`created_at` and `updated_at`)                                                                                                                                                         |
| owner                                      | An object representing the user who owns this credential. By default, the owner is the user who created the credential.                                                                                                      |
| expires_at                                 | ISO 8601 Timestamp representing date and time the credential will expire. Default: `null`. See: [Credential expiry](https://www.tines.com/docs/credentials/credential-configuration/expiry)                                  |
| expiry_notifications_enabled               | A boolean value stating whether or not expiry notifications are enabled. Default: `false`. See: [Credential expiry email reminders](https://www.tines.com/docs/credentials/credential-configuration/expiry/#email-reminders) |
| credential_notification_recipient_user_ids | List of user IDs that will be sent credential notifications (e.g. expiry notifications)                                                                                                                                      |

### Sample response

```json
{
  "redirect_url": "",
  "id": 1,
  "name": "tines_api_credential",
  "mode": "OAUTH",
  "team_id": 2,
  "folder_id": 1,
  "read_access": "TEAM",
  "shared_team_slugs": [],
  "slug": "tines_api_credential",
  "created_at": "2021-03-26T12:34:16.540Z",
  "updated_at": "2021-03-26T12:34:16.540Z",
  "description": "",
  "allowed_hosts": [],
  "metadata": {},
  "restriction_type": "UNRESTRICTED",
  "test_credential_enabled": false,
  "owner": {
    "user_id": 1,
    "first_name": "Jane",
    "last_name": "Doe",
    "email": "jane@tines.io"
  }
}
```
