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

# Evolution V2 Compatibility Layer — API Reference

> Migrate from Evolution API V2 to Pilot Status by pointing your base URL at the Evolution V2 layer. No code changes to request bodies or handlers required.

The Pilot Status Evolution V2 API Layer is a transparent compatibility bridge for applications built on Evolution API V2. Changing your base URL to the Pilot Status layer endpoint is all it takes to move your infrastructure — your request bodies, response parsing, webhook handlers, and authentication headers all stay exactly as they are.

## Base URL

Update your base URL environment variable or HTTP client configuration to the following:

```
https://pilotstatus.com.br/api/layer/evolution-v2/
```

Every path you currently call on your Evolution V2 server appends to this base URL without any modification.

## Authentication

Pass your Pilot Status API key in the `apikey` header, exactly as Evolution V2 expects:

```
apikey: YOUR_API_KEY
```

You do not need to change any authentication logic in your application — only the API key value itself needs to be replaced with your Pilot Status key.

## Supported operations

The following Evolution V2 endpoints are supported through the Pilot Status layer:

<Accordion title="Send text message">
  Send a plain-text WhatsApp message to a contact.

  `POST /message/sendText/{instance}`
</Accordion>

<Accordion title="Send media">
  Send an image, video, audio file, or document with an optional caption.

  `POST /message/sendMedia/{instance}`
</Accordion>

<Accordion title="Send buttons">
  Send an interactive message containing reply buttons.

  `POST /message/sendButtons/{instance}`
</Accordion>

<Accordion title="List instances">
  Retrieve all instances on your account along with their status and metadata.

  `GET /instance/fetchInstances`
</Accordion>

<Accordion title="Get instance status">
  Check the current connection state of a specific instance.

  `GET /instance/connectionState/{instance}`
</Accordion>

<Accordion title="Webhook configuration">
  Register and manage webhook endpoints using the Evolution V2 webhook management paths.
</Accordion>

## Example: send text via Evolution V2 layer

The request below is a standard Evolution V2 send-text call routed through the Pilot Status layer. Notice that the request body uses the Evolution V2 format unchanged.

```bash theme={null}
curl -X POST 'https://pilotstatus.com.br/api/layer/evolution-v2/message/sendText/MyInstance' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "number": "5511999999999",
    "text": "Hello from Pilot Status via API Layer! 👋"
  }'
```

Replace `MyInstance` with the display name you assigned your number in the Pilot Status dashboard.

## Instance name mapping

In Evolution V2, each instance represents a WhatsApp connection identified by a name. Pilot Status uses the same convention — the instance name in your URL path maps to the **display name** you assigned your number when connecting it through the Pilot Status dashboard.

For example, if you named your number `SupportLine` in the dashboard, your requests should use:

```
POST /message/sendText/SupportLine
```

If you have multiple numbers, each one has its own display name and behaves as a separate instance — consistent with how Evolution V2 manages multiple instances.

<Note>
  For new projects, consider using the native Pilot Status API — it provides full access to all features including official Meta integration and advanced analytics.
</Note>

For general migration guidance and an overview of all supported providers, see the [API Layer overview](/api/layer/overview).
