---
title: "Autenticação: API da plataforma"
description: "API da plataforma APIBrasil (Sistema de autenticação). Os endpoints abaixo são os da conta e da operação do gateway."
lang: pt-BR
canonical: https://doc.apibrasil.io/apis/plataforma/autenticacao
markdown: https://doc.apibrasil.io/apis/plataforma/autenticacao.md
source: apibrasil-documentation
---

# Autenticação: API da plataforma

> API da plataforma APIBrasil (Sistema de autenticação). Os endpoints abaixo são os da conta e da operação do gateway.

- **Especificação OpenAPI:** https://doc.apibrasil.io/apis/plataforma/autenticacao/openapi.json

## Como chamar

**Endereço base:** `https://gateway.apibrasil.io/api/v2`

## Endpoints (5 endpoints)

**Sumário**

1. `POST /auth/login`
2. `POST /auth/logout`
3. `GET /social/github/url`
4. `GET /social/github/callback?code=SEU_CODE&state=SEU_STATE`
5. `POST /social/github/callback`

### 1. POST /auth/login

Com esse endpoint você pode autenticar e pegar o seu token

- **Método:** `POST`
- **Endereço:** `https://gateway.apibrasil.io/api/v2/auth/login`
- **Versão da rota:** v2

**Cabeçalhos**

| Cabeçalho | Valor |
| --- | --- |
| `Content-Type` | `application/json` |

**Corpo da requisição**

```json
{
  "email": "123@1231",
  "password": "123456"
}
```

**Em cURL**

```bash
curl -X POST "https://gateway.apibrasil.io/api/v2/auth/login" \
  -H "Content-Type: application/json" \
  -d '{"email":"123@1231","password":"123456"}'
```

**Resposta de exemplo, do catálogo**

```json
{
  "error": false,
  "message": "Olá JHON, seja bem vindo de volta, lembramos que seu Bearer Token expira em 365 dias.",
  "user": {
    "search": "abc1234-abc1234-abc1234-abc1234",
    "cellphone": "[omitido]",
    "email": "[omitido]",
    "balance": "1591.350",
    "first_name": "[omitido]",
    "last_name": "[omitido]",
    "status": "active",
    "status_finance": "active",
    "avatar": "https://s3-data.apibrasil.dev/files/uploads/....png",
    "devices_count": 12,
    "invoices_count": 9,
    "invoices_open_count": 0,
    "last_login_ip": "34.239.121.138",
    "last_login_at": "2025-05-30T03:02:42.412148Z",
    "updated_at": "2025-05-30T03:02:42.000000Z",
    "devices": [
      {
        "id": 17898,
        "server_search": "abc1234-fa85-40ed-afed-abc1234",
        "search": "abc1234-bbe0-4a08-9e29-abc1234",
        "device_name": "sadadasdasdas",
        "number_device": "[omitido]",
        "device_key": "abc1234",
        "device_token": "8689549b-5ec8-45b6-ac83-abc1234",
        "status": "NOT FOUND",
        "created_by": "api",
        "count_checks": 3,
        "type": "cellphone",
        "webhook_wh_message": "https://webhook.site/...",
        "webhook_wh_status": "https://webhook.site/...",
        "webhook_wh_connect": "https://webhook.site/...",
        "webhook_wh_qr_code": "https://webhook.site/...",
        "last_activity": "2025-05-29 23:58:43",
        "deleted_at": null,
        "created_at": "2024-12-18T05:50:38.000000Z",
        "updated_at": "2025-05-30T02:58:43.000000Z",
        "cloudflare_last_updated": "2025-05-29 21:12:48",
        "plan_id": 72,
        "status_situation": "active",
        "device_ip": "0.0.0.0",
        "last_ip": "1.190.117.1",
        "last_country": "Brazil",
        "last_city": "Belo Horizonte",
        "last_region": "Minas Gerais",
        "last_latitude": "-11.9029",
        "last_longitude": "-11.9572",
        "last_ip_flag": "BR",
        "timezone": "America/Sao_Paulo",
        "isp": "BTT TELECOMUNICACOES S.A.",
        "org": "BTT TELECOMUNICACOES S.A",
        "as": "AS28656 BTT TELECOMUNICACOES S.A.",
        "number_receive_alerts": null,
        "receive_alerts": null,
        "last_alert": null
      }
    ]
  },
  "invoices": [
    {
      "type": "pix",
      "type_invoice": "other",
      "description": "Assinatura: JONATHAN / Plano Basic",
      "value": 149.9,
      "status_finance": "approved",
      "transaction_id": "d2d8f0be852a4873...",
      "created_at": "2024-12-05T06:05:58.000000Z",
      "payment_at": "2024-12-11 04:41:40",
      "qr_code": "00020126850014br.gov...",
      "qr_code_base64": "00020126850014br..."
    },
    {
      "type": "wallet",
      "type_invoice": "new_plan",
      "description": "Assinatura: JONATHAN / Plano Basic",
      "value": 74.499,
      "status_finance": "approved",
      "transaction_id": "wallet_l13hNN1h",
      "created_at": "2024-12-17T21:45:43.000000Z",
      "payment_at": "2024-12-17 21:47:00",
      "qr_code": null,
      "qr_code_base64": null
    }
  ],
  "invoices_open": [],
  "authorization": {
    "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.....",
    "expires_in": 1780110163,
    "date_expires": "30/05/2026 00:02:43",
    "type": "bearer"
  }
}
```

