Salta ai contenuti

Rinnova la tessera (self-service)

POST
/v1/me/membership/renew
curl --request POST \
--url https://api.vimine.network/v1/me/membership/renew \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "accept_statuto": { "version": 1, "sha256": "example" } }'

Dentro la finestra di rinnovo (dai 60 giorni prima della scadenza, o dopo di essa). Un tipo di tessera gratuito senza approvazione viene rinnovato subito (renewed: true, nuovo expires_at); altrimenti viene registrata una richiesta di rinnovo e l’associazione viene avvisata (requested: true) — si completa quando la segreteria registra la quota o approva. accept_statuto deve indicare lo statuto in vigore. Ripetere la richiesta non ha effetto.

Tipo di contenutoapplication/json
object
accept_statuto
obbligatorio
object
version
obbligatorio
integer
sha256
string
Esempiogenerato
{
"accept_statuto": {
"version": 1,
"sha256": "example"
}
}

Rinnovata, o rinnovo richiesto

Tipo di contenutoapplication/json
object
renewed
boolean
requested
boolean
status
string
expires_at
string formato: date-time
nullable
renewal_requested_at
string formato: date-time
nullable
Esempiogenerato
{
"renewed": true,
"requested": true,
"status": "example",
"expires_at": "2026-04-15T12:00:00Z",
"renewal_requested_at": "2026-04-15T12:00:00Z"
}

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"
}
]
}

Fuori dalla finestra di rinnovo (too_early) o la tessera non si può rinnovare (not_renewable)

accept_statuto non indica lo statuto in vigore

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"
}
]
}