Skip to content

API Credentials

API credentials are the keys your users use to authenticate with the Iagon Insight API. Each credential:

  • Must belong to a user account (for usage tracking and access control)
  • Has configurable rate limits and expiration
  • Uses the iiak_ prefix format
  • Is hashed before storage (shown only once at creation)

Ownership Model

Credentials are scoped through user accounts:

Your Admin Key → Your User Accounts → Your Credentials

You can only view, create, and revoke credentials for users that belong to your admin key.

Endpoints Overview

MethodEndpointDescription
GET/v1/admin/credentialsList credentials
POST/v1/admin/credentialsCreate credential
GET/v1/admin/credentials/:idGet credential
PATCH/v1/admin/credentials/:idUpdate credential
DELETE/v1/admin/credentials/:idRevoke credential

Credential Object

json
{
  "id": "660e8400-e29b-41d4-a716-446655440001",
  "name": "Acme Production Key",
  "description": "Main production API key for Acme",
  "api_key_prefix": "iiak_a1b2c3d4",
  "created_at": "2026-01-26T12:00:00Z",
  "user_account_id": "550e8400-e29b-41d4-a716-446655440000",
  "user_account_name": "Acme Corporation",
  "user_external_id": "cust_abc123",
  "admin_key_id": "770e8400-e29b-41d4-a716-446655440002",
  "admin_entity_name": "YourCompany",
  "network_id": 0,
  "last_used_at": "2026-01-26T15:30:00Z",
  "expires_at": null,
  "revoked": false,
  "revoked_at": null,
  "rate_limit_per_minute": 60,
  "metadata": {}
}

Fields

FieldTypeDescription
idUUIDUnique identifier
namestringCredential name (editable by admin or user)
descriptionstring | nullOptional description
api_key_prefixstringFirst 13 chars of the key (for identification)
user_account_idUUIDLinked user account (required)
user_account_namestring | nullUser's name (convenience field)
user_external_idstring | nullUser's external ID (convenience field)
admin_key_idUUIDAdmin key that owns this credential (via user)
admin_entity_namestring | nullAdmin entity name (convenience field)
network_idintegerCardano network: 0=Mainnet, 1=Preview, 2=Preprod
expires_atISO 8601 | nullExpiration date (null = never)
rate_limit_per_minuteintegerMax requests per minute (default: 60)
revokedbooleanWhether the key is revoked
metadataobjectCustom key-value data

API Key Format

iiak_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4
└─┬──┘└──────────────────────┬────────────────────────┘
prefix              48 hex characters (192-bit entropy)

Permission Required

All credential endpoints require the manage_credentials permission.