Skip to content

Authentication

All Partner API endpoints require authentication using your admin key.

Admin Key Format

Admin keys follow the format:

iiak_admin_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
└────┬─────┘└──────────────────┬──────────────────┘
   prefix           40 hex characters
  • Prefix: iiak_admin_ (11 characters)
  • Random part: 40 hexadecimal characters
  • Total length: 51 characters

Using Your Admin Key

Include your admin key in the Authorization header using the Bearer scheme:

http
GET /v1/admin/users HTTP/1.1
Host: api.iagon.io
Authorization: Bearer iiak_admin_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

cURL Example

bash
curl -X GET "https://api.iagon.io/v1/admin/users" \
  -H "Authorization: Bearer iiak_admin_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

JavaScript Example

javascript
const response = await fetch('https://api.iagon.io/v1/admin/users', {
  headers: {
    'Authorization': 'Bearer iiak_admin_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
  }
});

Error Responses

Missing or Invalid Header

json
{
  "success": false,
  "error": "Missing or invalid admin API key"
}

Status: 401 Unauthorized

Invalid Key

json
{
  "success": false,
  "error": "Invalid admin API key"
}

Status: 403 Forbidden

Missing Permission

json
{
  "success": false,
  "error": "Permission denied: manage_users required"
}

Status: 403 Forbidden

Security Best Practices

  1. Never expose your admin key in client-side code or public repositories
  2. Use environment variables to store your admin key
  3. Rotate keys periodically by creating a new key and revoking the old one
  4. Monitor audit logs for suspicious activity
  5. Use the minimum permissions needed for your use case

Obtaining an Admin Key

Contact Iagon to receive your admin key. You'll be provided with:

  • Your admin key (store securely - it won't be shown again)
  • Your entity name (your organization's identifier in the system)
  • Your granted permissions