Skip to main content
Welcome to the preview portal — This is an early release of the new Doc Hub experience, with more content coming soon.

Submit OAuth Credentials


If your system uses the OAuth or OAuth with JWT security policy, you must provide your OAuth credentials to . The OAuth credentials request uses Visa's key management service to store your credentials. When sends you webhook notifications in the future, will use your OAuth credentials to access your server and deliver the notification message.

OAuth

The OAuth security policy with client credentials is an authentication method that is designed for applications that communicate with each other. Basic authentication is the most common mechanism for authenticating a client with the client credentials. This authentication method enables services to obtain only the relevant user data without exposing the user's credentials.

OAuth with JWT

The OAuth with JWT security policy is an authentication method in which your system sends a JSON Web Token. This method bypasses domain headers and minimizes the need for server-side authentication checks.

Endpoints

Send a POST request to one of these endpoints:

POST /kms/egress/v2/keys-sym

POST /kms/egress/v2/keys-sym

POST /kms/egress/v2/keys-sym

Headers

Each API request should use headers that provide your client credentials, which are the username and password of your webhooks server. Here is an example:

curl --location 'Client's OAuth URL' \--header 'Content-Type: application/x-www-form-urlencoded' \--data-urlencode 'grant_type=client_credentials' \--data-urlencode 'client_id=webhooks-server-username' \--data-urlencode 'client_secret=webhooks-server-password'

Example: Providing Your OAuth Credentials

{  "clientRequestAction": "STORE",  "keyInformation": {    "provider": "merchantName",    "tenant": "nrtd",    "keyType": "oAuthClientCredentials",    "organizationId": "merchantName",    "clientKeyId": "Webhook server's username",    "key": "Webhook server's secret key",    "expiryDuration": "365"  }}
{    "submitTimeUtc": "2022-02-18T19:49:52Z",    "status": "SUCCESS",    "keyInformation": {        "provider": "org1",        "tenant": "nrtd",        "organizationId": "org1",        "clientKeyId": "ef400ac1-edfe-406e-94b3-0d73be09a1a0",        "keyId": "d8512fb5-1d8c-4f2d-e053-3cb8d30a764c",        "key": "KTTY1LLGYR6A2LL4XZTT9W9RGCVJ5Z4XZAP6AFTRUFWLSXX0NX4N88N9EJED3BMM",        "keyType": "oAuthClientCredentials",        "status": "active",        "expirationDate": "2023-02-18T19:49:52Z"    }}

Required Fields for Providing Your OAuth Credentials

FieldDescription
clientRequestActionSet to STORE.
keyInformation.clientKeyIdSet to the webhook server's username.
keyInformation.expiryDurationSet to 365.
keyInformation.keySet to the webhooks server's secret key.
keyInformation.keyTypeSet to oAuthClientCredentials.
keyInformation.organizationIdSet to the organization ID or merchant ID of the organization requesting the key.
keyInformation.providerSet to the organization ID that the requesting organization belongs to.
keyInformation.tenantSet to nrtd.

Last published: October 28, 2026