Overview
gu1 uses API keys to authenticate requests. All API requests must include your API key in theAuthorization header using the Bearer scheme. Keys are issued in the format gk_<environment>_... (see API key format below).
Getting Your API Key
Log in to Dashboard
Navigate to app.gu1.ai and log in to your account
Configure Key
- Give your key a descriptive name (e.g., “Production API”, “Development”)
- Open Manage permissions and select granular permissions (
resource:actionpairs) aligned with your workspace RBAC. Grant only what the integration needs. - Optionally set an expiration date
Using Your API Key
Include your API key in theAuthorization header of every request:
Example with Different Methods
API Key Format
API keys are opaque strings with the prefixgk_, followed by an environment segment and a random suffix (for example gk_prod_...). The segment reflects the environment you chose when creating the key (for example production vs sandbox). Use production keys only with production organizations and data.
Permissions
Permissions are granular: in the dashboard you assign allowed resources and actions (the sameresource:action model as workspace RBAC). Each integration should receive the smallest set of permissions required for its endpoints.
Follow the principle of least privilege — prefer explicit
resource:action grants over broad access.Best Practices
Secure Storage
Secure Storage
- Store API keys in environment variables or secret management systems
- Never hardcode keys in your source code
- Never commit keys to version control (use
.envfiles and.gitignore)
Key Rotation
Key Rotation
- Rotate API keys regularly (every 90 days recommended)
- Create new keys before revoking old ones to avoid downtime
- Update all systems that use the old key
Monitor Usage
Monitor Usage
- Regularly review API key activity in the dashboard
- Set up alerts for unusual usage patterns
- Immediately revoke compromised keys
Environment Separation
Environment Separation
- Use test keys for development and staging
- Use live keys only in production
- Never use live keys on developer machines
Error Responses
If authentication fails, you’ll receive one of these error responses:Missing API Key
401 Unauthorized
Invalid API Key
401 Unauthorized
Expired API Key
401 Unauthorized
Insufficient Permissions
403 Forbidden
Rate Limiting
API keys are subject to rate limits based on your plan:| Plan | Requests per hour | Requests per day |
|---|---|---|
| Free | 100 | 10,000 |
| Starter | 300 | 100,000 |
| Professional | 1,200 | 500,000 |
| Enterprise | Custom | Custom |
Rate Limit Headers
All API responses include rate limit information in the headers:| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests allowed in the current window |
X-RateLimit-Remaining | Number of requests remaining in the current window |
X-RateLimit-Reset | ISO 8601 timestamp when the rate limit resets |
Rate Limit Exceeded Response
When you exceed rate limits, you’ll receive:429 Too Many Requests
Response Headers:
Testing Your API Key
Use this simple test to verify your API key is working:Next Steps
Create Your First Entity
Start using the API to create entities
Define Custom Schemas
Set up data mapping for your use case
Webhooks
Receive real-time notifications
KYC complete flow
End-to-end KYC integration guide