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

# Reiniciar Sessão

> Reiniciar uma sessão WhatsApp existente

## Descrição

Este endpoint reinicia uma sessão do WhatsApp que já existe. É útil para aplicar novas configurações ou resolver problemas de conexão. A sessão será parada e iniciada novamente com as configurações fornecidas (ou as configurações padrão, se não fornecidas).

## Parâmetros de URL

<ParamField path="session" type="string" required>
  ID único da sessão a ser reiniciada
</ParamField>

## Body

```json theme={null}
{
  "config": {
    "store": {
      "dialect": "sqlite3",
      "address": "/app/data/whatsmeow.db"
    },
    "log": {
      "level": "INFO"
    }
  }
}
```

### Parâmetros do Body

| Propriedade            | Tipo     | Obrigatório | Descrição                                                                |
| ---------------------- | -------- | ----------- | ------------------------------------------------------------------------ |
| `config`               | `object` | ❌ Não       | Configurações opcionais para a sessão                                    |
| `config.store`         | `object` | ❌ Não       | Configurações de armazenamento da sessão                                 |
| `config.store.dialect` | `string` | ❌ Não       | Tipo de banco de dados (padrão: "sqlite3")                               |
| `config.store.address` | `string` | ❌ Não       | Caminho do arquivo do banco de dados (padrão: "/app/data/whatsmeow\.db") |
| `config.log`           | `object` | ❌ Não       | Configurações de log da sessão                                           |
| `config.log.level`     | `string` | ❌ Não       | Nível de log: "DEBUG", "INFO", "WARN", "ERROR" (padrão: "INFO")          |

<ResponseExample>
  ```json Resposta de Sucesso theme={null}
  {
    "success": true,
    "message": "Sessão reiniciada com sucesso",
    "session": "my-session"
  }
  ```
</ResponseExample>

## Códigos de Status

* `200` - Sessão reiniciada com sucesso
* `400` - Parâmetros inválidos
* `404` - Sessão não encontrada

