Ir al contenido

Crear una cuenta de Vimine para una persona (desde el 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" } }'

Crea la identidad y envía a la persona el correo que confirma la dirección y le permite elegir una contraseña. Responde siempre 202: nunca se revela si la dirección ya tenía una cuenta (en su lugar, se avisa por correo al titular de la dirección). Solo tokens de cliente (identity:signup); acepta Idempotency-Key.

Tipo de medioapplication/json
object
email
obligatorio
string formato: email
first_name
obligatorio
string
<= 50 caracteres
last_name
obligatorio
string
<= 50 caracteres
phone
string
nullable <= 20 caracteres
dob
string formato: date
nullable
gender

Solo demográfico: no se coteja

string
nullable
Valores permitidos: M F
birthplace

Comune (nacidos en Italia) o ciudad, texto libre (nacidos en el extranjero)

string
nullable <= 150 caracteres
birth_country

ISO 3166-1 alpha-2

string
nullable >= 2 caracteres <= 2 caracteres
codicefiscale

Se valida y se coteja con los demás campos cuando está presente

string
nullable <= 16 caracteres
codicefiscale_confirmed

La persona confirma un código que no coincide con sus datos (422 codicefiscale_mismatch con confirmable: true)

boolean
locale

El idioma de la página que ha rellenado la persona (un idioma de la plataforma — it, en, …; cualquier otra etiqueta se reduce a uno de los de la plataforma: en-GB → en, zh-TW → zh-Hant). Decide el idioma de los correos que siguen y se convierte en la preferencia de una cuenta NUEVA; una cuenta existente conserva la suya. Los valores no admitidos se ignoran

string
nullable
accept_terms

Las condiciones de la cuenta (platform_terms) que la persona ha aceptado en tu sitio — opcional, pero cuando se envía debe nombrar la versión en vigor

object
version
obligatorio

La etiqueta de la versión en vigor que se ha mostrado (GET /v1/legal/{kind})

string
sha256

El hash de su plantilla, cuando se publica

string
acknowledge_privacy

La política de privacidad de la plataforma (platform_privacy) que la persona ha leído en tu sitio — opcional, misma regla

object
version
obligatorio

La etiqueta de la versión en vigor que se ha mostrado (GET /v1/legal/{kind})

string
sha256

El hash de su plantilla, cuando se publica

string

Aceptada

Tipo de medioapplication/json
object
status
obligatorio
string
Valores permitidos: accepted
Ejemplo
{
"status": "accepted"
}

Petición no válida

Tipo de medioapplication/problem+json
object
type
obligatorio
string formato: uri
title
obligatorio
string
status
obligatorio
integer
detail
string
code
obligatorio
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Ejemplogenerado
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Credenciales ausentes o no válidas

Tipo de medioapplication/problem+json
object
type
obligatorio
string formato: uri
title
obligatorio
string
status
obligatorio
integer
detail
string
code
obligatorio
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Ejemplogenerado
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

No permitido

Tipo de medioapplication/problem+json
object
type
obligatorio
string formato: uri
title
obligatorio
string
status
obligatorio
integer
detail
string
code
obligatorio
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Ejemplogenerado
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

No encontrado

Tipo de medioapplication/problem+json
object
type
obligatorio
string formato: uri
title
obligatorio
string
status
obligatorio
integer
detail
string
code
obligatorio
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Ejemplogenerado
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Límite de frecuencia superado

Tipo de medioapplication/problem+json
object
type
obligatorio
string formato: uri
title
obligatorio
string
status
obligatorio
integer
detail
string
code
obligatorio
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Ejemplogenerado
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Error interno

Tipo de medioapplication/problem+json
object
type
obligatorio
string formato: uri
title
obligatorio
string
status
obligatorio
integer
detail
string
code
obligatorio
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Ejemplogenerado
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}