> ## 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.

# REST API

> How the Groovin API works: the address, the format, and how to try it.

The REST API lets your scripts and automation tools do what your AI assistant does through the MCP.

## The basics

| | |
| - | - |
| **Base address** | `https://api.groovin.ai/functions/v1/api/v1` |
| **Method** | Always `POST`, even to read |
| **Format** | JSON in, JSON out |
| **Sign-in** | `Authorization: Bearer gv_live_YOUR_KEY` ([how](https://docs.groovin.ai/reference/authentication.md)) |

A complete call looks like this:

```bash theme={null}
curl --request POST \
  --url https://api.groovin.ai/functions/v1/api/v1/linkedin/conversation-attendees \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{ "limit": 5 }'
```

When you have nothing to set, send `{}`.

## Before you press Send

> [!CAUTION]
>
> **There is no test mode.** The **Try it** button on each page calls the real API with your key.

Each page starts with what the call really does:

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

Your requests go straight from your browser to Groovin. Use a separate key for your experiments, and revoke it afterwards.

Code examples show values such as `REPLACE_WITH_CONVERSATION_ID`: replace each of them before running the code.

## All the routes

See [What each call really does](https://docs.groovin.ai/reference/side-effects.md) for the full list, with the effect of each one.

## Calling a route by its name

Each route also has a name, which is the name of its MCP tool. You can call any route through a single address, which is handy when your tool already knows the MCP names:

```bash theme={null}
curl --request POST \
  --url https://api.groovin.ai/functions/v1/api/v1/rpc \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{ "action": "list_linkedin_conversation_attendees", "params": { "limit": 5 } }'
```

`action` is the [tool name](https://docs.groovin.ai/reference/mcp/tools.md), and `params` holds the same fields as the route. It does exactly the same thing as the route, with the same effects.

## Calling from a web page

The API accepts calls from a browser. Do not put your API key in a public page, though: anyone can read it there. Call the API from a server or an automation tool.


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