# TeamIN HR API

Public documentation for agents and developers. Machine-readable catalog: [/.well-known/api-catalog](/.well-known/api-catalog). OpenAPI: [openapi.json](./openapi.json).

## Base URLs

| Role | URL |
| --- | --- |
| Website | `https://teamin-hr.com` |
| API | `https://api-roi-v2.hostly-eg.com/api` |

## Auth

See [auth.md](/auth.md). Access tokens are Bearer JWTs from `POST /auth/login`.

Protected resource metadata: `/.well-known/oauth-protected-resource`

## Public operations

- `POST /auth/login` — email + password → access token
- `POST /auth/register` — create a tenant/user (human-approved)
- `POST /auth/forget-password` — start reset
- `POST /auth/refresh` — refresh token
- `POST /auth/logout` — revoke session
- `POST /admin/leads/register` — waiting list (`email`, `phone`, `category`)
- `GET /docs/status.json` — site discovery health

Authenticated routes (employees, payroll, attendance, leave, tasks, chat, reports, settings) require `Authorization: Bearer <token>` and a valid tenant.

## Status

[status.json](./status.json)