### 2. POST /auth/logout

Com esse endpoint você pode fazer logout

- **Método:** `POST`
- **Endereço:** `https://gateway.apibrasil.io/api/v2/auth/logout`
- **Versão da rota:** v2

**Cabeçalhos**

| Cabeçalho | Valor |
| --- | --- |
| `Content-Type` | `application/json` |
| `Authorization` | `Bearer $APIBRASIL_TOKEN` |

**Em cURL**

```bash
curl -X POST "https://gateway.apibrasil.io/api/v2/auth/logout" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $APIBRASIL_TOKEN"
```

**Resposta de exemplo, do catálogo**

```json
{
  "status": "success",
  "message": "Successfully logged out"
}
```

### 3. GET /social/github/url

Com esse endpoint você pode autenticar e pegar o seu token com uma conta do GitHub

- **Método:** `GET`
- **Endereço:** `https://gateway.apibrasil.io/api/v2/social/github/url`
- **Versão da rota:** v2

**Cabeçalhos**

| Cabeçalho | Valor |
| --- | --- |
| `Content-Type` | `application/json` |

**Em cURL**

```bash
curl -X GET "https://gateway.apibrasil.io/api/v2/social/github/url" \
  -H "Content-Type: application/json"
```

**Resposta de exemplo, do catálogo**

```json
{
  "error": false,
  "url": "https://github.com/login/oauth/authorize?...",
  "state": "..."
}
```

### 4. GET /social/github/callback?code=SEU_CODE&state=SEU_STATE

Com esse endpoint você pode autenticar e pegar o seu token

- **Método:** `GET`
- **Endereço:** `https://gateway.apibrasil.io/api/v2/social/github/callback?code=SEU_CODE&state=SEU_STATE`
- **Versão da rota:** v2

**Cabeçalhos**

| Cabeçalho | Valor |
| --- | --- |
| `Content-Type` | `application/json` |

**Em cURL**

```bash
curl -X GET "https://gateway.apibrasil.io/api/v2/social/github/callback?code=SEU_CODE&state=SEU_STATE" \
  -H "Content-Type: application/json"
```

**Resposta de exemplo, do catálogo**

```json
{
  "redirect_url": "https://doc.apibrasil.io?github_auth=success&token=...&user=...&authorization=..."
}
```

### 5. POST /social/github/callback

Com esse endpoint você pode autenticar e pegar o seu token

- **Método:** `POST`
- **Endereço:** `https://gateway.apibrasil.io/api/v2/social/github/callback`
- **Versão da rota:** v2

**Cabeçalhos**

| Cabeçalho | Valor |
| --- | --- |
| `Content-Type` | `application/json` |

**Corpo da requisição**

```json
{
  "code": "SEU_CODE",
  "state": "SEU_STATE"
}
```

**Em cURL**

```bash
curl -X POST "https://gateway.apibrasil.io/api/v2/social/github/callback" \
  -H "Content-Type: application/json" \
  -d '{"code":"SEU_CODE","state":"SEU_STATE"}'
```

**Resposta de exemplo, do catálogo**

```json
{
  "redirect_url": "https://doc.apibrasil.io?github_auth=success&token=...&user=...&authorization=..."
}
```

Nos exemplos de resposta, os campos da conta que gerou o exemplo (`user.first_name`, `user.email`, `user.cellphone`) saem como `[omitido]`. O resto é o que o catálogo publica.

## Ver também

- Especificação OpenAPI: https://doc.apibrasil.io/apis/plataforma/autenticacao/openapi.json
- Catálogo de APIs: [Catálogo de APIs](https://doc.apibrasil.io/apis.md)
- SDKs oficiais: [SDKs oficiais](https://doc.apibrasil.io/sdks.md)
- Índice da documentação: https://doc.apibrasil.io/llms.txt
- Versão HTML desta página: https://doc.apibrasil.io/apis/plataforma/autenticacao
