Zum Inhalt springen

Einen in Ihrem Namen gestellten Beitrittsantrag bestätigen (Link aus der E-Mail)

POST
/v1/enroll/confirm
curl --request POST \
--url https://api.vimine.network/v1/enroll/confirm \
--header 'Content-Type: application/json' \
--data '{ "token": "example", "identification": { "dob": "2026-04-15", "birthplace": "example", "birth_country": "example", "codicefiscale": "example", "codicefiscale_confirmed": true }, "address": { "kind": "residence", "line": "example", "postal_code": "example", "city": "example", "province": "example", "country": "IT" } }'

Löst das Token des Bestätigungslinks ein und legt den ausstehenden Beitrittsantrag an. Idempotent bei Wiederholung: Wird der Link zweimal verwendet, wird nur der aktuelle Status gemeldet.

Medientypapplication/json
object
token
erforderlich
string
identification

Nur nach einem 409 identification_required: was dem Konto noch fehlt — eine Steuernummer oder Geburtsdatum, Geburtsort und Geburtsland. Füllt die LEEREN Felder des Profils, überschreibt nie, was schon da ist

object
dob
string Format: date
birthplace
string
<= 150 Zeichen
birth_country
string
>= 2 Zeichen <= 2 Zeichen
codicefiscale
string
<= 16 Zeichen
codicefiscale_confirmed
boolean
address

Nur nach einem 409 address_required: Der Verein verlangt von jedem Mitglied eine Adresse (member_address: required in seinem öffentlichen Profil). Optional, wo er optional erklärt hat; ignoriert, wo er keine erfasst

object
kind
string
Standard: residence
Erlaubte Werte: residence domicile
line
erforderlich

Straße und Hausnummer

string
<= 150 Zeichen
postal_code
string
nullable <= 12 Zeichen
city
erforderlich
string
<= 150 Zeichen
province

Nur italienische Adressen (zwei Buchstaben); bei Adressen im Ausland verworfen

string
nullable <= 2 Zeichen
country

ISO 3166-1 alpha-2

string
Standard: IT >= 2 Zeichen <= 2 Zeichen

Der Beitrittsantrag im Verein

Medientypapplication/json
object
status
erforderlich
string
Erlaubte Werte: pending active suspended revoked rejected
already
erforderlich

Die Person hatte hier bereits einen Beitrittsantrag oder eine Mitgliedschaft

boolean
pending_reasons

Warum die Mitgliedschaft noch aussteht, in Reihenfolge: zuerst die Genehmigung des Vereins (wenn er per Beschluss seines Vorstands aufnimmt), dann der Mitgliedsbeitrag. Leer, wenn aktiv

Array<string>
Erlaubte Werte: approval payment
payment_open

Darf der Mitgliedsbeitrag schon gezahlt werden? false, solange die Genehmigung aussteht: Die Genehmigung öffnet die Zahlung

boolean
valid_from

Wann der Ausweis nutzbar wird, bei einer aktiven Mitgliedschaft innerhalb der Frist des Vereins bis zur Nutzbarkeit; sonst null

string Format: date-time
nullable
association
erforderlich
object
name
string
slug
string
event

Nur bei einem Link, den die gehostete Beitrittsseite des Vereins verschickt hat, wenn diese Seite von einer seiner öffentlichen Veranstaltungen aus geöffnet wurde: was aus dem Platz wurde, den die Person zusammen mit dem Antrag angefragt hat. null bei jedem anderen Link

object
slug
string
title
string
starts_at
string Format: date-time
timezone
string
place
string
nullable
registration_type
object
uid
string Format: uuid
name
string
amount

0 = kostenlos

number
currency
string
state

confirmed: Der Platz gehört der Person. reserved: vorgehalten, siehe waiting. held: Der Beitrittsantrag selbst wartet noch auf die Bestätigung der Adresse, und es wurde kein Platz angefragt. unavailable: kein Platz, siehe reasons

string
Erlaubte Werte: confirmed reserved held unavailable
waiting

Worauf ein reserved-Platz wartet: auf die Aktivierung der Mitgliedschaft (dann wird er, wenn kostenlos, von selbst bestätigt), auf den Beitrag oder auf beides

Array<string>
Erlaubte Werte: membership contribution
reasons

Warum der Platz unavailable ist: die Gründe von GET /v1/events/{slug}/eligibility

Array<string>
reserved_until
string Format: date-time
nullable
payment_instructions

Wie ein geschuldeter Beitrag zu zahlen ist, in den Worten des Vereins

string
nullable
already

Die Person hatte diesen Platz schon, bevor der Link verwendet wurde

boolean
Beispiel
{
"status": "pending",
"pending_reasons": [
"approval"
],
"event": {
"state": "confirmed",
"waiting": [
"membership"
]
}
}

Der Link ist ungültig oder abgelaufen (invalid_token)

Nicht gefunden

Medientypapplication/problem+json
object
type
erforderlich
string Format: uri
title
erforderlich
string
status
erforderlich
integer
detail
string
code
erforderlich
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Beispielerzeugt
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Das Statuto hat sich geändert, seit der Link verschickt wurde (statuto_outdated); das Konto ist noch nicht identifiziert (identification_required, errors[] nennt, was fehlt): Senden Sie das Token erneut mit identification; oder der Verein verlangt von jedem Mitglied eine Adresse (address_required): Senden Sie das Token erneut mit address

Der Block identification ist nicht stimmig (validation_failed)

Ratenlimit überschritten

Medientypapplication/problem+json
object
type
erforderlich
string Format: uri
title
erforderlich
string
status
erforderlich
integer
detail
string
code
erforderlich
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Beispielerzeugt
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Interner Fehler

Medientypapplication/problem+json
object
type
erforderlich
string Format: uri
title
erforderlich
string
status
erforderlich
integer
detail
string
code
erforderlich
string
request_id
string
errors
Array<object>
object
field
string
code
string
message
string
Beispielerzeugt
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}