Salta ai contenuti

Aggiorna i contatti e i dati personali del socio

PATCH
/v1/me
curl --request PATCH \
--url https://api.vimine.network/v1/me \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "phone": "example", "dob": "2026-04-15", "gender": "M", "birthplace": "example", "birth_country": "example", "codicefiscale": "example", "codicefiscale_confirmed": true, "locale": "it" }'

Modificabili: phone, gender, locale e l’identificazione — dob, birthplace, birth_country, codicefiscale. Una persona si identifica con un codice fiscale OPPURE con data, luogo e Stato di nascita; il codice fiscale è facoltativo e si può aggiungere più tardi. Un codice viene validato e confrontato con il nome memorizzato, la data di nascita e il luogo — il comune per chi è nato in Italia, solo lo STATO (birth_country) per tutti gli altri; il sesso non viene confrontato. Un codice che non concorda risponde 422 codicefiscale_mismatch con mismatches, hints (names_swapped) e confirmable: quando confirmable è true la persona può confermare che è il codice della sua tessera sanitaria — invia codicefiscale_confirmed: true — e codicefiscale_check diventa mismatch_confirmed.

Tipo di contenutoapplication/json
object
phone
string
nullable
dob
string formato: date
nullable
gender
string
nullable
Valori ammessi: M F
birthplace

Comune (nati in Italia) o città, testo libero (nati all’estero)

string
nullable
birth_country

ISO 3166-1 alpha-2

string
nullable >= 2 caratteri <= 2 caratteri
codicefiscale
string
nullable
codicefiscale_confirmed

Solo in scrittura: la persona conferma un codice che non concorda con i suoi dati (vedi confirmable)

boolean
locale

La lingua della persona; null azzera la scelta. 422 unsupported per una lingua che la piattaforma non parla

string
nullable
Valori ammessi: it en zh-Hans zh-Hant fr es de pt-BR

Il profilo aggiornato

Tipo di contenutoapplication/json
object
sub
obbligatorio

L’identificativo (subject) di questa persona, come nell’ID token

string
email
obbligatorio
string formato: email
email_verified
obbligatorio
boolean
first_name
string
nullable
last_name
string
nullable
phone
string
nullable
dob
string formato: date
nullable
gender

Solo statistico

string
nullable
Valori ammessi: M F
birthplace
string
nullable
birth_country

ISO 3166-1 alpha-2

string
nullable
codicefiscale

Facoltativo: una persona può non averne

string
nullable
codicefiscale_check

Come la persona è identificata. matched: un codice fiscale che concorda con i suoi dati; mismatch_confirmed: un codice che non concorda, confermato dalla persona; absent: nessun codice — la identificano data, luogo e Stato di nascita; null: non ancora identificata (non può chiedere una tessera)

string
nullable
Valori ammessi: matched mismatch_confirmed absent
locale

La lingua che la persona ha scelto per la piattaforma e le sue mail; null: mai scelta — vale la lingua della richiesta, poi quella dell’associazione

string
nullable
Valori ammessi: it en zh-Hans zh-Hant fr es de pt-BR
updated_at
string formato: date-time
nullable
Esempio
{
"gender": "M",
"codicefiscale_check": "matched",
"locale": "it"
}

Richiesta non valida

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

Credenziali mancanti o non valide

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

Non consentito

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

Non trovato

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

Validazione non riuscita (errors[]: invalid_codicefiscale, codicefiscale_mismatch, invalid, age_below_minimum, not_writable)

Troppe richieste

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

Errore interno

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