What is Platform Delegation?
Platform delegation allows third-party platforms to make UIP API calls on behalf of businesses. Instead of each business integrating UIP directly, a platform can handle the integration once and serve multiple businesses.Example: A payroll platform can collect employee signatures for contracts on behalf of its business customers, without each business needing their own UIP integration.
How It Works
Platform Requests Authorization
The platform calls
POST /v1/authorize with its client credentials and the scopes it needsBusiness Owner Reviews
A QR code is displayed. The business owner scans it with their UIP app and reviews the requested permissions.
Business Approves
The business owner approves with biometric verification, granting the platform specific scopes
Platform Polls for Token
The platform polls
POST /v1/authorize/:id/status with client credentials until status is completed. The completed response includes the delegation token (uip_at_ prefix).Available Scopes
Delegation tokens are scoped — they can only access APIs that the business explicitly granted:| Scope | Permission | API Access |
|---|---|---|
identify:create | Create identify sessions | POST /v1/identify |
sign:create | Create sign sessions | POST /v1/sign |
messages:create | Send messages | POST /v1/message |
messages:read | Read message status | Message-related GET endpoints |
audits:read | Query audit records | GET /v1/audit/:id |
business:read | Read business info | Business profile endpoints |
Using Delegation Tokens
Once you have a delegation token, use it exactly like an API key in the Authorization header:Billing: API usage via delegation tokens is billed to the business that granted the delegation, not to the platform.
Authorization Flow Details
Creating an Authorization Session
Polling Authorization Status
Why POST for status? The authorize status endpoint uses POST (not GET) because client credentials must be verified on every status check.
Completed Response
When the business owner approves, the status response includes the delegation token:Webhook Notification
In addition to polling, UIP sends anauthorize.completed webhook when the business owner approves. You can also receive delegation.revoked webhooks when a business revokes your access.
Scope-Based Error Handling
When a delegation token is used for an operation outside its granted scopes, the API returns:Rate Limits
The authorize endpoint has a stricter rate limit than other endpoints:| Endpoint | Limit |
|---|---|
POST /v1/authorize | 100 requests/min per API key |
POST /v1/authorize/:id/status | 100 requests/min per API key |
| All other endpoints | 300 requests/min per API key |
Best Practices
Minimal Scopes
Request only the scopes your platform needs. You can always request additional scopes later with a new authorization.
Secure Token Storage
Store delegation tokens as securely as API keys. They grant access to another business’s UIP capabilities.
Handle Revocation
Delegation tokens can be revoked by the business at any time. Handle
auth/invalid-api-key errors gracefully and listen for delegation.revoked webhooks.Poll with Backoff
Poll the status endpoint every 2-3 seconds with reasonable timeout. The business owner needs time to review and approve.