Public API Reference
Interactive reference
500Paginated identity list
Missing or invalid API key
Internal error
GET /v1/identities HTTP/1.1
Host: YOUR-AOH-SYNC-HOST
X-API-Key: YOUR_API_KEY
Accept: */*
{
"data": [
{
"id": "text",
"display_name": "text",
"status": "text",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z",
"attributes": [
{
"identity_id": "text",
"field_name": "text",
"field_value": "text",
"source_type": "text",
"source_id": "text",
"priority": 1,
"updated_at": "2026-01-01T00:00:00.000Z"
}
],
"users": [
{
"id": "text",
"external_id": "text",
"user_principal_name": "text",
"display_name": "text",
"email": "text",
"job_title": "text",
"first_name": "text",
"last_name": "text",
"status": "text",
"tenant_id": "text",
"hire_date": "2026-01-01T00:00:00.000Z",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z",
"roles": [
"text"
],
"groups": [
"text"
],
"departments": [
"text"
]
}
],
"accounts": [
{
"id": "text",
"external_id": "text",
"identifier": "text",
"display_name": "text",
"first_name": "text",
"last_name": "text",
"job_title": "text",
"status": "text",
"source_system_id": "text",
"person_id": "text",
"last_synced_at": "2026-01-01T00:00:00.000Z",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z"
}
],
"machine_identities": [
{
"id": "text",
"account_id": "text",
"display_name": "text",
"classification": "text",
"owned_by": "text",
"manager_id": "text",
"technical_inheritor": "text",
"risk_score": 1,
"status": "text",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z"
}
]
}
],
"total": 1,
"limit": 1,
"offset": 1
}Identity
Missing or invalid API key
Not found
Internal error
GET /v1/identities/{id} HTTP/1.1
Host: YOUR-AOH-SYNC-HOST
X-API-Key: YOUR_API_KEY
Accept: */*
{
"id": "text",
"display_name": "text",
"status": "text",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z",
"attributes": [
{
"identity_id": "text",
"field_name": "text",
"field_value": "text",
"source_type": "text",
"source_id": "text",
"priority": 1,
"updated_at": "2026-01-01T00:00:00.000Z"
}
],
"users": [
{
"id": "text",
"external_id": "text",
"user_principal_name": "text",
"display_name": "text",
"email": "text",
"job_title": "text",
"first_name": "text",
"last_name": "text",
"status": "text",
"tenant_id": "text",
"hire_date": "2026-01-01T00:00:00.000Z",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z",
"roles": [
"text"
],
"groups": [
"text"
],
"departments": [
"text"
]
}
],
"accounts": [
{
"id": "text",
"external_id": "text",
"identifier": "text",
"display_name": "text",
"first_name": "text",
"last_name": "text",
"job_title": "text",
"status": "text",
"source_system_id": "text",
"person_id": "text",
"last_synced_at": "2026-01-01T00:00:00.000Z",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z"
}
],
"machine_identities": [
{
"id": "text",
"account_id": "text",
"display_name": "text",
"classification": "text",
"owned_by": "text",
"manager_id": "text",
"technical_inheritor": "text",
"risk_score": 1,
"status": "text",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z"
}
]
}500Lifecycle event list
Missing or invalid API key
Not found
Internal error
GET /v1/identities/{id}/history HTTP/1.1
Host: YOUR-AOH-SYNC-HOST
X-API-Key: YOUR_API_KEY
Accept: */*
{
"data": [
{
"id": "text",
"event_type": "text",
"occurred_at": "2026-01-01T00:00:00.000Z",
"details": {}
}
],
"total": 1,
"limit": 1,
"offset": 1
}500Paginated user list
Missing or invalid API key
Internal error
GET /v1/users HTTP/1.1
Host: YOUR-AOH-SYNC-HOST
X-API-Key: YOUR_API_KEY
Accept: */*
{
"data": [
{
"id": "text",
"external_id": "text",
"user_principal_name": "text",
"display_name": "text",
"email": "text",
"job_title": "text",
"first_name": "text",
"last_name": "text",
"status": "text",
"tenant_id": "text",
"hire_date": "2026-01-01T00:00:00.000Z",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z",
"roles": [
"text"
],
"groups": [
"text"
],
"departments": [
"text"
]
}
],
"total": 1,
"limit": 1,
"offset": 1
}User
Missing or invalid API key
Not found
Internal error
GET /v1/users/{id} HTTP/1.1
Host: YOUR-AOH-SYNC-HOST
X-API-Key: YOUR_API_KEY
Accept: */*
{
"id": "text",
"external_id": "text",
"user_principal_name": "text",
"display_name": "text",
"email": "text",
"job_title": "text",
"first_name": "text",
"last_name": "text",
"status": "text",
"tenant_id": "text",
"hire_date": "2026-01-01T00:00:00.000Z",
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z",
"roles": [
"text"
],
"groups": [
"text"
],
"departments": [
"text"
]
}Job accepted
Invalid request body
Missing or invalid API key
Internal error
POST /v1/sync/trigger HTTP/1.1
Host: YOUR-AOH-SYNC-HOST
X-API-Key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 48
{
"connector_id": "text",
"idempotency_key": "text"
}{
"job_id": "text",
"status": "text"
}Sync job status
Missing id
Missing or invalid API key
Not found
Internal error
GET /v1/sync/jobs/{id} HTTP/1.1
Host: YOUR-AOH-SYNC-HOST
X-API-Key: YOUR_API_KEY
Accept: */*
{
"job_id": "text",
"status": "text",
"progress_pct": 1,
"started_at": "2026-01-01T00:00:00.000Z",
"completed_at": "2026-01-01T00:00:00.000Z",
"error_message": "text",
"batches_processed": 1,
"batches_total": 1
}Webhook created (signing_secret returned once only)
Invalid request body
Missing or invalid API key
Internal error
POST /v1/webhooks HTTP/1.1
Host: YOUR-AOH-SYNC-HOST
X-API-Key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 56
{
"callback_url": "https://example.com",
"events": [
"text"
]
}{
"id": "text",
"callback_url": "https://example.com",
"events": [
"text"
],
"active": true,
"created_at": "2026-01-01T00:00:00.000Z",
"signing_secret": "text"
}Webhook list
Missing or invalid API key
Internal error
GET /v1/webhooks HTTP/1.1
Host: YOUR-AOH-SYNC-HOST
X-API-Key: YOUR_API_KEY
Accept: */*
{
"data": [
{
"id": "text",
"callback_url": "https://example.com",
"events": [
"text"
],
"active": true,
"created_at": "2026-01-01T00:00:00.000Z"
}
],
"total": 1
}Updated webhook
Invalid request
Missing or invalid API key
Not found
Internal error
PATCH /v1/webhooks/{id} HTTP/1.1
Host: YOUR-AOH-SYNC-HOST
X-API-Key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 70
{
"callback_url": "https://example.com",
"events": [
"text"
],
"active": true
}{
"id": "text",
"callback_url": "https://example.com",
"events": [
"text"
],
"active": true,
"created_at": "2026-01-01T00:00:00.000Z"
}Deleted
No content
Missing or invalid API key
Not found
Internal error
DELETE /v1/webhooks/{id} HTTP/1.1
Host: YOUR-AOH-SYNC-HOST
X-API-Key: YOUR_API_KEY
Accept: */*
No content
New signing secret (returned once only)
Missing or invalid API key
Not found
Internal error
POST /v1/webhooks/{id}/rotate-secret HTTP/1.1
Host: YOUR-AOH-SYNC-HOST
X-API-Key: YOUR_API_KEY
Accept: */*
{
"signing_secret": "text"
}Endpoint summary
Key schemas
Identity
User
SyncJob (trigger response)
SyncStatus (job status response)
Related
Last updated