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

# Capabilities and limitations

> Know which functions are available in public v1 and which workflows remain outside the current API contract.

This page prevents assumptions about functions that are not exposed by the current public OpenAPI contract.

## Available capabilities

| Domain          | Public capabilities                                                         |
| --------------- | --------------------------------------------------------------------------- |
| Employees       | List, create, get, and update supported fields                              |
| Orders          | List, get, approve or reject an order under HR review, download attachments |
| Incidents       | List, create, get, update supported fields, upload permitted attachments    |
| Divisions       | List, create, get, and update                                               |
| Payroll exports | List metadata, get metadata, download available document                    |
| Health          | Public availability check                                                   |

## Not exposed by public v1

The current contract does not define public operations for:

* tenant creation, update, or deletion
* API-key management through the API
* employee deletion
* changing an employee's work email through the employee patch operation
* transferring an assigned employee to another tenant through employee patch
* order creation
* changing a final order decision through the decision endpoint
* incident deletion or reopening
* division deletion
* payroll export generation or deletion
* general idempotency keys
* bulk mutation endpoints
* multiple sort fields
* webhook registration or public event subscriptions
* a public stage or sandbox base URL

## Important behavioral limitations

* `dryRun=true` validates current production state; it is not a sandbox.
* Pagination is not documented as a snapshot.
* `X-Request-ID` does not deduplicate writes.
* A successful dry run does not reserve state.
* A resource may appear not found when it is outside the API-key scope.
* Download metadata can exist while `fileName` is `null`, meaning no file was produced.
* Order and incident lifecycle states include server-managed transitions outside the exposed mutation operation.

## Polling model

The current public contract is client-initiated. Integrations discover changes by calling collection endpoints with suitable filters and checkpoints.

```mermaid theme={"theme":{"light":"github-light","dark":"github-dark"}}
flowchart LR
    S[Scheduler] --> C[Collection request]
    C --> P[Process page]
    P --> K[Persist checkpoint]
    K --> S
```

If a needed business capability is not listed, do not infer it from internal portal behavior. Use the established JobHandy integration channel to clarify customer-specific alternatives.
