Pular para o conteúdo

Criar uma conta Vimine para uma pessoa (do lado do servidor)

POST
/v1/signup
curl --request POST \
--url https://api.vimine.network/v1/signup \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "email": "hello@example.com", "first_name": "example", "last_name": "example", "phone": "example", "dob": "2026-04-15", "gender": "M", "birthplace": "example", "birth_country": "example", "codicefiscale": "example", "codicefiscale_confirmed": true, "locale": "example", "accept_terms": { "version": "example", "sha256": "example" }, "acknowledge_privacy": { "version": "example", "sha256": "example" } }'

Cria a identidade e envia à pessoa o e-mail que confirma o endereço e permite escolher uma senha. Responde sempre 202: nunca se revela se o endereço já tinha uma conta ou não (em vez disso, o dono do endereço é avisado por e-mail). Só tokens de cliente (identity:signup); aceita Idempotency-Key.

Tipo de mídiaapplication/json
object
email
obrigatório
string formato: email
first_name
obrigatório
string
<= 50 caracteres
last_name
obrigatório
string
<= 50 caracteres
phone
string
nullable <= 20 caracteres
dob
string formato: date
nullable
gender

Só estatístico: não é conferido

string
nullable
Valores permitidos: M F
birthplace

Comune (nascidos na Itália) ou cidade, texto livre (nascidos no exterior)

string
nullable <= 150 caracteres
birth_country

ISO 3166-1 alpha-2

string
nullable >= 2 caracteres <= 2 caracteres
codicefiscale

Validado e conferido com os outros campos, quando presente

string
nullable <= 16 caracteres
codicefiscale_confirmed

A pessoa confirma um código que não confere com os seus dados (422 codicefiscale_mismatch com confirmable: true)

boolean
locale

O idioma da página que a pessoa preencheu (um idioma da plataforma — it, en, …; qualquer outra tag é associada a um dos idiomas da plataforma: en-GB → en, zh-TW → zh-Hant). Ele decide o idioma dos e-mails que vêm depois e se torna a preferência de uma conta NOVA; uma conta existente mantém a sua. Valores não suportados são ignorados

string
nullable
accept_terms

As condições de uso da conta (platform_terms) que a pessoa aceitou no seu site — opcional, mas, quando presente, deve indicar a versão em vigor

object
version
obrigatório

O rótulo da versão em vigor que foi mostrada (GET /v1/legal/{kind})

string
sha256

O hash do seu modelo, quando publicado

string
acknowledge_privacy

O aviso de privacidade da plataforma (platform_privacy) que a pessoa leu no seu site — opcional, mesma regra

object
version
obrigatório

O rótulo da versão em vigor que foi mostrada (GET /v1/legal/{kind})

string
sha256

O hash do seu modelo, quando publicado

string

Aceito

Tipo de mídiaapplication/json
object
status
obrigatório
string
Valores permitidos: accepted
Exemplo
{
"status": "accepted"
}

Requisição inválida

Tipo de mídiaapplication/problem+json
object
type
obrigatório
string formato: uri
title
obrigatório
string
status
obrigatório
integer
detail
string
code
obrigatório
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Exemplogerado
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Credenciais ausentes ou inválidas

Tipo de mídiaapplication/problem+json
object
type
obrigatório
string formato: uri
title
obrigatório
string
status
obrigatório
integer
detail
string
code
obrigatório
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Exemplogerado
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Não permitido

Tipo de mídiaapplication/problem+json
object
type
obrigatório
string formato: uri
title
obrigatório
string
status
obrigatório
integer
detail
string
code
obrigatório
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Exemplogerado
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Não encontrado

Tipo de mídiaapplication/problem+json
object
type
obrigatório
string formato: uri
title
obrigatório
string
status
obrigatório
integer
detail
string
code
obrigatório
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Exemplogerado
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Limite de requisições excedido

Tipo de mídiaapplication/problem+json
object
type
obrigatório
string formato: uri
title
obrigatório
string
status
obrigatório
integer
detail
string
code
obrigatório
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Exemplogerado
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Erro interno

Tipo de mídiaapplication/problem+json
object
type
obrigatório
string formato: uri
title
obrigatório
string
status
obrigatório
integer
detail
string
code
obrigatório
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Exemplogerado
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}