Dynamic Client Registration
Register a new OAuth client dynamically as specified by RFC 7591. No prior authentication is required. Each software installation may register its own client_id. Cache the returned client_id — re-registration is not needed per session.
Rate limit: 10 requests per IP per hour.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://api.whatalo.com/oauth/register" \ -H "Content-Type: application/json" \ -d '{ "client_name": "My SaaS Integration", "redirect_uris": [ "https://my-app.com/oauth/callback" ], "grant_types": [ "authorization_code", "refresh_token" ], "response_types": [ "code" ], "scope": "read:orders read:products write:orders", "token_endpoint_auth_method": "client_secret_post", "software_id": "my-saas-integration", "software_version": "2.1.0", "logo_uri": "https://my-app.com/logo.png", "client_uri": "https://my-app.com", "policy_uri": "https://my-app.com/privacy", "tos_uri": "https://my-app.com/terms" }'{
"client_id": "abc123def456ghi789jkl012",
"client_secret": "s3cr3t_v4lu3_xyz987wvu654",
"client_name": "My SaaS Integration",
"redirect_uris": [
"https://my-app.com/oauth/callback"
],
"grant_types": [
"authorization_code",
"refresh_token"
],
"response_types": [
"code"
],
"scope": "read:orders read:products write:orders",
"token_endpoint_auth_method": "client_secret_post",
"software_id": "my-saas-integration",
"software_version": "2.1.0",
"client_id_issued_at": 1746648000,
"client_secret_expires_at": 0
}{
"error": "invalid_request",
"error_description": "redirect_uris is required"
}{
"error": "rate_limit_exceeded",
"error_description": "Registration limit of 10 requests per hour exceeded"
}