Provider keys
Save a provider key
/v1/workspaces/{workspaceId}/provider-keys/{provider}Save the workspace's own key for a provider, replacing any saved one. The key is tried with its provider first. If the provider refuses it, the call answers 400 key_rejected with the provider's words, such as "Twilio said: …", and the saved key stays. Saved keys are encrypted, and a new one clears the old one's failure. It fails with 409 keys_not_enabled unless staff set the provider's check to run on the workspace's own keys (phone for twilio, email for neverbounce), and with 409 keys_unconfigured when PROVIDER_KEYS_SECRET isn't set on this deployment. Only the workspace owner can do this, and only from the app. See Owner-only and app-only.
Path parameters
workspaceIdstringrequiredThe workspace's id. An API key can only use its own workspace.
providerstringrequiredThe provider.
twiliois Twilio Verify, which sends phone codes.neverbounceis NeverBounce, which checks email addresses.
Body
JSON, with Content-Type: application/json.
twilioobjectA Twilio Verify service's keys. Required when the provider is
twilio, which otherwise answers400 invalid.Show 3 fieldsHide 3 fields
accountSidstringrequired1–100 chars
authTokenstringrequired1–200 chars
serviceSidstringrequiredThe Twilio Verify service's SID.
1–100 chars
neverbounceobjectThe NeverBounce key. Required when the provider is
neverbounce, which otherwise answers400 invalid.Show 1 fieldHide 1 field
apiKeystringrequired1–200 chars
Response
Secrets are never returned: a key shows only its last 4 characters.
phoneobjectrequiredPhone codes (Twilio).
Show 2 fieldsHide 2 fields
sourceenumrequiredWhose keys the check runs on.
ayeformuses Ayeform's keys and is charged in credits.ownuses the workspace's own keys andhouseuses keys Ayeform set up for it, and neither is charged. Withownand no key saved, or a key the provider refuses, the check is skipped and the response comes in not verified or not checked. It never falls back to Ayeform's keys.One of
"ayeform","own","house"keyone of 2requiredThe workspace's own saved key, shown whatever the source so the owner can still remove it after staff change the source. Null when none is saved. Keys Ayeform set up for the workspace are never shown.
Show 2 optionsHide 2 options
Option 1
last4stringrequiredThe key's last 4 characters.
addedAtnumberrequiredWhen the key was saved, in milliseconds since the epoch.
failureone of 2requiredThe provider's last problem with the key. It clears once the key works.
Show 2 optionsHide 2 options
Option 1
atnumberrequiredkindenumrequiredrejectedmeans the provider refused the key, and checks are skipped until it's replaced.errormeans another error about the key's account or service, and checks are skipped while it lasts.One of
"rejected","error"messagestringrequiredThe provider's words.
null
accountSidstringTwilio only.
serviceSidstringTwilio only.
null
emailobjectrequiredEmail checks (NeverBounce).
Show 2 fieldsHide 2 fields
sourceenumrequiredWhose keys the check runs on.
ayeformuses Ayeform's keys and is charged in credits.ownuses the workspace's own keys andhouseuses keys Ayeform set up for it, and neither is charged. Withownand no key saved, or a key the provider refuses, the check is skipped and the response comes in not verified or not checked. It never falls back to Ayeform's keys.One of
"ayeform","own","house"keyone of 2requiredThe workspace's own saved key, shown whatever the source so the owner can still remove it after staff change the source. Null when none is saved. Keys Ayeform set up for the workspace are never shown.
Show 2 optionsHide 2 options
Option 1
last4stringrequiredThe key's last 4 characters.
addedAtnumberrequiredWhen the key was saved, in milliseconds since the epoch.
failureone of 2requiredThe provider's last problem with the key. It clears once the key works.
Show 2 optionsHide 2 options
Option 1
atnumberrequiredkindenumrequiredrejectedmeans the provider refused the key, and checks are skipped until it's replaced.errormeans another error about the key's account or service, and checks are skipped while it lasts.One of
"rejected","error"messagestringrequiredThe provider's words.
null
accountSidstringTwilio only.
serviceSidstringTwilio only.
null
telegramFreebooleanrequiredTelegram checks are never charged.
Errors answer with a status and the error shape.