> ## Documentation Index
> Fetch the complete documentation index at: https://visaflo.ca/knowledge-base/llms.txt
> Use this file to discover all available pages before exploring further.

# Endpoint Directory

> Browse the VisaFlo workspace API one endpoint at a time.

<Note>
  All endpoints below require `X-API-Key: YOUR_API_KEY` and are prefixed by `https://api.visaflo.app`.
</Note>

## Records

| Method  | Endpoint                                                                        | Purpose                                    |
| ------- | ------------------------------------------------------------------------------- | ------------------------------------------ |
| `POST`  | [Create a lead](/knowledge-base/developers/endpoints/create-lead)               | Create a lead.                             |
| `GET`   | [Search leads](/knowledge-base/developers/endpoints/search-leads)               | Find leads by email or name.               |
| `POST`  | [Create a client](/knowledge-base/developers/endpoints/create-client)           | Create a client.                           |
| `GET`   | [Search clients](/knowledge-base/developers/endpoints/search-clients)           | Find clients by email or name.             |
| `POST`  | [Create a case](/knowledge-base/developers/endpoints/create-case)               | Create a case and its configured forms.    |
| `GET`   | [Search cases](/knowledge-base/developers/endpoints/search-cases)               | Find cases by ID, number, or client email. |
| `GET`   | [Get a case](/knowledge-base/developers/endpoints/get-case)                     | Read one case.                             |
| `PATCH` | [Update a case status](/knowledge-base/developers/endpoints/update-case-status) | Change a case status.                      |

## Files and Forms

| Method | Endpoint                                                                        | Purpose                |
| ------ | ------------------------------------------------------------------------------- | ---------------------- |
| `POST` | [Upload a case file](/knowledge-base/developers/endpoints/upload-case-file)     | Upload one file.       |
| `GET`  | [Download case files](/knowledge-base/developers/endpoints/download-case-files) | Get case files.        |
| `POST` | [Generate forms](/knowledge-base/developers/endpoints/generate-forms)           | Start form generation. |
| `GET`  | [Get autofill status](/knowledge-base/developers/endpoints/get-autofill-status) | Poll form generation.  |

## Tasks

| Method  | Endpoint                                                                                        | Purpose                |
| ------- | ----------------------------------------------------------------------------------------------- | ---------------------- |
| `POST`  | [Create a task](/knowledge-base/developers/endpoints/create-task)                               | Create one task.       |
| `POST`  | [Create tasks from a workflow](/knowledge-base/developers/endpoints/create-tasks-from-workflow) | Apply a task template. |
| `GET`   | [List tasks](/knowledge-base/developers/endpoints/list-tasks)                                   | List and filter tasks. |
| `GET`   | [Get a task](/knowledge-base/developers/endpoints/get-task)                                     | Read one task.         |
| `PATCH` | [Update a task](/knowledge-base/developers/endpoints/update-task)                               | Change one task.       |

## Notes and Workflows

| Method  | Endpoint                                                              | Purpose                           |
| ------- | --------------------------------------------------------------------- | --------------------------------- |
| `POST`  | [Create a note](/knowledge-base/developers/endpoints/create-note)     | Create a note.                    |
| `GET`   | [List notes](/knowledge-base/developers/endpoints/list-notes)         | List notes for a record.          |
| `GET`   | [Get a note](/knowledge-base/developers/endpoints/get-note)           | Read one note.                    |
| `PATCH` | [Update a note](/knowledge-base/developers/endpoints/update-note)     | Change one note.                  |
| `GET`   | [List workflows](/knowledge-base/developers/endpoints/list-workflows) | List templates for task creation. |

## Integration Pattern

For inbound integrations, use this order:

1. Search for an existing lead, client, or case.
2. Create the record only when no existing match is found.
3. Use the returned VisaFlo ID for a task, note, file upload, or case update.
4. Store the VisaFlo ID in your integration so later requests remain idempotent.

<Warning>
  `caseId` is VisaFlo's record ID. It is different from the human-readable `caseNumber` shown to staff and clients.
</Warning>
