# Überblick

> Was die Vimine-API allen bietet, die für einen Verein entwickeln, und die Begriffe, die Sie vor dem Start kennen sollten.

URL: https://developers.vimine.network/de/start/overview/

Vimine ist die Mitgliederplattform für italienische APS und Organisationen des Dritten Sektors. Jeder Verein hat
seine Mitglieder, seine Ausweise, sein Statuto (die Satzung); mit der API kann eine Website oder eine App **des
Vereins oder für den Verein** all das nutzen, ohne etwas nachzubauen.

## Was Sie tun können

| | Wie | Mit welchen Zugangsdaten |
|---|---|---|
| **Mit Vimine anmelden** — Mitglieder kommen mit ihrem Konto auf Ihre Website | OAuth 2.1 + PKCE, Anmelde- und Einwilligungsseite auf vimine.network | ein *öffentlicher* oder *nativer* Client (nur `client_id`) |
| **Mitglieder-API** — Profil, Ausweis und Ergebnis, Beitrittsantrag, Statuto, verbundene Apps | `GET /v1/me`, `/v1/me/membership`, … mit dem Token des Mitglieds | die Berechtigungen, die das Mitglied erteilt hat |
| **Server-Integrationen** — die eigenen Systeme des Vereins lesen Ausweisstatus | `client_credentials` | ein *vertraulicher* Client (`client_id` + `client_secret`) |
| **Ausweisprüfung** — „Ist dieser Ausweis gerade aktiv?“, auch offline | `GET /v1/verify/{card_token}`, öffentliche Ed25519-Schlüssel | keine |
| **Öffentliches Profil und Beitritt** — Erscheinungsbild, Mitgliedsarten, geltendes Statuto; Beitrittsformular | `GET /v1/aps/{slug}`, einbettbare Seite `enroll` | keine |

## Begriffe

- **Verein und Slug.** Jeder Verein hat einen *Slug* (`https://app.vimine.network/enroll/<slug>`);
  Clients gehören zu einem Verein, und die Tokens, die sie ausstellen, gelten nur für diesen.
- **Client.** Eine Integration, die in der Konsole **Entwickler** der Vimine-App registriert wird: Sie hat eine Art
  (Website, native App, Server), eine Umgebung (*Test* oder *Production*), Redirect-URIs, erlaubte Origins und
  die Berechtigungen, die sie anfordern darf. Siehe [Einen Client registrieren](https://developers.vimine.network/de/start/register-a-client/).
- **Berechtigungen (Scopes).** Was ein Token darf: `profile:read`, `membership:read`, `membership:request`, …
  Das Mitglied sieht und erteilt sie auf der Einwilligungsseite. Die vollständige Tabelle steht in
  [Berechtigungen, Fehler und Limits](https://developers.vimine.network/de/guides/scopes-and-errors/).
- **Tokens.** Das Access-Token des Mitglieds gilt 10 Minuten; das Refresh-Token rotiert bei jeder Verwendung und gilt
  30 Tage (14 bei Inaktivität). Das Token eines vertraulichen Clients gilt 1 Stunde. Das SDK erneuert alles selbst.
- **`sub`.** Die Mitgliedskennung, die Sie in den Tokens und in `/v1/me` sehen (`vms_…`), ist **spezifisch für Ihren
  Verein**: dauerhaft stabil, in jedem Verein anders, nie eine interne ID.
- **Ergebnis (`verdict`).** Was am Einlass zählt: `valid`, `expired`, `statuto_required` (die erneute Annahme des
  Statuto ist überfällig) oder `inactive`.
- **Ausweis-Token.** Der digitale Ausweis ist ein signiertes Token (`vmt_…`), als QR-Code angezeigt, mit einem
  Gültigkeitsfenster; es rotiert bei jeder Statusänderung und spätestens alle 90 Tage.
- **Sandbox.** Ein Zwillingsverein mit synthetischen Mitgliedern in jedem Status, in dem Test-Clients sofort aktiv
  sind. Siehe [Sandbox und Test-Clients](https://developers.vimine.network/de/guides/sandbox/).

## Wo Sie was finden

| | |
|---|---|
| Anmelde-, Einwilligungs- und Abmeldeseiten | `https://app.vimine.network/authorize`, `/oauth/logout` |
| API | `https://api.vimine.network/v1/…` — OpenAPI-Dokument unter `/v1/openapi.json`, Discovery unter `/.well-known/oauth-authorization-server` |
| Öffentliche Ausweisschlüssel | `https://api.vimine.network/.well-known/vimine-card-keys.json` |
| SDK | `@vimine/sdk` auf npm: `@vimine/sdk` (Browser), `@vimine/sdk/react`, `@vimine/sdk/server` |
| Für einen Programmierassistenten | `https://developers.vimine.network/de/llms.txt`: der Index der Seiten als Markdown, mit den einzuhaltenden Regeln; `llms-full.txt` alles in einer Datei; jede Seite als Markdown, `/de/guides/sign-in/` → `/de/guides/sign-in.md` |

## Nächste Schritte

1. [Registrieren Sie einen Client](https://developers.vimine.network/de/start/register-a-client/) in der Konsole.
2. [Installieren Sie das SDK](https://developers.vimine.network/de/start/install/).
3. Folgen Sie [Mit Vimine anmelden](https://developers.vimine.network/de/guides/sign-in/) oder [Server-Integrationen](https://developers.vimine.network/de/guides/server/), wenn Sie
   an den eigenen Systemen des Vereins arbeiten.
