Skip to content

Credentials

Update credential

Rename an OAuth or service-account credential, change its description, or rotate a service-account secret. Omitted metadata remains unchanged. Rotation requires the provider’s required secret fields to be resubmitted; it replaces the verified secret while retaining the credential ID. Requires credential Admin access. Provider rejection keeps the old secret and returns `400` with `providerErrorCode`; outages return `503`. Secret fields sent for an OAuth credential return `400`. Workspace API keys return `403`; use a personal API key or scoped OAuth token. OAuth scope: `api:write`.

PATCH/api/v2/credentials/{credentialId}

Rename an OAuth or service-account credential, change its description, or rotate a service-account secret. Omitted metadata remains unchanged. Rotation requires the provider’s required secret fields to be resubmitted; it replaces the verified secret while retaining the credential ID. Requires credential Admin access. Provider rejection keeps the old secret and returns 400 with providerErrorCode; outages return 503. Secret fields sent for an OAuth credential return 400. Workspace API keys return 403; use a personal API key or scoped OAuth token.

OAuth scope: api:write.

Authentication

Send a personal or workspace API key in X-API-Key. See key types and access; operations that reject workspace keys say so in their description.

Send X-API-Key in the request header.

Alternatively

Send a Sim OAuth access token in Authorization: Bearer. See OAuth authentication and scopes.

Authorization: Bearer YOUR_ACCESS_TOKEN

Required scopes: api:write

OAuth flows
json
{
  "authorizationCode": {
    "authorizationUrl": "https://www.sim.ai/api/auth/oauth2/authorize",
    "tokenUrl": "https://www.sim.ai/api/auth/oauth2/token",
    "refreshUrl": "https://www.sim.ai/api/auth/oauth2/token",
    "scopes": {
      "api:read": "Read your workspaces, workflows, files, tables, and logs",
      "api:write": "Read, create, change, run, and delete resources in your workspaces",
      "offline_access": "Stay signed in without asking again"
    }
  }
}

OAuth scope: api:write.

Path parameters

credentialIdstringRequired

Credential to update.

minLength
1
maxLength
255

Query parameters

workspaceIdstringRequired

Workspace expected to own the credential.

minLength
1
maxLength
128

Request body

Required

Metadata fields to change, or the complete required fields for a service-account secret rotation. Use List credential providers for the selected provider’s fields.

object

Metadata fields to change, or the complete required fields for a service-account secret rotation. Use List credential providers for the selected provider’s fields.

22 fields
displayNamestring

New name shown for the credential in Sim.

minLength
1
maxLength
255
descriptionvalue

New credential description. Send null to clear the stored one.

Schema details

Any of

Option 1string
maxLength
500
Option 2null
serviceAccountJsonstring

Write-only provider service-account JSON configuration, including Oracle Database connection fields.

minLength
1
maxLength
2097152
writeOnly
true
apiTokenstring

Write-only provider API token.

minLength
1
maxLength
8192
writeOnly
true
domainstring

Provider account domain.

minLength
1
maxLength
2048
atlassianProductstring

Atlassian product to verify; defaults to Jira on create and preserves the saved product on reconnect.

enum
["jira","confluence"]
signingSecretstring

Write-only webhook signing secret.

minLength
1
maxLength
8192
writeOnly
true
botTokenstring

Write-only bot token.

minLength
1
maxLength
8192
writeOnly
true
clientIdstring

OAuth client identifier.

minLength
1
maxLength
512
clientSecretstring

Write-only OAuth client secret.

minLength
1
maxLength
1024
writeOnly
true
certificateIdstring

Provider certificate mapping identifier.

minLength
1
maxLength
512
orgIdstring

Provider organization ID.

minLength
1
maxLength
255
dataCenterstring

Provider data center.

minLength
1
maxLength
32
scopestring

Provider permissions; preserved on reconnect when omitted.

minLength
1
maxLength
512
authMethodstring

Provider authentication method.

minLength
1
maxLength
64
privateKeystring

Write-only PEM private key.

minLength
1
maxLength
8192
writeOnly
true
usernamestring

Provider run-as username.

minLength
1
maxLength
255
tenancyOcidstring

OCI tenancy OCID.

minLength
1
maxLength
255
userOcidstring

OCI user OCID.

minLength
1
maxLength
255
fingerprintstring

OCI API-key fingerprint.

minLength
1
maxLength
128
privateKeyPassphrasestring

Write-only OCI private-key passphrase.

maxLength
4096
writeOnly
true
regionstring

OCI home region.

minLength
1
maxLength
128

Additional properties are not allowed.

Request example 1

json
{
  "displayName": "Billing automation"
}

Request example 2

json
{
  "clientId": "YOUR_CLIENT_ID",
  "clientSecret": "YOUR_ROTATED_CLIENT_SECRET",
  "orgId": "YOUR_ACCOUNT_ID"
}

Responses

200

The updated credential without secret material.

object

Updated credential metadata without secret material.

1 field
dataobjectRequired

Response data.

10 fields
idstringRequired

Unique credential identifier.

typestringRequired

Authenticated connection type.

enum
["oauth","service_account"]
displayNamestringRequired

Credential display name.

descriptionvalueRequired

Optional credential description.

Schema details

Any of

Option 1string
Option 2null
providerIdvalueRequired

Integration provider authenticated by this credential.

Schema details

Any of

Option 1string
Option 2null
accountIdvalueRequired

Linked account identifier for OAuth credentials.

Schema details

Any of

Option 1string
Option 2null
hasServiceAccountKeybooleanRequired

Whether a service-account payload is stored. Its contents are never returned.

rolestringRequired

Caller role for the credential.

enum
["admin","member"]
createdAtstringRequired

ISO 8601 timestamp when the credential was created.

format
date-time
pattern
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
updatedAtstringRequired

ISO 8601 timestamp when the credential was last updated.

format
date-time
pattern
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$

Additional properties are not allowed.

Additional properties are not allowed.

Response example 1

json
{
  "data": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "type": "service_account",
    "displayName": "Zoom service account",
    "description": null,
    "providerId": "zoom-service-account",
    "accountId": null,
    "hasServiceAccountKey": true,
    "role": "admin",
    "createdAt": "2026-06-01T09:14:00.000Z",
    "updatedAt": "2026-06-20T14:02:11.000Z"
  }
}

Response headers

X-RateLimit-Limitinteger

Maximum requests allowed in the current window.

minimum
0
maximum
9007199254740991
X-RateLimit-Remaininginteger

Requests remaining in the current window.

minimum
0
maximum
9007199254740991
X-RateLimit-Resetstring

ISO 8601 timestamp when the current rate-limit window resets.

format
date-time
pattern
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
Was this helpful?
Suggest an edit