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

> ## Agent Instructions
> Use the public API base URL: https://api.teamfollowup.ai/api.
> Authenticate public API requests with Authorization: Bearer YOUR_API_KEY.
> Use product-owned terms: agents, campaigns, projects (GoHighLevel sub-accounts), contacts, calls, outcomes, skills, cadences, phone numbers.
> Scope requests by locationId rather than projectName.
> Read the guide linked from each API reference group before recommending an endpoint.

# Native Contacts API

> The people a sub-account with no CRM calls, and the fields it keeps on them. Create, import, enrol, suppress and delete, plus the lead link forms post to.

When a sub-account keeps its contacts here rather than in a CRM, this is the
system of record for them. Concepts, and the four ways a contact gets in, are
in [Contacts without a CRM](/contacts/native-contacts).

Every operation takes `locationId` as a query parameter, and it is the only
thing that identifies the tenant. A sub-account with a CRM connected answers
`400`: its contacts live in that CRM.

## Contacts

| Endpoint                                                                                          | Use it to                                                              |
| ------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| [List native contacts](/api-reference/native-contacts/list-native-contacts)                       | Page through contacts, searching a name, an email or part of a number. |
| [Create a native contact](/api-reference/native-contacts/create-a-native-contact)                 | Add one person. `phone` is the only required field.                    |
| [Get a native contact](/api-reference/native-contacts/get-a-native-contact)                       | One contact, with its custom fields and do-not-call state.             |
| [Update a native contact](/api-reference/native-contacts/update-a-native-contact)                 | Change the fields you name, and nothing else.                          |
| [Delete a native contact](/api-reference/native-contacts/delete-a-native-contact)                 | Cancel their bookings and remove them.                                 |
| [Preview a native contact delete](/api-reference/native-contacts/preview-a-native-contact-delete) | What the delete would cancel, before anyone agrees to it.              |
| [Delete several native contacts](/api-reference/native-contacts/delete-several-native-contacts)   | Up to 100 at a time, partial on purpose.                               |

## Who not to call, and what to remember

| Endpoint                                                                                            | Use it to                                  |
| --------------------------------------------------------------------------------------------------- | ------------------------------------------ |
| [Set native contact do-not-call](/api-reference/native-contacts/set-native-contact-do-not-call)     | Stop dialling this person, or start again. |
| [Cancel a native contact callback](/api-reference/native-contacts/cancel-a-native-contact-callback) | Drop the callback they have waiting.       |
| [Add a native contact note](/api-reference/native-contacts/add-a-native-contact-note)               | Leave a note for people, on the timeline.  |
| [Add to contact memory](/api-reference/native-contacts/add-to-contact-memory)                       | Write what the next call should know.      |
| [Update a contact memory entry](/api-reference/native-contacts/update-a-contact-memory-entry)       | Rewrite one entry.                         |
| [Delete a contact memory entry](/api-reference/native-contacts/delete-a-contact-memory-entry)       | Remove one entry, leaving the rest.        |

## Custom fields

| Endpoint                                                                      | Use it to                                                            |
| ----------------------------------------------------------------------------- | -------------------------------------------------------------------- |
| [List custom fields](/api-reference/native-contacts/list-custom-fields)       | The fields this sub-account defines, and the keys your prompts read. |
| [Create a custom field](/api-reference/native-contacts/create-a-custom-field) | Define one. The key comes from the label.                            |
| [Update a custom field](/api-reference/native-contacts/update-a-custom-field) | Change its label or its choices. The key never moves.                |
| [Delete a custom field](/api-reference/native-contacts/delete-a-custom-field) | Remove the definition and its stored values.                         |

## Getting contacts in, and into a campaign

| Endpoint                                                                                    | Use it to                                                            |
| ------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- |
| [Add a contact](/api-reference/contacts/add-a-contact)                                      | Post one lead with an API key. The public door, on the Contacts API. |
| [Import contacts from CSV](/api-reference/native-contacts/import-contacts-from-csv)         | A file, with every refused row named by line.                        |
| [Put contacts into a campaign](/api-reference/native-contacts/put-contacts-into-a-campaign) | Start a campaign for contacts you already have.                      |
| [Get the lead link](/api-reference/native-contacts/get-the-lead-link)                       | The no-header link a form, Zapier or Make step posts to.             |
| [Rotate the lead link](/api-reference/native-contacts/rotate-the-lead-link)                 | Replace it at once, with no grace period.                            |

Scopes: `contacts:read`, `contacts:write`. See [Authentication](/authentication#scopes).

## Guides

* [Contacts without a CRM](/contacts/native-contacts), which is where these fit together.
* [Contacts and leads](/contacts/overview) for calling history across every sub-account.
* [Calendars and booking](/calendars/overview) for the diary these contacts are booked into.
