Aller au contenu

Renouveler l’adhésion (par le membre)

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

Dans la fenêtre de renouvellement (60 jours avant l’échéance, ou après celle-ci). Une adhésion de type gratuit, sans approbation, est renouvelée tout de suite (renewed: true, nouvel expires_at) ; sinon, une demande de renouvellement est enregistrée et l’association est prévenue (requested: true) — elle aboutit quand le secrétariat enregistre la cotisation ou donne son approbation. accept_statuto doit nommer le statuto en vigueur. Répéter la demande est sans effet.

Type de médiaapplication/json
object
accept_statuto
obligatoire
object
version
obligatoire
integer
sha256
string
Exemplegénéré
{
"accept_statuto": {
"version": 1,
"sha256": "example"
}
}

Renouvelée ou demandée

Type de médiaapplication/json
object
renewed
boolean
requested
boolean
status
string
expires_at
string format : date-time
nullable
renewal_requested_at
string format : date-time
nullable
Exemplegénéré
{
"renewed": true,
"requested": true,
"status": "example",
"expires_at": "2026-04-15T12:00:00Z",
"renewal_requested_at": "2026-04-15T12:00:00Z"
}

Requête invalide

Type de médiaapplication/problem+json
object
type
obligatoire
string format : uri
title
obligatoire
string
status
obligatoire
integer
detail
string
code
obligatoire
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Exemplegénéré
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Identifiants manquants ou invalides

Type de médiaapplication/problem+json
object
type
obligatoire
string format : uri
title
obligatoire
string
status
obligatoire
integer
detail
string
code
obligatoire
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Exemplegénéré
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Non autorisé

Type de médiaapplication/problem+json
object
type
obligatoire
string format : uri
title
obligatoire
string
status
obligatoire
integer
detail
string
code
obligatoire
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Exemplegénéré
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Introuvable

Type de médiaapplication/problem+json
object
type
obligatoire
string format : uri
title
obligatoire
string
status
obligatoire
integer
detail
string
code
obligatoire
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Exemplegénéré
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Hors de la fenêtre de renouvellement (too_early) ou l’adhésion ne peut pas être renouvelée (not_renewable)

accept_statuto ne nomme pas le statuto en vigueur

Limite de débit atteinte

Type de médiaapplication/problem+json
object
type
obligatoire
string format : uri
title
obligatoire
string
status
obligatoire
integer
detail
string
code
obligatoire
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Exemplegénéré
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Erreur interne

Type de médiaapplication/problem+json
object
type
obligatoire
string format : uri
title
obligatoire
string
status
obligatoire
integer
detail
string
code
obligatoire
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Exemplegénéré
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}