POST/v2/oauth/revokeOAuth token revocation

Logs out a user by revoking an OAuth token as per ietf rfc7009.
formgrant_type
formclient_idOAuth Client id
formclient_secretOAuth Client id
formusername
formpassword
formscope
formmfa_tokenToken obtained from the verification api

Example: Authenticate and then revoke

POST/v1/authentications/password

{
"mfaToken": "f7a4ecfb-56b9-4cc0-adcf-d3cdc4f4e3fe",
"password": "fin8@53y38!4rj",
"clientId": "BoldAuthStaging",
"clientSecret": "cw3JrFa5vYQGGcm46pABAsPS",
"phoneNumber": "+40711111298"
}

Response

status200
headerAccess-Control-Expose-Headersauthorization, content-type
headerAccess-Control-Allow-Headersauthorization, content-type
headerAccess-Control-Allow-MethodsGET, POST, DELETE, OPTIONS, PUT
headerAccess-Control-Allow-Origin*
headerStrict-Transport-Securitymax-age=31536000; includeSubDomains
headerX-Frame-OptionsSAMEORIGIN
headerX-Content-Type-Optionsnosniff
headerX-XSS-Protection1; mode=block
headerContent-Security-Policydefault-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none'
headerReferrer-Policyno-referrer
headerFeature-Policyself
headerPermissions-policyinterest-cohort=()
{
"code": "711ca5e1-7155-4b5c-b11b-bd2528b96ffe",
"expiration": "2026-08-21T15:13:25.858626921Z",
"accountId": 1,
"accountCreated": false,
"registered": true,
"emailAddress": "sesam@example.com"
}

POST/v2/oauth/token

headerContent-Typeapplication/x-www-form-urlencoded
formgrant_typeauthorization_code
formcode711ca5e1-7155-4b5c-b11b-bd2528b96ffe
formredirect_uriboldsmartlock%3A%2F%2Fauth
formclient_idBoldAuthStaging
formclient_secretcw3JrFa5vYQGGcm46pABAsPS

Response

status200
headerAccess-Control-Expose-Headersauthorization, content-type
headerAccess-Control-Allow-Headersauthorization, content-type
headerAccess-Control-Allow-MethodsGET, POST, DELETE, OPTIONS, PUT
headerAccess-Control-Allow-Origin*
headerStrict-Transport-Securitymax-age=31536000; includeSubDomains
headerX-Frame-OptionsSAMEORIGIN
headerX-Content-Type-Optionsnosniff
headerX-XSS-Protection1; mode=block
headerContent-Security-Policydefault-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none'
headerReferrer-Policyno-referrer
headerFeature-Policyself
headerPermissions-policyinterest-cohort=()
{
"access_token": "f06a79f0-2ee4-4536-8ec5-c902f7f87238",
"refresh_token": "babcee66-49b8-468f-b08a-2b1c3b1ba2b9",
"token_type": "Bearer",
"expires_in": 86400,
"account_id": 1
}

POST/v2/oauth/revoke

headerContent-Typeapplication/x-www-form-urlencoded
formtokenf06a79f0-2ee4-4536-8ec5-c902f7f87238
formtoken_type_hintaccess_token

Response

status200
headerAccess-Control-Expose-Headersauthorization, content-type
headerAccess-Control-Allow-Headersauthorization, content-type
headerAccess-Control-Allow-MethodsGET, POST, DELETE, OPTIONS, PUT
headerAccess-Control-Allow-Origin*
headerStrict-Transport-Securitymax-age=31536000; includeSubDomains
headerX-Frame-OptionsSAMEORIGIN
headerX-Content-Type-Optionsnosniff
headerX-XSS-Protection1; mode=block
headerContent-Security-Policydefault-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none'
headerReferrer-Policyno-referrer
headerFeature-Policyself
headerPermissions-policyinterest-cohort=()
{}

Example: revoke invalid token

POST/v2/oauth/revoke

headerContent-Typeapplication/x-www-form-urlencoded
formtokena794fc8e-9f89-4965-b53e-49a0cb8506fb
formtoken_type_hintaccess_token

Response

status200
headerAccess-Control-Expose-Headersauthorization, content-type
headerAccess-Control-Allow-Headersauthorization, content-type
headerAccess-Control-Allow-MethodsGET, POST, DELETE, OPTIONS, PUT
headerAccess-Control-Allow-Origin*
headerStrict-Transport-Securitymax-age=31536000; includeSubDomains
headerX-Frame-OptionsSAMEORIGIN
headerX-Content-Type-Optionsnosniff
headerX-XSS-Protection1; mode=block
headerContent-Security-Policydefault-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none'
headerReferrer-Policyno-referrer
headerFeature-Policyself
headerPermissions-policyinterest-cohort=()
{}

Example: revoke random string

Shows that revoking a non-existing token will not result in an error. This prevents token guessing.

POST/v2/oauth/revoke

headerContent-Typeapplication/x-www-form-urlencoded
formtokengR0Ul251IIy5utXI
formtoken_type_hintaccess_token

Response

status200
headerAccess-Control-Expose-Headersauthorization, content-type
headerAccess-Control-Allow-Headersauthorization, content-type
headerAccess-Control-Allow-MethodsGET, POST, DELETE, OPTIONS, PUT
headerAccess-Control-Allow-Origin*
headerStrict-Transport-Securitymax-age=31536000; includeSubDomains
headerX-Frame-OptionsSAMEORIGIN
headerX-Content-Type-Optionsnosniff
headerX-XSS-Protection1; mode=block
headerContent-Security-Policydefault-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none'
headerReferrer-Policyno-referrer
headerFeature-Policyself
headerPermissions-policyinterest-cohort=()
{}