> ## Documentation Index
> Fetch the complete documentation index at: https://help.indolat.com/llms.txt
> Use this file to discover all available pages before exploring further.

# API Documentation

> Reference for the Client Integration API v1 covering authentication, participants, exams, results, question import and webhooks.

The Client Integration API lets external systems manage participants, set up exams, register participants, retrieve results, import question packages and receive webhook notifications.

## Getting started with the API

1. Set up the connection and API key as described on the [API Authentication](https://help.indolat.com/en/api/autentikasi.md) page.
2. Validate the API key by calling `GET /me`.
3. Open the endpoint group page your integration needs.

## Endpoint reference

* [API Authentication](https://help.indolat.com/en/api/autentikasi.md) — authentication headers, response format, `GET /me` and security.
* [Participants API](https://help.indolat.com/en/api/peserta.md) — participant accounts, participant batches and labels.
* [Exams API](https://help.indolat.com/en/api/ujian.md) — list, details, tests, sessions and registration links.
* [Exam Setup](https://help.indolat.com/en/api/pengaturan-ujian.md) — create and change exams, tests and sessions, check readiness and run the IRT calculation.
* [Exam Registration and Access Links](https://help.indolat.com/en/api/pendaftaran-ujian.md) — participant registration and access links.
* [Exam Results API](https://help.indolat.com/en/api/hasil-ujian.md) — list and details of exam results.
* [Question Import API](https://help.indolat.com/en/api/import-soal.md) — media uploads, validation, question package import, status and ID mapping.
* [Webhooks API](https://help.indolat.com/en/api/webhook.md) — webhook endpoints, deliveries, testing, payloads and signatures.

## Base URL

```text theme={null}
https://app.indolat.com/api/v1
```

All endpoints return JSON and use Bearer API key authentication.

> [!NOTE]
>
> Human-readable strings in responses are always in Indonesian: `message`, validation `errors`, `status_label` and the other `*_label` fields, and the event descriptions in the webhook `available_events`. Base your integration logic on the machine-readable fields instead: `success`, the HTTP status code, numeric and enum values, and the error keys.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.