# andteam > The andteam API: a read-only directory of your people, organisation and time off, with signed webhooks. - [Introduction](https://docs.andteam.com/index.md): Everything your own software needs to read your people, organisation and time off from andteam. - [Authentication](https://docs.andteam.com/authentication.md): One bearer header, and a key that holds companies and field groups. - [Rate limits](https://docs.andteam.com/rate-limits.md): 300 a minute per key, a burst of 50, and 1,200 a minute per tenant. - [Errors](https://docs.andteam.com/errors.md): One refusal shape, and a stable type for each problem. - [Pagination and syncing](https://docs.andteam.com/pagination.md): Cursors, and reading only what changed since your last read. - [Versioning](https://docs.andteam.com/versioning.md): Additive changes without notice; a breaking change is a new version. - [AI tools](https://docs.andteam.com/ai-tools.md): Let an agent read these docs instead of guessing at the API. - [Field groups](https://docs.andteam.com/concepts/field-groups.md): What a key may read, and why a missing field is not a null one. - [Special categories](https://docs.andteam.com/concepts/special-categories.md): Race and EE designation, disability and medical aid membership, and the Information Officer's approval. - [Employee events](https://docs.andteam.com/concepts/employee-events.md): Seven events, written when a change takes effect, readable by feed and pushed by webhook. - [The sandbox](https://docs.andteam.com/concepts/sandbox.md): A sandbox tenant refuses API keys and webhook endpoints, so its data never leaves andteam. - [Webhooks](https://docs.andteam.com/guides/webhooks.md): Register an endpoint, verify every delivery, and deduplicate on the event id. - [Microsoft Entra ID provisioning](https://docs.andteam.com/guides/entra-id.md): Sign in with Microsoft, and have andteam create and switch off Microsoft accounts on time. - [Syncing a payroll or IT system](https://docs.andteam.com/guides/syncing-payroll-or-it.md): Read the directory once, then keep a copy current from events and updated_since. - [Time off for rostering](https://docs.andteam.com/guides/time-off-for-rostering.md): Approved absences as dates, shown as Away, with the leave type never exposed. - [missing-key](https://docs.andteam.com/api/problems/missing-key.md): No API key was sent. - [invalid-key](https://docs.andteam.com/api/problems/invalid-key.md): The API key is not valid. - [revoked-key](https://docs.andteam.com/api/problems/revoked-key.md): The API key has been revoked. - [expired-key](https://docs.andteam.com/api/problems/expired-key.md): The API key has expired. - [rolled-key-expired](https://docs.andteam.com/api/problems/rolled-key-expired.md): The API key was rolled and its 24 hours are over. - [pending-approval](https://docs.andteam.com/api/problems/pending-approval.md): The API key is waiting for the Information Officer's approval. - [ip-not-allowed](https://docs.andteam.com/api/problems/ip-not-allowed.md): The request did not come from the key's allowed addresses. - [field-group-required](https://docs.andteam.com/api/problems/field-group-required.md): The API key may not read this resource. - [company-not-allowed](https://docs.andteam.com/api/problems/company-not-allowed.md): The API key may not read this company. - [rate-limited](https://docs.andteam.com/api/problems/rate-limited.md): Too many requests. - [invalid-parameter](https://docs.andteam.com/api/problems/invalid-parameter.md): A query parameter is not valid. - [not-found](https://docs.andteam.com/api/problems/not-found.md): Not found. - [ambiguous-id](https://docs.andteam.com/api/problems/ambiguous-id.md): More than one of the key's companies holds this id. - [internal-error](https://docs.andteam.com/api/problems/internal-error.md): Something went wrong. - [List employees](https://docs.andteam.com/api-reference/directory/list-employees.md): Needs the Directory field group. Filter by `status`, `company_id`, `employee_number` or `work_email`. `updated_since` returns only records changed after that instant. - [Get one employee](https://docs.andteam.com/api-reference/directory/get-one-employee.md): Needs the Directory field group. An id held by more than one of the key's companies answers 409 (`ambiguous-id`): pass `company_id`. - [List published employee events](https://docs.andteam.com/api-reference/directory/list-published-employee-events.md): Needs the Directory field group. The thin events behind the webhooks, for a consumer that cannot receive them: ids, dates and the names of changed fields, never values. Order by `occurredAt` and `sequence`. - [List the key's companies](https://docs.andteam.com/api-reference/organisation/list-the-keys-companies.md): Needs the Organisation field group. - [List the structure's units below Company](https://docs.andteam.com/api-reference/organisation/list-the-structures-units-below-company.md): Needs the Organisation field group. - [List locations](https://docs.andteam.com/api-reference/organisation/list-locations.md): Needs the Organisation field group. - [List a lookup's values](https://docs.andteam.com/api-reference/organisation/list-a-lookups-values.md): Needs the Organisation field group. - [List positions](https://docs.andteam.com/api-reference/positions/list-positions.md): Needs the Positions field group. - [List absences that were approved: approved, or cancelled once withdrawn (dates only, never the leave type)](https://docs.andteam.com/api-reference/time-off/list-absences-that-were-approved:-approved-or-cancelled-once-withdrawn-dates-only-never-the-leave-type.md): Needs the Time off field group. Dates only, shown as Away. The leave type is never returned. An absence withdrawn or cancelled after approval comes back with status `cancelled`. - [This document](https://docs.andteam.com/api-reference/reference/this-document.md) - [Employeehired](https://docs.andteam.com/api-reference/webhooks/employeehired.md): The hire is final: the offer is signed, or an HRIS sync or file import brought in a person with a start date. `data.startDate` is set. - [Employeestarted](https://docs.andteam.com/api-reference/webhooks/employeestarted.md): 00:00 on the start date, company time. - [Employeechanged](https://docs.andteam.com/api-reference/webhooks/employeechanged.md): A change to the person takes effect (a mover change, or an edit to a field the endpoint's field groups open). `data.changedFields` names the fields. - [Employeeleaving](https://docs.andteam.com/api-reference/webhooks/employeeleaving.md): A termination is recorded. `data.lastDay` is the last day of work. - [Employeeleft](https://docs.andteam.com/api-reference/webhooks/employeeleft.md): Access has ended. - [Employeehire withdrawn](https://docs.andteam.com/api-reference/webhooks/employeehire_withdrawn.md): A hire was withdrawn before the start date. - [Employeetermination cancelled](https://docs.andteam.com/api-reference/webhooks/employeetermination_cancelled.md): A recorded termination was cancelled. - [Changelog](https://docs.andteam.com/api/changelog.md): Every change to the API, newest first, with its date. ## OpenAPI Specs - [openapi](/openapi.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.