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

# API Layer: Migrate to Pilot Status Without Code Changes

> The Pilot Status API Layer accepts Evolution API-compatible requests. Switch providers by changing only your base URL — no code rewriting needed.

The Pilot Status API Layer lets you migrate your existing WhatsApp integration to Pilot Status without touching your application code. Instead of rewriting your API calls, you point your base URL at the Pilot Status layer endpoint for your provider — and Pilot Status handles the translation transparently from there.

## How the API Layer works

When your application sends a request to `https://pilotstatus.com.br/api/layer/{provider}/`, Pilot Status receives it, translates the request into the native Pilot Status API format, executes the operation, and returns a response in the format your code already expects. Your request bodies, headers, authentication tokens, and webhook payloads all remain unchanged.

This translation happens server-side in real time. From your application's perspective, it is still talking to a compatible Evolution API — only the infrastructure powering it has changed.

## Supported providers

<CardGroup cols={2}>
  <Card title="Evolution GO" icon="bolt" href="/api/layer/evolution-go">
    Base URL: `https://pilotstatus.com.br/api/layer/evolution-go/`

    Use this layer if your existing integration targets the Evolution GO API format.
  </Card>

  <Card title="Evolution V2" icon="code" href="/api/layer/evolution-v2">
    Base URL: `https://pilotstatus.com.br/api/layer/evolution-v2/`

    Use this layer if your existing integration targets the Evolution API V2 format.
  </Card>
</CardGroup>

## Migration steps

Follow these four steps to switch your integration to Pilot Status:

1. **Find your current base URL** in your application code or environment variable configuration — it's the root URL your HTTP client uses for all Evolution API requests.
2. **Replace it** with `https://pilotstatus.com.br/api/layer/evolution-v2/` or `https://pilotstatus.com.br/api/layer/evolution-go/`, depending on which provider format your code uses.
3. **Connect your number** via the Pilot Status dashboard so the layer has a live number to route messages through.
4. **Test with a message send** — use the same request body and headers you already have and confirm you receive the same response format.

The example below shows how a single environment variable change is all that stands between your current setup and Pilot Status:

```bash theme={null}
# Before (Evolution server)
POST https://your-evolution-server.com/message/sendText/MyInstance
```

```bash theme={null}
# After (Pilot Status Layer)
POST https://pilotstatus.com.br/api/layer/evolution-v2/message/sendText/MyInstance
```

Everything after the base URL — the path, request body, and headers — stays exactly the same.

## What is preserved

When you use the API Layer, Pilot Status preserves the following so your integration keeps working without modification:

* **Request body format** — the same JSON fields your code sends today
* **Response format** — the same JSON structure your code parses today
* **Webhook payload structure** — events arrive in the format your handlers already expect
* **Authentication headers** — pass your Pilot Status API key using the same header your code already sets (`apikey` or `Authorization: Bearer`)
* **Existing integrations** — tools like n8n, Make, and other low-code platforms that connect to Evolution API continue to work by updating only the base URL in their HTTP node configuration

<Note>
  The API Layer is a compatibility bridge. For new integrations, use the native Pilot Status API for full feature access.
</Note>
