POST
/
v1
/
credentials
/
{id}
curl --request POST \
  --url https://api.sequin.io/v1/credentials \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "properties": {
      "kind": "stripe_key",
      "name": "Choam Stripe",
      "secret": "sk_live_7eC39HqLyjWDarjtT1zdp7dcasd",
      "test": false
    },
    "oauth_app_id": "8ff58ef0-d376-4ae8-b2e2-9f0206aa65b8",
    "metadata": { "custom_property": 42 }
  }'
{
  "id": "c906b4a4-0cda-4f46-bd80-255f570c195d",
  "provider": "stripe",
  "oauth_app_id": "8ff58ef0-d376-4ae8-b2e2-9f0206aa65b8",
  "oauth_app": {
    "name": "Arakkis - Stripe",
    "id": "8ff58ef0-d376-4ae8-b2e2-9f0206aa65b8"
    "client_id": "b9f074c939140210e8c231845bbe8b98",
    "client_secret": "**********",
    "metadata": {},
    "provider": "stripe",
    "created_at": "2024-02-20T02:10:52Z",
    "updated_at": "2024-02-20T02:10:52Z"

  },
  "properties": {
    "kind": "stripe_key",
    "name": "TEST ACCOUNT",
    "secret": "***********",
    "test": true
  },
  // The health field is coming soon
  "health": {
    "status": "error",
    "notes": [
      "We're receiving 401s from Stripe for this token. That usually means the token is expired or revoked. We've emailed the owner of this credential to let them know."
    ],
    "time": "2023-12-15 01:29:29"
  },
  "metadata": { "custom_property": 42 },
  "created_at": "2023-12-15 01:29:29",
  "updated_at": "2023-12-15 01:29:29"
}

You’ll import a credential in the event that you’ve authenticated a user with a provider outside of Sequin. For example, you might have your users authenticate to Stripe via an OAuth flow you control. You can then import that credential into Sequin.

Importing a credential is an idempotent operation. Sequin upserts credentials. So, if you attempt to import a credential for an existing Salesforce account, only one credential will be created.

Request parameters

name
object

A name for your credential.

properties
object
required

The credential properties for the provider.

The properties parameter depend on the kind of credential you’re importing. See the list of possible values.

oauth_app_id
string
required

OAuth app to associate with the credential. Learn more about the OAuth app object.

Note that this OAuth app must have the same client_id and client_secret that you used to originally obtain the credential.

metadata
object

Metadata for the credential. This is a free-form object that you can use to store any additional information you want to associate with the credential.

Response fields

id
string

ID of the credential.

provider
string

Provider of the credential (e.g. github, stripe, etc). See the list of possible values.

kind
string

Kind of credential (e.g. stripe_oauth, github, etc). See the list of possible values.

health
object

Status of the credential. Learn more about the health object.

oauth_app
object

OAuth app associated to the credential. Learn more about the OAuth app object.

properties
credential_properties

The properties for the credential. This field is polymorphic based on the credential kind. Learn more about credential properties.

metadata
string

Metadata for the credential. This is a free-form object that you can use to store any additional information you want to associate with the credential.

created_at
string

Timestamp of when the credential was created, in ISO 8601 format.

updated_at
string

Timestamp of when the credential was last updated, in ISO 8601 format.