> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://infersoft.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://infersoft.ferndocs.com/_mcp/server.

# Authentication

The Infersoft API uses the OAuth 2.0 **client credentials** flow. You exchange a
client ID and secret for a short-lived bearer token, then send that token on every
request.

## 1. Request an access token

```bash
curl --request POST \
  --url https://dev-noabnisxxguu0jp0.us.auth0.com/oauth/token \
  --header 'content-type: application/json' \
  --data '{
    "grant_type": "client_credentials",
    "client_id": "YOUR_CLIENT_ID",
    "client_secret": "YOUR_CLIENT_SECRET",
    "audience": "https://api.infersoft.com"
  }'
```

The response contains an `access_token` you can use as a bearer token.

## 2. Call the API

```bash
curl --request POST \
  --url https://api.infersoft.com/api/documents/search \
  --header 'authorization: Bearer YOUR_ACCESS_TOKEN' \
  --header 'content-type: application/json' \
  --data '{ "page": 1, "page_size": 25 }'
```

The Infersoft SDKs handle the token exchange and refresh for you — pass your
credentials to the client constructor and it manages the bearer token automatically.

## Scopes

Tokens are scoped per resource. Request only the scopes your integration needs:

| Scope             | Grants                                 |
| ----------------- | -------------------------------------- |
| `documents:read`  | Read documents                         |
| `documents:write` | Delete documents                       |
| `extraction:read` | Read extraction results                |
| `files:upload`    | Plan file uploads using presigned URLs |
| `jobs:read`       | Read workflow jobs                     |
| `jobs:write`      | Start workflow jobs                    |
| `projects:read`   | Read projects                          |
| `projects:write`  | Create and modify projects             |
| `prompts:read`    | Read extractor prompts                 |