API de Equipes
Gerencie equipes, membros, papéis e convites para a criação colaborativa de formulários.
A API de Equipes permite criar e gerenciar equipes para a criação colaborativa de formulários. As equipes permitem que vários usuários compartilhem formulários, com controle de acesso baseado em papéis definindo quem pode visualizar, editar e excluir formulários e respostas.
Todos os corpos de requisição e resposta usam nomes de campos em snake_case.
Papéis da Equipe
ownerroleAcesso completo. Pode gerenciar membros, cobrança e excluir a equipe.
adminrolePode criar, editar e excluir formulários, gerenciar membros e visualizar respostas.
editorrolePode criar e editar formulários e visualizar respostas. Não pode gerenciar membros.
viewerrolePode visualizar formulários e respostas. Não pode criar nem editar.
/api/v1/teamsPOST/api/v1/teamsGET/api/v1/teams/:teamIdPUT/api/v1/teams/:teamIdDELETE/api/v1/teams/:teamIdGET/api/v1/teams/:teamId/membersPOST/api/v1/teams/:teamId/membersPUT/api/v1/teams/:teamId/members/:memberIdDELETE/api/v1/teams/:teamId/members/:memberIdGET/api/v1/teams/:teamId/invitationsPOST/api/v1/teams/:teamId/invitationsDELETE/api/v1/teams/:teamId/invitations/:invIdGET/api/v1/teams/:teamId/audit-logsGET/api/v1/teams/:teamId/brandingPUT/api/v1/teams/:teamId/brandingDELETE/api/v1/teams/:teamId/brandingGET/api/v1/teams/:teamId/subdomainPUT/api/v1/teams/:teamId/subdomainGET/api/v1/teams/:teamId/custom-domainPOST/api/v1/teams/:teamId/custom-domainDELETE/api/v1/teams/:teamId/custom-domainPOST/api/v1/teams/:teamId/custom-domain/verifyGET/api/v1/teams/:teamId/billingGET/api/v1/teams/:teamId/analyticsGET/api/v1/forms/:id/guestsPOST/api/v1/forms/:id/guestsDELETE/api/v1/forms/:id/guestsPOST/api/v1/forms/guests/acceptPUT/api/v1/teams/:teamId/members/:memberId/telephonyGET/api/voices?teamId=:teamIdPOST/api/voices/createResposta
{
"teams": [
{
"id": "665b2c3d4e5f6a7b8c9d0e1f",
"name": "Marketing",
"slug": "marketing",
"owner_id": "665a0a1b2c3d4e5f6a7b8c9d",
"created_at": "2026-01-10T09:00:00.000Z",
"updated_at": "2026-02-15T11:30:00.000Z",
"member_count": 5,
"your_role": "admin"
},
{
"id": "665c3d4e5f6a7b8c9d0e1f20",
"name": "Product",
"slug": "product",
"owner_id": "665a0a1b2c3d4e5f6a7b8c9d",
"created_at": "2026-02-01T14:00:00.000Z",
"updated_at": "2026-02-20T16:45:00.000Z",
"member_count": 3,
"your_role": "owner"
}
]
}
Exemplos de Código
curl -X GET "https://api.nueform.io/api/v1/teams" \
-H "Authorization: Bearer YOUR_API_KEY"
Criar Equipe
/api/v1/teamsCria uma nova equipe. O usuário autenticado se torna o proprietário da equipe.
Corpo da Requisição
namestringNome da equipe
Exemplo de Requisição
{
"name": "Marketing"
}
Resposta
{
"id": "665b2c3d4e5f6a7b8c9d0e1f",
"name": "Marketing",
"slug": "marketing",
"owner_id": "665a0a1b2c3d4e5f6a7b8c9d",
"created_at": "2026-02-28T12:00:00.000Z",
"updated_at": "2026-02-28T12:00:00.000Z"
}
Exemplos de Código
curl -X POST "https://api.nueform.io/api/v1/teams" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "Marketing" }'
Obter Equipe
/api/v1/teams/:teamIdRecupera uma única equipe pelo ID.
Parâmetros de Caminho
teamIdstringO ID da equipe
Resposta
{
"id": "665b2c3d4e5f6a7b8c9d0e1f",
"name": "Marketing",
"slug": "marketing",
"owner_id": "665a0a1b2c3d4e5f6a7b8c9d",
"created_at": "2026-01-10T09:00:00.000Z",
"updated_at": "2026-02-15T11:30:00.000Z",
"member_count": 5
}
Exemplos de Código
curl -X GET "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f" \
-H "Authorization: Bearer YOUR_API_KEY"
Atualizar Equipe
/api/v1/teams/:teamIdAtualiza as propriedades da equipe. Requer o papel owner ou admin.
Parâmetros de Caminho
teamIdstringO ID da equipe
Corpo da Requisição
namestringNovo nome da equipe
Exemplo de Requisição
{
"name": "Marketing & Growth"
}
Resposta
Retorna o objeto da equipe atualizado.
Exemplos de Código
curl -X PUT "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "Marketing & Growth" }'
Excluir Equipe
/api/v1/teams/:teamIdExclui uma equipe permanentemente. Apenas o proprietário da equipe pode excluir uma equipe.
Excluir uma equipe remove todas as associações e convites da equipe. Os formulários pertencentes à equipe não são excluídos automaticamente, mas ficarão inacessíveis para os ex-membros da equipe.
Parâmetros de Caminho
teamIdstringO ID da equipe
Resposta
{
"success": true
}
Exemplos de Código
curl -X DELETE "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f" \
-H "Authorization: Bearer YOUR_API_KEY"
Listar Membros
/api/v1/teams/:teamId/membersRetorna todos os membros de uma equipe.
Parâmetros de Caminho
teamIdstringO ID da equipe
Resposta
{
"members": [
{
"id": "66d1e2f3a4b5c6d7e8f9a0b1",
"user_id": "665a0a1b2c3d4e5f6a7b8c9d",
"email": "alice@example.com",
"first_name": "Alice",
"last_name": "Johnson",
"role": "owner",
"joined_at": "2026-01-10T09:00:00.000Z"
},
{
"id": "66d2e3f4a5b6c7d8e9f0a1b2",
"user_id": "665a1b2c3d4e5f6a7b8c9d0e",
"email": "bob@example.com",
"first_name": "Bob",
"last_name": "Smith",
"role": "editor",
"joined_at": "2026-01-15T14:30:00.000Z"
}
]
}
Exemplos de Código
curl -X GET "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/members" \
-H "Authorization: Bearer YOUR_API_KEY"
Adicionar Membro
/api/v1/teams/:teamId/membersAdiciona um usuário diretamente a uma equipe pelo ID do usuário. Requer o papel owner ou admin. Para convidar um usuário por e-mail, use Criar Convite.
Parâmetros de Caminho
teamIdstringO ID da equipe
Corpo da Requisição
user_idstringO ID do usuário a adicionar
rolestringPapel a atribuir: "admin", "editor", "viewer" (padrão: "viewer")
Exemplo de Requisição
{
"user_id": "665a1b2c3d4e5f6a7b8c9d0e",
"role": "editor"
}
Resposta
{
"id": "66d2e3f4a5b6c7d8e9f0a1b2",
"user_id": "665a1b2c3d4e5f6a7b8c9d0e",
"team_id": "665b2c3d4e5f6a7b8c9d0e1f",
"role": "editor",
"joined_at": "2026-02-28T12:00:00.000Z"
}
Exemplos de Código
curl -X POST "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/members" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"user_id": "665a1b2c3d4e5f6a7b8c9d0e",
"role": "editor"
}'
Atualizar Papel do Membro
/api/v1/teams/:teamId/members/:memberIdAtualiza o papel de um membro da equipe. Requer o papel owner ou admin. Você não pode alterar o papel do proprietário.
Parâmetros de Caminho
teamIdstringO ID da equipe
memberIdstringO ID do membro da equipe
Corpo da Requisição
rolestringNovo papel: "admin", "editor", "viewer"
Exemplo de Requisição
{
"role": "admin"
}
Resposta
{
"id": "66d2e3f4a5b6c7d8e9f0a1b2",
"user_id": "665a1b2c3d4e5f6a7b8c9d0e",
"team_id": "665b2c3d4e5f6a7b8c9d0e1f",
"role": "admin",
"joined_at": "2026-01-15T14:30:00.000Z"
}
Exemplos de Código
curl -X PUT "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/members/66d2e3f4a5b6c7d8e9f0a1b2" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "role": "admin" }'
Remover Membro
/api/v1/teams/:teamId/members/:memberIdRemove um membro de uma equipe. Requer o papel owner ou admin. O proprietário da equipe não pode ser removido.
Parâmetros de Caminho
teamIdstringO ID da equipe
memberIdstringO ID do membro da equipe
Resposta
{
"success": true
}
Exemplos de Código
curl -X DELETE "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/members/66d2e3f4a5b6c7d8e9f0a1b2" \
-H "Authorization: Bearer YOUR_API_KEY"
Listar Convites
/api/v1/teams/:teamId/invitationsRetorna todos os convites pendentes de uma equipe. Requer o papel owner ou admin.
Parâmetros de Caminho
teamIdstringO ID da equipe
Resposta
{
"invitations": [
{
"id": "66e1f2a3b4c5d6e7f8a9b0c1",
"email": "carol@example.com",
"role": "editor",
"invited_by": "665a0a1b2c3d4e5f6a7b8c9d",
"status": "pending",
"expires_at": "2026-03-07T12:00:00.000Z",
"created_at": "2026-02-28T12:00:00.000Z"
}
]
}
Exemplos de Código
curl -X GET "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/invitations" \
-H "Authorization: Bearer YOUR_API_KEY"
Criar Convite
/api/v1/teams/:teamId/invitationsEnvia um convite por e-mail para entrar em uma equipe. O convite inclui um token único e expira após 7 dias. Requer o papel owner ou admin.
Parâmetros de Caminho
teamIdstringO ID da equipe
Corpo da Requisição
emailstringEndereço de e-mail a convidar
rolestringPapel a atribuir na aceitação: "admin", "editor", "viewer" (padrão: "editor")
Exemplo de Requisição
{
"email": "carol@example.com",
"role": "editor"
}
Resposta
{
"id": "66e1f2a3b4c5d6e7f8a9b0c1",
"email": "carol@example.com",
"role": "editor",
"invited_by": "665a0a1b2c3d4e5f6a7b8c9d",
"status": "pending",
"expires_at": "2026-03-07T12:00:00.000Z",
"created_at": "2026-02-28T12:00:00.000Z"
}
Exemplos de Código
curl -X POST "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/invitations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"email": "carol@example.com",
"role": "editor"
}'
Cancelar Convite
/api/v1/teams/:teamId/invitations/:invIdCancela um convite pendente. Requer o papel owner ou admin. O token do convite deixará de ser válido.
Parâmetros de Caminho
teamIdstringO ID da equipe
invIdstringO ID do convite
Resposta
{
"success": true
}
Exemplos de Código
curl -X DELETE "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/invitations/66e1f2a3b4c5d6e7f8a9b0c1" \
-H "Authorization: Bearer YOUR_API_KEY"
Logs de Auditoria
/api/v1/teams/:teamId/audit-logsRetorna uma lista paginada de eventos de log de auditoria da equipe. Requer o papel owner ou admin. Disponível apenas no plano Enterprise.
Parâmetros de Caminho
teamIdstringO ID da equipe
Parâmetros de Consulta
actionstringFiltre por tipo de ação (por exemplo, "form.published", "member.removed")
user_idstringFiltre pelo usuário que realizou a ação
sincestringData ISO 8601 — apenas eventos a partir desta data
untilstringData ISO 8601 — apenas eventos até esta data
pageintegerNúmero da página (padrão: 1)
per_pageintegerResultados por página (padrão: 50, máx.: 100)
Resposta
{
"events": [
{
"id": "670a1b2c3d4e5f6a7b8c9d0e",
"action": "form.published",
"user_id": "665a0a1b2c3d4e5f6a7b8c9d",
"user_email": "alice@example.com",
"details": {
"form_id": "665f1a2b3c4d5e6f7a8b9c0d",
"form_title": "Customer Survey"
},
"ip_address": "203.0.113.42",
"timestamp": "2026-03-20T14:30:00.000Z"
}
],
"total": 1,
"page": 1,
"per_page": 50
}
Exemplos de Código
curl -X GET "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/audit-logs?action=form.published&per_page=10" \
-H "Authorization: Bearer YOUR_API_KEY"
Obter Branding da Equipe
/api/v1/teams/:teamId/brandingRetorna a configuração de branding da equipe. Requer associação à equipe.
Parâmetros de Caminho
teamIdstringO ID da equipe
Resposta
{
"logo_url": "https://cdn.nueform.io/teams/665b2c/logo.png",
"primary_color": "#6366f1",
"background_color": "#ffffff",
"text_color": "#1a1a1a",
"font_family": "Inter",
"footer_text": "Powered by Acme Corp"
}
Exemplos de Código
curl -X GET "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/branding" \
-H "Authorization: Bearer YOUR_API_KEY"
Atualizar Branding da Equipe
/api/v1/teams/:teamId/brandingAtualiza a configuração de branding da equipe. Requer o papel owner ou admin.
Parâmetros de Caminho
teamIdstringO ID da equipe
Corpo da Requisição
logo_urlstringURL do logo da equipe
primary_colorstringCor hexadecimal primária (por exemplo, "#6366f1")
background_colorstringCor hexadecimal de fundo
text_colorstringCor hexadecimal do texto
font_familystringNome da família de fontes do Google Fonts
footer_textstringTexto personalizado do rodapé
Exemplo de Requisição
{
"primary_color": "#8b5cf6",
"font_family": "Poppins",
"footer_text": "2026 Acme Corp. All rights reserved."
}
Resposta
Retorna o objeto de branding atualizado.
Exemplos de Código
curl -X PUT "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/branding" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "primary_color": "#8b5cf6", "font_family": "Poppins" }'
Limpar Branding da Equipe
/api/v1/teams/:teamId/brandingRemove todas as configurações de branding da equipe, revertendo os formulários para os padrões do proprietário ou do sistema. Requer o papel owner ou admin.
Parâmetros de Caminho
teamIdstringO ID da equipe
Resposta
{
"success": true
}
Exemplos de Código
curl -X DELETE "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/branding" \
-H "Authorization: Bearer YOUR_API_KEY"
Obter Subdomínio
/api/v1/teams/:teamId/subdomainRetorna a configuração de subdomínio da equipe. Requer associação à equipe.
Parâmetros de Caminho
teamIdstringO ID da equipe
Resposta
{
"subdomain": "acme-marketing",
"full_url": "https://acme-marketing.nueform.io"
}
Exemplos de Código
curl -X GET "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/subdomain" \
-H "Authorization: Bearer YOUR_API_KEY"
Definir Subdomínio
/api/v1/teams/:teamId/subdomainDefine ou atualiza o subdomínio da equipe. Requer o papel owner ou admin. Requer o plano Pro ou Enterprise.
Parâmetros de Caminho
teamIdstringO ID da equipe
Corpo da Requisição
subdomainstringSubdomínio desejado (apenas letras minúsculas, números e hifens)
Exemplo de Requisição
{
"subdomain": "acme-marketing"
}
Resposta
{
"subdomain": "acme-marketing",
"full_url": "https://acme-marketing.nueform.io"
}
Exemplos de Código
curl -X PUT "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/subdomain" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "subdomain": "acme-marketing" }'
Obter Domínio Personalizado
/api/v1/teams/:teamId/custom-domainRetorna a configuração de domínio personalizado da equipe. Requer associação à equipe. Disponível apenas no plano Enterprise.
Parâmetros de Caminho
teamIdstringO ID da equipe
Resposta
{
"domain": "forms.acmecorp.com",
"status": "verified",
"ssl_status": "active",
"cname_target": "custom.nueform.io",
"verified_at": "2026-03-15T10:00:00.000Z"
}
Exemplos de Código
curl -X GET "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/custom-domain" \
-H "Authorization: Bearer YOUR_API_KEY"
Adicionar Domínio Personalizado
/api/v1/teams/:teamId/custom-domainAdiciona um domínio personalizado à equipe. Requer o papel owner ou admin. Disponível apenas no plano Enterprise. Após adicionar, use o endpoint Verificar Domínio para confirmar a configuração de DNS.
Parâmetros de Caminho
teamIdstringO ID da equipe
Corpo da Requisição
domainstringO domínio personalizado (por exemplo, "forms.acmecorp.com")
Exemplo de Requisição
{
"domain": "forms.acmecorp.com"
}
Resposta
{
"domain": "forms.acmecorp.com",
"status": "pending_verification",
"cname_target": "custom.nueform.io",
"instructions": "Add a CNAME record pointing forms.acmecorp.com to custom.nueform.io"
}
Exemplos de Código
curl -X POST "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/custom-domain" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "domain": "forms.acmecorp.com" }'
Remover Domínio Personalizado
/api/v1/teams/:teamId/custom-domainRemove o domínio personalizado da equipe. Os formulários voltarão para a URL padrão do NueForm. Requer o papel owner ou admin.
Parâmetros de Caminho
teamIdstringO ID da equipe
Resposta
{
"success": true
}
Exemplos de Código
curl -X DELETE "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/custom-domain" \
-H "Authorization: Bearer YOUR_API_KEY"
Verificar Domínio Personalizado
/api/v1/teams/:teamId/custom-domain/verifyVerifica se os registros DNS estão configurados corretamente para o domínio personalizado. O SSL é provisionado automaticamente após a verificação bem-sucedida. Requer o papel owner ou admin.
Parâmetros de Caminho
teamIdstringO ID da equipe
Resposta (Sucesso)
{
"domain": "forms.acmecorp.com",
"status": "verified",
"ssl_status": "provisioning",
"verified_at": "2026-03-20T15:00:00.000Z"
}
Resposta (Falha)
{
"domain": "forms.acmecorp.com",
"status": "pending_verification",
"error": "CNAME record not found. Expected: forms.acmecorp.com -> custom.nueform.io"
}
Exemplos de Código
curl -X POST "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/custom-domain/verify" \
-H "Authorization: Bearer YOUR_API_KEY"
Obter Cobrança
/api/v1/teams/:teamId/billingRetorna o resumo de cobrança da equipe, incluindo detalhes do plano, uso de assentos e informações da próxima fatura. Requer o papel owner ou admin.
Parâmetros de Caminho
teamIdstringO ID da equipe
Resposta
{
"plan": "enterprise",
"billing_cycle": "monthly",
"price_per_month": 99,
"included_seats": 20,
"used_seats": 14,
"extra_seats": 0,
"extra_seat_cost": 1.00,
"viewer_seats": 38,
"next_invoice_date": "2026-04-01T00:00:00.000Z",
"next_invoice_amount": 99.00
}
Exemplos de Código
curl -X GET "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/billing" \
-H "Authorization: Bearer YOUR_API_KEY"
Obter Análises da Equipe
/api/v1/teams/:teamId/analyticsRetorna análises agregadas de todos os formulários da equipe. Requer associação à equipe.
Parâmetros de Caminho
teamIdstringO ID da equipe
Parâmetros de Consulta
sincestringData ISO 8601 — apenas dados a partir desta data
untilstringData ISO 8601 — apenas dados até esta data
Resposta
{
"total_forms": 24,
"total_responses": 12580,
"avg_completion_rate": 0.73,
"responses_by_day": [
{ "date": "2026-03-19", "count": 142 },
{ "date": "2026-03-20", "count": 167 }
],
"top_forms": [
{
"form_id": "665f1a2b3c4d5e6f7a8b9c0d",
"title": "Customer Survey",
"responses": 4230,
"completion_rate": 0.82
}
]
}
Exemplos de Código
curl -X GET "https://api.nueform.io/api/v1/teams/665b2c3d4e5f6a7b8c9d0e1f/analytics?since=2026-03-01" \
-H "Authorization: Bearer YOUR_API_KEY"
Listar Convidados do Formulário
/api/v1/forms/:id/guestsRetorna todos os convidados de um formulário específico. Requer o papel owner ou admin na equipe do formulário.
Parâmetros de Caminho
idstringO ID do formulário
Resposta
{
"guests": [
{
"id": "671a2b3c4d5e6f7a8b9c0d1e",
"email": "contractor@external.com",
"first_name": "Dana",
"last_name": "Lee",
"permission": "edit",
"invited_by": "665a0a1b2c3d4e5f6a7b8c9d",
"accepted_at": "2026-03-18T10:00:00.000Z"
}
]
}
Exemplos de Código
curl -X GET "https://api.nueform.io/api/v1/forms/665f1a2b3c4d5e6f7a8b9c0d/guests" \
-H "Authorization: Bearer YOUR_API_KEY"
Convidar Convidado
/api/v1/forms/:id/guestsConvida um colaborador externo para um formulário específico. Requer o papel owner ou admin na equipe do formulário. O convidado recebe um convite por e-mail.
Parâmetros de Caminho
idstringO ID do formulário
Corpo da Requisição
emailstringEndereço de e-mail do convidado
permissionstringNível de permissão: "view" ou "edit" (padrão: "view")
Exemplo de Requisição
{
"email": "contractor@external.com",
"permission": "edit"
}
Resposta
{
"id": "671a2b3c4d5e6f7a8b9c0d1e",
"email": "contractor@external.com",
"permission": "edit",
"status": "pending",
"invited_by": "665a0a1b2c3d4e5f6a7b8c9d",
"created_at": "2026-03-20T12:00:00.000Z"
}
Exemplos de Código
curl -X POST "https://api.nueform.io/api/v1/forms/665f1a2b3c4d5e6f7a8b9c0d/guests" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"email": "contractor@external.com",
"permission": "edit"
}'
Remover Convidado
/api/v1/forms/:id/guestsRemove o acesso de um convidado a um formulário específico. Requer o papel owner ou admin na equipe do formulário.
Parâmetros de Caminho
idstringO ID do formulário
Corpo da Requisição
guest_idstringO ID do convidado a remover
Exemplo de Requisição
{
"guest_id": "671a2b3c4d5e6f7a8b9c0d1e"
}
Resposta
{
"success": true
}
Exemplos de Código
curl -X DELETE "https://api.nueform.io/api/v1/forms/665f1a2b3c4d5e6f7a8b9c0d/guests" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "guest_id": "671a2b3c4d5e6f7a8b9c0d1e" }'
Aceitar Convite de Convidado
/api/v1/forms/guests/acceptAceita um convite de convidado usando o token do e-mail de convite. O usuário autenticado ganha acesso ao formulário com o nível de permissão especificado.
Corpo da Requisição
tokenstringO token do convite do link do e-mail
Exemplo de Requisição
{
"token": "gt_abc123def456ghi789"
}
Resposta
{
"form_id": "665f1a2b3c4d5e6f7a8b9c0d",
"form_title": "Customer Survey",
"permission": "edit",
"team_name": "Marketing"
}
Exemplos de Código
curl -X POST "https://api.nueform.io/api/v1/forms/guests/accept" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "token": "gt_abc123def456ghi789" }'
Respostas de Erro
Respostas de erro padrão retornadas pelos endpoints da API de Equipes.
Códigos de Erro
400Bad RequestCampos obrigatórios ausentes, papel inválido
401UnauthorizedChave de API ausente ou inválida
403ForbiddenPapel insuficiente para a ação
404Not FoundEquipe, membro ou convite não encontrado
409ConflictUsuário já é membro, convite duplicado
500Server ErrorErro interno do servidor
Exemplo de Erro
{
"error": "Not authorized to manage team members"
}
Atualizar Acesso de Telefonia
/api/v1/teams/:teamId/members/:memberId/telephonyAtualize o nível de acesso de telefonia de um membro. Requer o papel admin ou owner. O acesso de telefonia controla quais ações relacionadas a telefone um membro pode realizar, independentemente do seu papel na equipe.
Níveis de Acesso de Telefonia
| Nível | Permissões |
|---|---|
none | Sem acesso de telefonia |
observer | Visualizar logs de chamadas, gravações, números de telefone e vozes da equipe |
operator | Fazer chamadas de saída, vincular números a formulários, iniciar campanhas |
manager | Provisionar/liberar números, gerenciar campanhas, pausar/retomar números |
full | Controle completo, incluindo criar/excluir vozes da equipe |
Corpo da Requisição
telephony_accessstringobrigatórioO nível de acesso de telefonia a definir. Um de: none, observer, operator, manager, full.
Requisição
{
"telephony_access": "operator"
}
Resposta
{
"message": "Telephony access updated",
"telephony_access": "operator"
}
Listar Vozes da Equipe
/api/voices?teamId=:teamIdListe todas as vozes disponíveis para o usuário, incluindo as vozes de equipe da equipe especificada. As vozes de equipe são compartilhadas com todos os membros da equipe que têm acesso de telefonia de nível Observer ou superior.
A resposta inclui os campos source e teamName para distinguir entre vozes pessoais e de equipe.
Resposta
{
"voices": [
{
"id": "qwen:preset:Ryan",
"name": "Ryan",
"category": "preset",
"source": "system"
},
{
"id": "qwen:clone:abc123",
"name": "My Voice",
"category": "custom",
"type": "clone",
"source": "personal"
},
{
"id": "qwen:clone:def456",
"name": "Team Voice",
"category": "custom",
"type": "design",
"source": "team",
"teamName": "Marketing Team",
"teamId": "team123"
}
]
}
Criar Voz da Equipe
/api/voices/createCrie uma voz personalizada e atribua-a a uma equipe. Requer a permissão de telefonia Full Access na equipe de destino. A conta do criador da voz é cobrada pela taxa de US$ 5 de criação de voz.
Corpo da Requisição
namestringobrigatórioNome de exibição da voz.
typestringobrigatórioTipo de voz: clone ou design.
teamIdstringobrigatórioO ID da equipe à qual atribuir a voz.
sampleBlobUrlstringURL da amostra de áudio para vozes clonadas.
Requisição
{
"name": "Team Support Voice",
"type": "design",
"teamId": "team123",
"designGender": "female",
"designTone": "professional"
}
Resposta
{
"voice": {
"id": "qwen:clone:new123",
"dbId": "new123",
"name": "Team Support Voice",
"type": "design",
"category": "custom",
"createdAt": "2026-03-25T00:00:00.000Z"
}
}