---
title: "Criar Invite"
method: POST
path: "/api/v1/account/invite"
tags: ["Invites"]
---

# Criar Invite

`POST /api/v1/account/invite`

Cria um invite de vídeo-acordo para um cliente e script da conta.

## Request body

- CreateInvitePayload
  - `availableAt` string — Data de quando o invite estará disponível para utilização. Se não informado, a data de criação do invite será usada. Formato ISO 8601 com milissegundos
  - `customer` CustomerInvitePayload, required
    - `cpf` string, required — CPF do cliente que realizará o vídeo agreement
    - `fields` CustomerField[], required — Campos adicionais do cliente no fluxo (pelo menos um item; `label` e `value` obrigatórios em cada um)
      - `label` string, required — Label do campo no formulário do cliente
      - `private` boolean — Se `true`, o campo não é exibido no front-end, mas é devolvido à empresa ao final da jornada
      - `value` string, required — Valor associado ao label
    - `identificationImage` string — Imagem em base64 ou URL para identificação (ex.: selfie, RG, CNH)
    - `name` string — Nome do cliente (usado se o cliente ainda não existir e for criado nesta operação)
  - `expiresAt` string, required — Data de expiração do invite (ISO 8601 com milissegundos)
  - `script` ScriptInvitePayload, required
    - `fields` ScriptField[], required — Lista de pares chave-valor utilizados para substituir variáveis no script. Ex.: se o script contém a mensagem "Essa é a {{empresa}}", ao definir a chave `empresa` nesta lista com o valor Nuvidio, a mensagem final será exibida como "Essa é a Nuvidio"
      - `displayName` string — Nome amigável que poderá ser exibido no front-end sempre que necessário
      - `label` string, required — Label da variável que consta no script
      - `private` boolean — Informe `true` se é um campo de controle que deseja receber de volta ao final do processamento da jornada
      - `value` string, required — Valor da variável que consta no script. Na criação do roteiro ocorrerá a troca do que consta em `{{label}}` pelo value informado
    - `id` string, required — Identificador do script (`script_id` UUID). Pode ser o id cadastrado na plataforma
  - `timezone` string — Se não informado, o default será America/Sao_Paulo

## Response `201`

Invite criado com sucesso

- CreateInviteResponse
  - `accountId` string — Conta associada (quando retornado)
  - `availableAt` string — Início de disponibilidade efetivo do invite
  - `customerJourneyType` string — Tipo de jornada do script (ex.: agreement)
  - `expiredInviteUrl` string — URL quando o invite expirar
  - `expiresAt` string — Expiração do invite
  - `helpUrl` string — URL de ajuda
  - `invalidDataUrl` string — URL para dados inválidos no fluxo
  - `inviteId` string — ID do invite criado
  - `inviteUrl` string — URL do convite para o cliente
  - `successUrl` string — URL de sucesso ao finalizar
  - `termsUrl` string — URL dos termos
  - `timezone` string — Timezone aplicado
  - `voiceGender` string — Gênero de voz da IA quando aplicável

## Other responses

- `400` — Erro de validação de negócio ou ao criar cliente (ex. CPF ou nome inválidos)
- `403` — Script não encontrado ou sem permissão para esta conta
- `422` — JSON inválido ou validação do corpo (script, cliente, datas, campos)
- `500` — Erro inesperado (ex. falha ao formatar data disponível)

---

[API](https://skmtc.net/nuvidio/apis/nuvidio-openapi.md) · [All operations](https://skmtc.net/nuvidio/apis/nuvidio-openapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/nuvidio/nuvidio-openapi/versions/a262554413c2/schema)
