Documentation Index Fetch the complete documentation index at: https://turnkey-0e7c1f5b-amir-tx-status-webhooks.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Authorizations API Key
WebAuthn (Passkey)
Cryptographically signed (stamped) request to be passed in as a header. For more info, see
here .
Cryptographically signed (stamped) request to be passed in as a header. For more info, see
here .
Body
Enum options: ACTIVITY_TYPE_OAUTH2_AUTHENTICATE
Timestamp (in milliseconds) of the request, used to verify liveness of user requests.
Unique identifier for a given Organization.
The parameters object containing the specific intent data for this activity.
parameters. oauth2CredentialId
The OAuth 2.0 credential id whose client_id and client_secret will be used in the OAuth 2.0 flow
The auth_code provided by the OAuth 2.0 provider to the end user to be exchanged for a Bearer token in the OAuth 2.0 flow
The URI the user is redirected to after they have authenticated with the OAuth 2.0 provider
The code verifier used by OAuth 2.0 PKCE providers
An optional nonce used by the client to prevent replay/substitution of an ID token
parameters. bearerTokenTargetPublicKey
An optional P256 public key to which, if provided, the bearer token will be encrypted and returned via the encrypted_bearer_token claim of the OIDC Token
Enable to have your activity generate and return App Proofs, enabling verifiability.
Response
A successful response returns the following fields:
The activity object containing type, intent, and result Unique identifier for a given Activity object.
Unique identifier for a given Organization.
The intent of the activity activity.intent. oauth2AuthenticateIntent
The oauth2AuthenticateIntent object Show oauth2AuthenticateIntent details
activity.intent.oauth2AuthenticateIntent. oauth2CredentialId
The OAuth 2.0 credential id whose client_id and client_secret will be used in the OAuth 2.0 flow
activity.intent.oauth2AuthenticateIntent. authCode
The auth_code provided by the OAuth 2.0 provider to the end user to be exchanged for a Bearer token in the OAuth 2.0 flow
activity.intent.oauth2AuthenticateIntent. redirectUri
The URI the user is redirected to after they have authenticated with the OAuth 2.0 provider
activity.intent.oauth2AuthenticateIntent. codeVerifier
The code verifier used by OAuth 2.0 PKCE providers
activity.intent.oauth2AuthenticateIntent. nonce
An optional nonce used by the client to prevent replay/substitution of an ID token
activity.intent.oauth2AuthenticateIntent. bearerTokenTargetPublicKey
An optional P256 public key to which, if provided, the bearer token will be encrypted and returned via the encrypted_bearer_token claim of the OIDC Token
The result of the activity activity.result. oauth2AuthenticateResult
The oauth2AuthenticateResult object Show oauth2AuthenticateResult details
activity.result.oauth2AuthenticateResult. oidcToken
Base64 encoded OIDC token issued by Turnkey to be used with the LoginWithOAuth activity
A list of objects representing a particular User’s approval or rejection of a Consensus request, including all relevant metadata.
An artifact verifying a User’s action.
Whether the activity can be approved.
Whether the activity can be rejected.
The last update timestamp.
curl --request POST \
--url https://api.turnkey.com/public/v1/submit/oauth2_authenticate \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header "X-Stamp: <string> (see Authorizations)" \
--data '{
"type": "ACTIVITY_TYPE_OAUTH2_AUTHENTICATE",
"timestampMs": "<string> (e.g. 1746736509954)",
"organizationId": "<string> (Your Organization ID)",
"parameters": {
"oauth2CredentialId": "<string>",
"authCode": "<string>",
"redirectUri": "<string>",
"codeVerifier": "<string>",
"nonce": "<string>",
"bearerTokenTargetPublicKey": "<string>"
}
}'
{
"activity" : {
"id" : "<activity-id>" ,
"status" : "ACTIVITY_STATUS_COMPLETED" ,
"type" : "ACTIVITY_TYPE_OAUTH2_AUTHENTICATE" ,
"organizationId" : "<organization-id>" ,
"timestampMs" : "<timestamp> (e.g. 1746736509954)" ,
"result" : {
"activity" : {
"id" : "<string>" ,
"organizationId" : "<string>" ,
"status" : "<string>" ,
"type" : "<string>" ,
"intent" : {
"oauth2AuthenticateIntent" : {
"oauth2CredentialId" : "<string>" ,
"authCode" : "<string>" ,
"redirectUri" : "<string>" ,
"codeVerifier" : "<string>" ,
"nonce" : "<string>" ,
"bearerTokenTargetPublicKey" : "<string>"
}
},
"result" : {
"oauth2AuthenticateResult" : {
"oidcToken" : "<string>"
}
},
"votes" : "<array>" ,
"fingerprint" : "<string>" ,
"canApprove" : "<boolean>" ,
"canReject" : "<boolean>" ,
"createdAt" : "<string>" ,
"updatedAt" : "<string>"
}
}
}
}