Get started / Authentication
v1Get support
Get started

Authentication

Every payout request is authorized with a short-lived access token, obtained by exchanging a credential pair. Credentials are provisioned per client and can be rotated at any time.

Credentials

Provision a credential set in the dashboard to receive a clientId (the public identifier) and a clientSecret (shown once). Rotating the secret issues a new value while keeping the same clientId.

ProvisionRetrieveRotate

Shared response envelope

Every auth response uses the same wrapper — status, statusCode, errorMessage, sessionId — with the endpoint-specific result in data.

{
"status": "SUCCESS",
"statusCode": "00",
"errorMessage": null,
"sessionId": "sess_9f2c1a",
"data": {
"clientId": "ck_live_a91f8c2b...",
"clientSecret": "cs_live_7d2e44f9...",
"description": "Production server",
"grantType": "client_credentials",
"tokenEndpoint": "/auth/obtain/token"
}
}

Obtain an access token

Exchange the pair at POST /auth/obtain/token. Send the returned token as Authorization: Bearer <accessToken> on every request. Example shown in the panel.

Tokens are short-lived (expiresIn seconds). Cache and reuse the token; refresh only when it nears expiry rather than minting one per request.

Webhook signatures

Outbound webhooks are signed with HMAC-SHA256 using your endpoint secret. Verify the signature header before trusting a payload. See the event object →

Token request example

curl https://api.dev.mightypay.io/auth/obtain/token \
-H "Content-Type: application/json" \
-d '{
"clientId": "ck_live_a91f8c2b...",
"clientSecret": "cs_live_7d2e44f9..."
}'