Common
Authentication, client scope, pagination, and date conventions of the EduAlign OpsAPI
Authentication
Every endpoint except POST /ops/v1/auth/signin and POST /ops/v1/auth/refresh requires an Authorization: Bearer {access_token} header.
Client scope
If the client of the signed-in client member has child clients, you can choose which client's data a query API returns. Every query API except the auth APIs accepts the following query parameters.
Query Parameters
- client_identityString
- `client_identity` of the target client. Defaults to the signed-in member's client
- include_descendantsBooleandefault: false
- If `true`, returns data for the target client and all of its descendant clients. If `false`, returns data for the target client only
client_identitymust be the signed-in client or one of its descendants. Values outside that scope and non-existent values both return 403OuterClientScopeForbidden.- Use List Child Clients to see which child clients you can specify.
- With
include_descendants=true, use each item'sclient_identityto tell which client it belongs to. The count APIs (user-count,message-count) return the sum across the target client and its descendants. - If you omit both parameters, only the signed-in client's data is returned.
Pagination
List endpoints share the following query parameters.
Query Parameters
- pageNumber
- Page number (1-based, default 1)
- page_sizeNumber
- Items per page (default 10, max 100)
The pagination object in the response body:
| Field | Type | Description |
|---|---|---|
| current_page | Number | Current page |
| total_pages | Number | Total number of pages |
| page_size | Number | Items per page |
| total_items | Number | Total number of items |
| is_next | Boolean | Whether a next page exists |
| is_prev | Boolean | Whether a previous page exists |
Date / time format
- All datetime response fields (
created_at,first_message_at,last_message_at,last_question_at, etc.): UTC ISO 8601 (e.g.2026-06-25T09:00:00Z) - Period query parameters (
start_date,end_date):YYYY-MM-DDformat, interpreted in KST (Asia/Seoul). The server converts the range to KST 00:00:00 ~ 23:59:59 and then queries in UTC.