- Create an identity verification secret
Creates a new identity verification secret for your workspace. Intercom generates a 256-bit, cryptographically random value server-side and returns it once in the response.
This is the only opportunity to capture the secret. Store it in your secure configuration immediately. The secret field is omitted from all subsequent responses (including GET /secure_mode_secrets) — if you lose it, you must rotate a new secret in and delete this one.
You must enable the secret for at least one platform (supports_android, supports_ios, or supports_web). Rotation flow: create the new secret, roll it out to every client signing user_hash values, then delete the old secret with DELETE /secure_mode_secrets/{id} once traffic has cut over.
Intercom API version.
If you omit the header, the API uses the version set in your app package, and 1.0 if none is set.
- The production API serverhttps://api.intercom.io/secure_mode_secrets
- The european API serverhttps://api.eu.intercom.io/secure_mode_secrets
- The australian API serverhttps://api.au.intercom.io/secure_mode_secrets
- Create a web-only secret
- Create a secret for web and mobile
- Create a web secret for one environment
curl -i -X POST \
https://api.intercom.io/secure_mode_secrets \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Intercom-Version: Preview' \
-d '{
"name": "Production Web",
"supports_web": true
}'Secret created
Human-readable name for the secret, used to identify it in rotation flows
The messenger_environment value of the environment the secret is limited to, or null if the secret works in every environment
{ "type": "identity_verification_secret", "id": "103", "name": "Production Web", "secret": "9Zw0xNs3vKk0fPz9rwKqNbzH3mPVQmQxL9vhSm9Tk4A", "supports_android": false, "supports_ios": false, "supports_web": true, "created_at": 1734537500, "environment_id": null }