POST
/
public
/
v1
/
submit
/
update_oauth2_credential
Authorizations
Body
Enum options:
ACTIVITY_TYPE_UPDATE_OAUTH2_CREDENTIALTimestamp (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.
Show details
Show details
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
Show activity details
Show activity details
The intent of the activity
Show intent details
Show intent details
The updateOauth2CredentialIntent object
Show updateOauth2CredentialIntent details
Show updateOauth2CredentialIntent details
The ID of the OAuth 2.0 credential to update
provider fieldEnum options:
OAUTH2_PROVIDER_X, OAUTH2_PROVIDER_DISCORDThe Client ID issued by the OAuth 2.0 provider
The result of the activity
A list of objects representing a particular User’s approval or rejection of a Consensus request, including all relevant metadata.
curl --request POST \
--url https://api.turnkey.com/public/v1/submit/update_oauth2_credential \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header "X-Stamp: <string> (see Authorizations)" \
--data '{
"type": "ACTIVITY_TYPE_UPDATE_OAUTH2_CREDENTIAL",
"timestampMs": "<string> (e.g. 1746736509954)",
"organizationId": "<string> (Your Organization ID)",
"parameters": {
"oauth2CredentialId": "<string>",
"provider": "<OAUTH2_PROVIDER_X>",
"clientId": "<string>",
"encryptedClientSecret": "<string>"
}
}'
import { Turnkey } from "@turnkey/sdk-server";
const turnkeyClient = new Turnkey({
apiBaseUrl: "https://api.turnkey.com",
apiPublicKey: process.env.API_PUBLIC_KEY!,
apiPrivateKey: process.env.API_PRIVATE_KEY!,
defaultOrganizationId: process.env.ORGANIZATION_ID!,
});
const response = await turnkeyClient.apiClient().updateOauth2Credential({
oauth2CredentialId: "<string> (The ID of the OAuth 2.0 credential to update)",
provider: "<OAUTH2_PROVIDER_X>" // provider field,
clientId: "<string> (The Client ID issued by the OAuth 2.0 provider)",
encryptedClientSecret: "<string> (The client secret issued by the OAuth 2.0 provider encrypted to the TLS Fetcher quorum key)"
});
{
"activity": {
"id": "<activity-id>",
"status": "ACTIVITY_STATUS_COMPLETED",
"type": "ACTIVITY_TYPE_UPDATE_OAUTH2_CREDENTIAL",
"organizationId": "<organization-id>",
"timestampMs": "<timestamp> (e.g. 1746736509954)",
"result": {
"activity": {
"id": "<string>",
"organizationId": "<string>",
"status": "<string>",
"type": "<string>",
"intent": {
"updateOauth2CredentialIntent": {
"oauth2CredentialId": "<string>",
"provider": "<OAUTH2_PROVIDER_X>",
"clientId": "<string>",
"encryptedClientSecret": "<string>"
}
},
"result": {
"updateOauth2CredentialResult": {
"oauth2CredentialId": "<string>"
}
},
"votes": "<array>",
"fingerprint": "<string>",
"canApprove": "<boolean>",
"canReject": "<boolean>",
"createdAt": "<string>",
"updatedAt": "<string>"
}
}
}
}