## Exemplo de Uso

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.wappfy.com.br/api/sessions/my-session/restart \
    -H "Content-Type: application/json" \
    -d '{
      "config": {
        "store": {
          "dialect": "sqlite3",
          "address": "/app/data/whatsmeow.db"
        },
        "log": {
          "level": "DEBUG"
        }
      }
    }'
  ```

  ```javascript JavaScript theme={null}
  const session = 'my-session';
  const response = await fetch(`https://api.wappfy.com.br/api/sessions/${session}/restart`, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      config: {
        store: {
          dialect: 'sqlite3',
          address: '/app/data/whatsmeow.db'
        },
        log: {
          level: 'DEBUG'
        }
      }
    })
  });
  const data = await response.json();
  console.log(data);
  ```

  ```python Python theme={null}
  import requests

  session = 'my-session'
  response = requests.post(
      f'https://api.wappfy.com.br/api/sessions/{session}/restart',
      json={
          'config': {
              'store': {
                  'dialect': 'sqlite3',
                  'address': '/app/data/whatsmeow.db'
              },
              'log': {
                  'level': 'DEBUG'
              }
          }
      }
  )
  data = response.json()
  print(data)
  ```
</CodeGroup>


## OpenAPI

````yaml viewer.json post /api/sessions/{session}/restart
openapi: 3.1.0
info:
  title: Wappfy - WhatsApp HTTP API
  version: '2.0'
  contact: {}
servers:
  - url: https://{host}
    description: Servidor Customizável
    variables:
      host:
        default: api.wappfy.com.br
        description: 'URL do servidor (ex: api.wappfy.com.br ou seu-servidor.com)'
security:
  - api_key: []
tags:
  - name: 🖥️ Sessions
    description: >-
      Controlar sessões do WhatsApp (contas) (Control WhatsApp sessions
      (accounts))
  - name: 🔑 Auth
    description: Autenticação
  - name: 🆔 Profile
    description: Informações do seu perfil
  - name: 🖼️ Screenshot
    description: Obter captura de tela do WhatsApp e mostrar código QR
  - name: 📤 Chatting
    description: Métodos de conversação
  - name: 📢 Channels
    description: Métodos de canais (newsletters) (Channels (newsletters) methods)
  - name: 🟢 Status
    description: Métodos de status (aka stories) (Status (aka stories) methods)
  - name: 💬 Chats
    description: Métodos de conversas
  - name: 👤 Contacts
    description: >-
      Métodos de contatos. Use número de telefone (sem +) ou número de telefone
      e `@c.us` no final como `contactId`. Ex: `12312312310` OU
      `12312312310@c.us` (Contacts methods.<br>
                      Use phone number (without +) or phone number and `@c.us` at the end as `contactId`.<br>
                      'E.g: `12312312310` OR `12312312310@c.us`<br>)
  - name: 👥 Groups
    description: Métodos de grupos (Groups methods).<br>
  - name: ✅ Presence
    description: Informações de presença
  - name: 📅 Events
    description: Mensagem de Evento
  - name: 🏷️ Labels
    description: Etiquetas - disponível apenas para contas WhatsApp Business
  - name: 🔍 Observability
    description: Outros métodos
  - name: 🗄️ Storage
    description: Métodos de armazenamento
externalDocs:
  description: Wappfy - WhatsApp HTTP API
  url: https://wappfy.com.br/
paths:
  /api/sessions/{session}/restart:
    post:
      tags:
        - 🖥️ Sessions
      summary: Reiniciar a sessão
      description: >-
        Reiniciar a sessão com o nome fornecido. O parâmetro {session} deve ser
        o instanceName da sessão.
      operationId: SessionsController_restart
      parameters:
        - name: session
          required: true
          in: path
          description: O nome da sessão (instanceName) que você deseja reiniciar
          example: my-session
          schema:
            type: string
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionDTO'
      security:
        - api_key: []
components:
  schemas:
    SessionDTO:
      type: object
      properties:
        name:
          type: string
          example: my-session
          description: Nome da sessão (instanceName)
        status:
          enum:
            - STOPPED
            - STARTING
            - SCAN_QR_CODE
            - WORKING
            - FAILED
          type: string
        config:
          $ref: '#/components/schemas/SessionConfig'
      required:
        - name
        - status
    SessionConfig:
      type: object
      properties:
        metadata:
          example:
            user.id: '123'
            user.email: email@example.com
          description: Metadata for the session. You'll get 'metadata' in all webhooks.
          allOf:
            - $ref: '#/components/schemas/Map'
        proxy:
          example: null
          allOf:
            - $ref: '#/components/schemas/ProxyConfig'
        debug:
          type: boolean
          default: false
        noweb:
          example:
            store:
              enabled: true
              fullSync: false
          allOf:
            - $ref: '#/components/schemas/NowebConfig'
        webhooks:
          type: array
          items:
            $ref: '#/components/schemas/WebhookConfig'
    Map:
      type: object
      properties: {}
    ProxyConfig:
      type: object
      properties:
        server:
          type: string
          example: localhost:3128
        username:
          type: string
          example: null
        password:
          type: string
          example: null
      required:
        - server
    NowebConfig:
      type: object
      properties:
        markOnline:
          type: boolean
          default: true
          description: Mark the session as online when it connects to the server.
        store:
          $ref: '#/components/schemas/NowebStoreConfig'
      required:
        - markOnline
    WebhookConfig:
      type: object
      properties:
        url:
          type: string
          example: https://webhook.site/11111111-1111-1111-1111-11111111
          description: >-
            You can use https://docs.webhook.site/ to test webhooks and see the
            payload
        events:
          example:
            - message
            - session.status
          type: array
          items:
            type: object
        hmac:
          example: null
          allOf:
            - $ref: '#/components/schemas/HmacConfiguration'
        retries:
          example: null
          allOf:
            - $ref: '#/components/schemas/RetriesConfiguration'
        customHeaders:
          example: null
          type: array
          items:
            $ref: '#/components/schemas/CustomHeader'
      required:
        - url
        - events
    NowebStoreConfig:
      type: object
      properties:
        enabled:
          type: boolean
          default: false
          description: Enable or disable the store for contacts, chats, and messages.
          example: true
        fullSync:
          type: boolean
          default: false
          description: >-
            Enable full sync on session initialization (when scanning QR code).

            Full sync will download all contacts, chats, and messages from the
            phone.

            If disabled, only messages early than 90 days will be downloaded and
            some contacts may be missing.
      required:
        - enabled
        - fullSync
    HmacConfiguration:
      type: object
      properties:
        key:
          type: string
          example: your-secret-key
    RetriesConfiguration:
      type: object
      properties:
        delaySeconds:
          type: number
          example: 2
        attempts:
          type: number
          example: 15
        policy:
          enum:
            - linear
            - exponential
            - constant
          type: string
          example: linear
    CustomHeader:
      type: object
      properties:
        name:
          type: string
          example: X-My-Custom-Header
        value:
          type: string
          example: Value
      required:
        - name
        - value
  securitySchemes:
    api_key:
      type: apiKey
      in: header
      name: apikey
      description: Sua chave de API do Wappfy (obtenha em dash.wappfy.com.br)

````