Integrations
Add a Credential
Define how an integration authenticates
POST
Define how an integration authenticates: which fields exist, their types, and how they render in the Opus app.
This is the credential schema — it carries no secret values. Real secrets are supplied later, when someone connects the integration inside a workspace.
Use the
versionId returned by Create an Integration as {integrationVersionId}.
Requires the Integration: Full permission at organization level.
An integration may hold only one credential per
authType. Adding a second with the same type returns 409.Headers
string
required
Your API authentication key
Path Parameters
string
required
The integration version to attach the credential to. This is
versionId from Create an Integration — not the integration’s id.Body Parameters
The credential is nested under acredential key.
object
required
The credential to create. Fields below.
string
required
Credential name. Maximum 255 characters.
string
required
Credential icon as a base64-encoded SVG (or PNG) — a plain string, with no
data: prefix. Maximum 65535 characters.object
required
The credential input schema, keyed by each field’s
variableName. See Input field object.string
Credential description. Maximum 2048 characters.
string
default:"api_key"
Authentication type —
jwt, oauth, api_key, access_token, custom_header_auth, other or no_auth.string
default:"active"
Credential status —
active or inactive.Input field object
Each value insideinputs. The map key must equal the field’s variableName.
string
required
Label rendered in the UI. Maximum 255 characters.
string
required
Programmatic key for this field. Must equal the key it sits under. Maximum 255 characters.
string
required
Value type accepted by this field —
str, int, float, bool, date, list, dict, set, object, array, file or array_files.number
default:"1"
UI rendering order.
string
Placeholder text shown in the input box. Maximum 255 characters.
boolean
default:"true"
When true, the value is masked in the UI and encrypted at rest.
boolean
default:"true"
Whether the field may be left empty.
boolean
default:"true"
When false, the field is read-only.
boolean
default:"true"
When false, the field is hidden from the UI but stays part of the schema.
any
Pre-filled default value rendered in the UI.
Response
string
required
The credential id.
string
required
The credential version id.
string
required
Credential name.
string
required
Credential description.
object
required
The credential input schema, echoed back in the same shape you sent.
string
required
Credential status.
string
required
Credential icon.
string
required
Authentication type.
string
required
Creation timestamp (ISO 8601).
Errors
Bad Request
Invalid body — a missing required field, or a value over its limit.
Unauthorized
Missing, invalid, or expired API key.
Forbidden
Your organization is not verified to author integrations, the key owner lacks the Integration: Full permission, or the integration belongs to another organization.
Not Found
The integration version does not exist. Check you are using
versionId and not the integration’s id.Conflict
This integration already has a credential with the same
authType.Unprocessable Entity
Rejected downstream after passing validation here.