Overview
Chidori API keys support granular permissions, allowing you to control exactly what each key can do. This follows the principle of least privilege—only grant the permissions your application actually needs.Available permissions
| Permission | Description | Required for |
|---|---|---|
pricing:read | Get delivery price estimates | /api/pricing/single, /api/pricing/bulk |
delivery:create | Create new deliveries | /api/deliveries/create, /api/deliveries/create-bulk |
delivery:read | View delivery details | /api/deliveries/get, /api/deliveries/list |
payment:create | Process payments | /api/payments/charge |
payment:read | View transaction history | /api/payments/list-transactions, /api/payments/get-transaction |
webhook:manage | Manage webhooks | /api/webhooks/* |
location:read | Access real-time location | WebSocket location updates |
Permission groups
For convenience, you can think of permissions in logical groups:Pricing permissions
Delivery permissions
delivery:create- Create single or bulk deliveriesdelivery:read- View and list your deliveries
Payment permissions
payment:create- Charge wallet for deliveriespayment:read- View transaction history
Webhook permissions
Location permissions
Common permission sets
Full access (all permissions)
Full access (all permissions)
For development and testing, or when your application needs complete API access:
E-commerce integration
E-commerce integration
For an online store that creates and pays for deliveries:
Tracking dashboard
Tracking dashboard
For a dashboard that only displays delivery status:
Reporting system
Reporting system
For a system that generates reports on deliveries and payments:
Pricing calculator
Pricing calculator
For a tool that only calculates delivery prices:
Setting permissions
When creating an API key through the dashboard:1
Navigate to API Keys
Go to chidori.africa/dashboard and open the API Keys section.
2
Create new key
Click Create API Key.
3
Select permissions
Check the boxes for each permission you want to grant. You can select individual permissions or use preset groups.
4
Create the key
Click Create to generate your key with the selected permissions.
Permission errors
When you attempt an action without the required permission, you receive a403 Forbidden response:
Best practices
Least privilege
Only grant permissions that are actually needed. This limits damage if a key is compromised.
Separate keys by function
Create different keys for different parts of your application, each with only the permissions it needs.
Audit regularly
Periodically review your API keys and their permissions. Revoke unused keys.
Document key usage
Keep track of which keys are used where in your infrastructure.
