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

# What each call really does

> Every call acts on your real LinkedIn account and CRM. Check here what a call changes before you run it.

> [!WARNING]
>
> There is no test mode. The API, the playground on these pages and your AI assistant all act on your real LinkedIn account and your real CRM.

The **Level** column tells you how careful to be:

* **Info**: safe to try.
* **Warning**: changes nothing, but uses a limited LinkedIn action, or cannot be undone.
* **Danger**: changes something real, on LinkedIn or in your CRM.

These limits belong to your LinkedIn account, so the API, the MCP and the extension all share them. See [Limits and quotas](https://docs.groovin.ai/reference/limits.md).

## LinkedIn

| Action | Level | LinkedIn | Your CRM | Before you repeat it |
| - | - | - | - | - |
| [List the people in your conversations](https://docs.groovin.ai/reference/api/list-conversation-attendees.md) | Info | None: reads a server-side copy of your inbox | None | Safe to repeat. |
| [Read a conversation](https://docs.groovin.ai/reference/api/get-chat-messages.md) | Info | None: reads a server-side copy of your inbox | None | Safe to repeat. |
| [Mark a conversation as read or unread](https://docs.groovin.ai/reference/api/set-chat-read-status.md) | Danger | Live write: may send a read receipt | None | Safe to repeat. LinkedIn may refuse marking as unread. |
| [Get a LinkedIn profile](https://docs.groovin.ai/reference/api/get-profile.md) | Warning | Live read: a profile view the person may see | None | Each repeat is another profile view: wait before trying again. |
| [Send a LinkedIn message](https://docs.groovin.ai/reference/api/send-message.md) | Danger | **Sends a real message.** Can also cost 1 live profile view | Recorded automatically by the message sync. With your auto-create preference on, it can also create a contact, turn on sync, import the history and spend an email credit | **Never repeat blindly.** After a timeout, a 5xx or no answer at all, the message may have gone out. Wait a few minutes, check the chat, and only then try once. About 100 messages a day. |
| [Send a LinkedIn invitation](https://docs.groovin.ai/reference/api/send-invitation.md) | Danger | **Sends a real invitation.** Can also cost 1 live profile view | Updates a linked contact and can add a note. With your auto-create preference on, it can also create a contact, turn on sync, import the history and spend an email credit | **Never repeat blindly.** After a timeout, a 5xx or no answer at all, the invitation may have gone out. Wait a few minutes, check the pending invitations, and only then try once. About 80 to 100 invitations a day, 200 a week. |
| [List your LinkedIn connections](https://docs.groovin.ai/reference/api/list-relations.md) | Warning | Live read: 1 request per 1,000 connections, stopping early with `limit` or `connected_after` | None | Each repeat costs LinkedIn requests: wait before trying again. An empty request reads your whole network. |
| [List your pending invitations](https://docs.groovin.ai/reference/api/list-pending-invitations.md) | Warning | Live read: 1 request per 100 invitations, always the whole list | None | Each repeat costs LinkedIn requests: wait before trying again. `limit` does not reduce the cost. |

## CRM contacts and companies

| Action | Level | LinkedIn | Your CRM | Before you repeat it |
| - | - | - | - | - |
| [Check who is already in your CRM](https://docs.groovin.ai/reference/api/lookup-contacts.md) | Info | None | Live search on Attio and HubSpot, using your CRM's API quota | Safe to repeat. |
| [Create CRM contacts](https://docs.groovin.ai/reference/api/create-contacts.md) | Danger | A live profile read unless you pass `profile`. On Attio, a live company page read can still happen. With sync on: live reads and a history import | **Creates or links** contacts and companies, with lists and notes | **Not always safe.** If the CRM search fails, or a first batch is still running, a resend can create duplicates. Check who already exists, then resend only the failed people. 1 email credit per email found on a new Attio contact. A full batch can take several minutes. |
| [List your synced contacts](https://docs.groovin.ai/reference/api/list-synced-contacts.md) | Info | None | None by default. With `include_crm_details`: 1 read per contact | Safe to repeat. |
| [Turn message sync on or off](https://docs.groovin.ai/reference/api/toggle-sync.md) | Danger | On: live network lists once per batch, up to 10 profile lookups, and an inbox refresh. Off: none, unless you send URLs | On: properties, notes, chat history. Off: **deletes conversation notes** | Safe: the contact ends up in the state you asked for. Wait several minutes between On batches. Off: a note that failed to delete stays in your CRM, and repeating will not remove it. |
| [Find missing LinkedIn URLs](https://docs.groovin.ai/reference/api/find-linkedin-urls.md) | Danger | Live reads, within daily limits | Fills empty LinkedIn URL fields only | Resend only what is in `not_processed`, never the whole list. A second batch at the same time answers 409. 1 credit per URL found, 500 credits a month. |
| [Find missing company domains](https://docs.groovin.ai/reference/api/find-company-domains.md) | Danger | None | Fills empty domain fields only, and only with `crm_company_id`. Can save the company's LinkedIn page with it | Resend only what is in `not_processed`. A repeated lookup that finds a domain spends a credit again, even by name only. 1 credit per domain delivered. Credits do not refill. |

## LinkedIn connections import

| Action | Level | LinkedIn | Your CRM | Before you repeat it |
| - | - | - | - | - |
| [Start a connections import](https://docs.groovin.ai/reference/api/start-connections-import.md) | Danger | None: it only reads your file | Real run: **bulk creates and updates**. Preview: reads only | Do not resend blindly: check the [import status](https://docs.groovin.ai/reference/api/get-connections-import.md) first. Preview and real run email you. A real run spends 1 domain credit per domain found. |
| [Check a connections import](https://docs.groovin.ai/reference/api/get-connections-import.md) | Info | None | None, but a stalled real run can resume and keep writing | Safe to repeat: wait for `poll_after_seconds` between calls. |
| [Stop a connections import](https://docs.groovin.ai/reference/api/cancel-connections-import.md) | Warning | None | Stops further writes, undoes nothing | Check the [import status](https://docs.groovin.ai/reference/api/get-connections-import.md) first: the stop may already be recorded. Sends the end-of-import email. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.