Authorize customer
Connect a customer after they authorize your Deriv OAuth application. Send their access token and save the returned connection_id. Reauthorization refreshes the existing connection. Send the access token, not a refresh token.
Connect a customer after they authorize your Deriv OAuth application. Send their access token and save the returned connection_id. Reauthorization refreshes the existing connection. Send the access token, not a refresh token.
Required API key scope: authorize.
Request example
POST /api/deriv/customers/authorize HTTP/1.1Host: api.edgepro.siteX-API-Key: <your-api-key>X-Deripay-API-Version: 2Accept: application/jsonContent-Type: application/json{ "client_id": "your-registered-client-id", "external_customer_id": "customer-1001", "deriv_api_token": "customer-oauth-access-token", "preferred_account_id": "CR123456", "token_expires_in": 3600}partnerAPIKeyX-API-Key<token>X-API-Key*stringYour API key. Send requests from your server.
X-Deripay-API-Version*stringSelects the response and error format documented here. Without it, the same URL returns the original format.
Accept?stringapplication/json- body
client_id*stringlength <= 256deriv_api_token*stringexternal_customer_id?stringpreferred_account_id?stringtoken_expires_in?integerOptional remaining token lifetime in seconds; omit when unknown. Reauthorize when the connection reports reconnect_required.
[key: string]?anySuccessful request.
application/json- response
success*booleanmessage*stringdata*curl -X POST 'https://api.edgepro.site/api/deriv/customers/authorize' \ -H 'X-API-Key: <your-api-key>' \ -H 'X-Deripay-API-Version: 2' \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "client_id": "your-registered-client-id", "external_customer_id": "customer-1001", "deriv_api_token": "customer-oauth-access-token", "preferred_account_id": "CR123456", "token_expires_in": 3600}'{ "success": true, "message": "Deriv customer authorized successfully", "data": { "connection_id": "conn_example_01", "external_customer_id": "customer-1001", "id": "customer_example_01", "email": "customer@example.com", "name": "Example Customer", "first_name": "Example", "last_name": "Customer", "profile_completed": true, "role": "user", "default_phone_number": "254712345678", "payment_methods": [], "deriv_account": { "client_id": "your-registered-client-id", "user_id": 123456, "fullname": "Example Customer", "country": "ke", "primary_login_id": "CR123456", "selected_account": "CR123456", "account_count": 1, "accounts": [ { "login_id": "CR123456", "currency": "USD", "is_virtual": false } ], "token_expires_at": "2026-10-12T10:00:00Z", "authorization_status": "active" } }}