Festry
Info

Datenexport und Schnittstelle

Mit dem Datenexport bekommst du alle Daten, die Festry über dein Konto und die Profile führt, die du verwaltest: strukturiert, maschinenlesbar und mit allen hochgeladenen Dateien im Original. Du stößt ihn im Kontobereich an oder über die Schnittstelle. Diese Seite beschreibt Inhalt, Aufbau und Felder des Exports und dient als Verzeichnis der Datenstrukturen und Formate nach Art. 26 Buchst. b Data Act.

Was exportiert wird

Festry ordnet alle Daten, die es zu einem Konto führt, dreizehn Kategorien zu. Der Export folgt derselben Gliederung: je Kategorie eine JSON-Datei.

  1. 1. Konto- und Zugangsdaten Anmeldedaten ohne Passwort, Rollen und Berechtigungen, Einladungen, Anschrift Datei: 01-account.json
  2. 2. Profil- und Organisationsdaten öffentliche und interne Profilangaben, Genres, Orte und Spielstätten Datei: 02-profiles.json
  3. 3. Mitglieder- und Besetzungsdaten Bandmitglieder, Funktionen, Mitwirkende an Werken Datei: 03-members.json
  4. 4. Repertoire- und Werkdaten Titel, Setlisten, Tonaufnahmen, Videos, Tourdaten Datei: 04-repertoire.json
  5. 5. Technische Unterlagen und Anforderungen Technical, Stage und Hospitality Rider, hochgeladene Dokumente Datei: 05-technical-documents.json
  6. 6. Veranstaltungs- und Planungsdaten Veranstaltungen, Bühnen, Ablaufpläne, Backline, Anweisungen, interne Notizen, Kalender Datei: 06-events.json
  7. 7. Ausschreibungs- und Bewerbungsdaten Ausschreibungen, eingegangene und abgegebene Bewerbungen, Bewertungen Datei: 07-tenders.json
  8. 8. Kommunikationsdaten Nachrichten aus dem Veranstaltungs-Chat samt Zeitstempel und Zuordnung Datei: 08-communication.json
  9. 9. Öffentliche Seiten und deren Reichweitendaten Artist-Links, ihre Bausteine, aggregierte Aufruf- und Klickzahlen Datei: 09-public-pages.json
  10. 10. Vertrags-, Abrechnungs- und Zahlungsdaten Abonnement und dessen Verlauf, Kündigungen, Gutscheine, Rechnungen Datei: 10-billing.json
  11. 11. Buchhaltungsdaten Einnahmen und Ausgaben, Belege, Anlagegüter, Tags Festry führt für Konten keine Buchhaltungsdaten. Die Buchhaltung, die es in Festry gibt, ist die eigene Buchführung von Festry; deine Rechnungen stehen in Kategorie 10. Deshalb gibt es zu dieser Kategorie keine Datei.
  12. 12. Mediendateien hochgeladene Bilder, Audio-, Video- und PDF-Dateien im Original Datei: 12-media.json
  13. 13. Einstellungen Benachrichtigungseinstellungen und sonstige Konfiguration des Kontos Datei: 13-settings.json

Vollständig enthalten sind die Profile, die du als Administrator:in verwaltest. Profile, in denen du nur Mitglied bist, erscheinen in Kategorie 1 als Mitgliedschaft; ihre Inhalte exportiert, wer sie verwaltet.

Was nicht exportiert wird

Folgendes gehört nicht zu deinen Daten oder lässt sich aus den enthaltenen Originalen wiederherstellen und ist deshalb nicht im Export:

  • Verwaltungskonten des Festry-Teams.
  • Zustellungs- und Schnittstellenprotokolle (etwa Rückmeldungen des Zahlungs- und des Mailversands).
  • Plattformweite Einstellungen, Zähler und Sperrlisten, etwa reservierte Seitennamen oder der Zähler der Kundennummern.
  • Die Tarif-Stammdaten - das Angebot von Festry. Welchen Tarif du gebucht hast, steht in Kategorie 10.
  • Inhalte von Festry selbst, etwa Rechtstexte und Stimmen auf der Startseite.
  • Anonyme Statistiken ohne Bezug zu einem Konto.
  • Die eigene Buchführung von Festry.
  • Melde- und Kontaktvorgänge. Sie haben eigene Aufbewahrungsfristen; Auskunft darüber gibt es auf Anfrage über das Kontaktformular.
  • Vormerkungen für den Newsletter. Sie hängen an einer E-Mail-Adresse, nicht an einem Konto, und lassen sich über den Abmeldelink jeder Mail beenden.
  • Löschprotokolle - sie entstehen erst, wenn ein Konto gelöscht ist.
  • Sicherheitsdaten wie Passwort, Zwei-Faktor-Geheimnisse und die Zugangsschlüssel (API-Tokens) der Schnittstelle.
  • Abgeleitete Dateien wie Vorschaubilder und Umrechnungen; sie lassen sich aus den Originalen neu erzeugen.

Aufbau des ZIP

Der Export ist ein ZIP-Archiv. Darin liegen:

  • README.md erklärt den Export in deiner Sprache.
  • manifest.json nennt Kennung, Zeitpunkt, enthaltene Profile, den Stand jeder Kategorie und jede Datei mit Größe und SHA-256-Prüfsumme.
  • 01-account.json bis 13-settings.json: je Kategorie eine Datei. Kategorien ohne Daten fehlen, ihr Stand steht im Manifest.
  • files/ enthält die hochgeladenen Originale, die archivierten Rechnungen und Kalender im iCalendar-Format.
  • chat/ enthält je Veranstaltungs-Chat einen Ordner mit Verlauf, Teilnehmenden, eigenen Lesezeichen und Anhängen.

Formate

  • Strukturierte Daten als JSON (RFC 8259), Zeichensatz UTF-8.
  • Zeitpunkte nach ISO 8601 mit Zeitzone, z. B. 2026-10-06T14:30:00+02:00.
  • Tagesangaben ohne Uhrzeit als YYYY-MM-DD.
  • Beträge als Ganzzahl in Cent mit Währungscode nach ISO 4217, z. B. {"amount_cents": 129900, "currency": "EUR"}.
  • Koordinaten in Dezimalgrad (WGS 84), als Text mit fester Stellenzahl.
  • Übersetzbare Texte als Objekt mit allen Sprachfassungen, Sprachcodes nach BCP 47, z. B. {"de": "…", "en": "…"}.
  • Ein leeres Objekt erscheint als leere Liste [].
  • Kalender zusätzlich im iCalendar-Format (RFC 5545).
  • Hochgeladene Dateien unverändert im Original, mit SHA-256-Prüfsumme im Manifest.

Dateien und Felder

Je Datei ihre Felder mit Name, Typ und ob sie leer (null) sein können. Verschachtelte Felder stehen mit ihrem ganzen Pfad, [] steht für die Einträge einer Liste. Platzhalter in Dateipfaden stehen in geschweiften Klammern.

README.md

Format: Markdown

Die Erklärung des Exports in der Sprache des Kontos: enthaltene Profile, Aufbau, Formate, Kategorien und was nicht enthalten ist.

manifest.json

Format: JSON

Das Verzeichnis des Exports.

Feld Typ Leer möglich Erklärung
format_version Ganzzahl nein Version des Exportformats. Sie steigt, wenn sich der Aufbau ändert.
export_id Text nein
generated_at Zeitpunkt nein
requested_at Zeitpunkt ja
requested_by Objekt nein
requested_by.user_id Text nein
requested_by.tenant_user_id Text nein
requested_by.email Text nein
profiles Liste von Objekt nein Die vollständig enthaltenen Profile.
profiles[].type Text (artist, promoter) nein
profiles[].id Text nein
profiles[].name Text ja
locale Text nein Sprache der README und der Texte im Export.
formats Objekt mit Text nein Die verwendeten Formate, als Kurzbeschreibung.
categories Liste von Objekt nein
categories[].number Ganzzahl nein
categories[].key Text nein
categories[].label Text nein
categories[].status Text (included, pending, not_applicable, missing) nein included (Datei enthalten), not_applicable (keine Daten dieser Art), pending oder missing.
categories[].file Text ja
files Liste von Objekt nein Jede Datei unter files/ und chat/ mit Größe und Prüfsumme.
files[].path Text nein
files[].size_bytes Ganzzahl nein
files[].sha256 Text nein SHA-256-Prüfsumme der Datei, hexadezimal.

01-account.json

Format: JSON · Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.: Konto- und Zugangsdaten

Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.

Feld Typ Leer möglich Erklärung
category Objekt nein Nummer, Schlüssel und Name der Kategorie.
category.number Ganzzahl nein
category.key Text nein
category.label Text nein
generated_at Zeitpunkt nein
data Objekt nein
data.account Objekt nein Das Konto zur Anmeldung. Passwort und Zwei-Faktor-Geheimnisse sind nicht enthalten.
data.account.user_id Text nein
data.account.name Text nein
data.account.email Text nein
data.account.locale Text ja Sprache des Kontos (de oder en).
data.account.email_verified_at Zeitpunkt ja
data.account.created_at Zeitpunkt ja
data.account.updated_at Zeitpunkt ja
data.account.two_factor_enabled Wahrheitswert nein
data.person Objekt nein Die Person hinter dem Konto.
data.person.tenant_user_id Text nein
data.person.customer_number Text ja
data.person.salutation Text ja
data.person.first_name Text ja
data.person.last_name Text ja
data.person.created_at Zeitpunkt ja
data.organisation Objekt ja Die Organisation, zu der das Konto gehört.
data.organisation.tenant_id Text nein
data.organisation.tenant_number Text ja
data.organisation.tenant_name Text ja
data.organisation.address Objekt ja
data.organisation.address.salutation Text ja
data.organisation.address.first_name Text ja
data.organisation.address.last_name Text ja
data.organisation.address.company Text ja
data.organisation.address.vat_number Text ja
data.organisation.address.street Text ja
data.organisation.address.street_number Text ja
data.organisation.address.zip Text ja
data.organisation.address.city Text ja
data.organisation.address.country Text ja Land wie eingegeben, meist als Ländercode.
data.organisation.address.phone Text ja
data.organisation.address.mobile Text ja
data.organisation.address.latitude Dezimalzahl ja Dezimalgrad (WGS 84) als Text.
data.organisation.address.longitude Dezimalzahl ja Dezimalgrad (WGS 84) als Text.
data.memberships Liste von Objekt nein Alle Profile, denen das Konto angehört, mit Rolle.
data.memberships[].profile_type Text (artist, promoter) nein
data.memberships[].profile_id Text nein
data.memberships[].profile_name Text ja
data.memberships[].role Text (admin, manager, member) nein
data.memberships[].joined_at Zeitpunkt ja
data.memberships[].deactivated_at Zeitpunkt ja
data.memberships[].included_in_full Wahrheitswert nein true, wenn das Profil vollständig im Export steht (Rolle Administrator:in).
data.billing_addresses Liste von Objekt nein
data.billing_addresses[].profile_type Text (artist, promoter) nein
data.billing_addresses[].profile_id Text nein
data.billing_addresses[].salutation Text ja
data.billing_addresses[].first_name Text ja
data.billing_addresses[].last_name Text ja
data.billing_addresses[].company Text ja
data.billing_addresses[].vat_number Text ja
data.billing_addresses[].street Text ja
data.billing_addresses[].street_number Text ja
data.billing_addresses[].zip Text ja
data.billing_addresses[].city Text ja
data.billing_addresses[].country Text ja Land wie eingegeben, meist als Ländercode.
data.billing_addresses[].phone Text ja
data.billing_addresses[].mobile Text ja
data.billing_addresses[].latitude Dezimalzahl ja Dezimalgrad (WGS 84) als Text.
data.billing_addresses[].longitude Dezimalzahl ja Dezimalgrad (WGS 84) als Text.
data.invitations_received Liste von Objekt nein
data.invitations_received[].invitation_id Text nein
data.invitations_received[].profile_type Text (artist, promoter) ja
data.invitations_received[].profile_name Text ja
data.invitations_received[].role Text (admin, manager, member) nein
data.invitations_received[].created_at Zeitpunkt ja
data.invitations_received[].expires_at Zeitpunkt nein
data.invitations_received[].accepted_at Zeitpunkt ja
data.invitations_sent Liste von Objekt nein
data.invitations_sent[].invitation_id Text nein
data.invitations_sent[].profile_type Text (artist, promoter) ja
data.invitations_sent[].profile_name Text ja
data.invitations_sent[].role Text (admin, manager, member) nein
data.invitations_sent[].created_at Zeitpunkt ja
data.invitations_sent[].expires_at Zeitpunkt nein
data.invitations_sent[].accepted_at Zeitpunkt ja
data.invitations_sent[].email Text nein
data.data_exports Liste von Objekt nein
data.data_exports[].account_data_export_id Text nein
data.data_exports[].status Text (pending, processing, ready, expired, failed) nein
data.data_exports[].created_at Zeitpunkt ja
data.data_exports[].completed_at Zeitpunkt ja
data.data_exports[].expires_at Zeitpunkt ja
data.data_exports[].downloaded_at Zeitpunkt ja
data.terms_acceptances Liste von Objekt nein
data.terms_acceptances[].terms_acceptance_id Text nein
data.terms_acceptances[].context Text nein Wo zugestimmt wurde, etwa bei der Registrierung.
data.terms_acceptances[].consent_text Text nein Der Wortlaut, dem zugestimmt wurde.
data.terms_acceptances[].legal_document_id Text ja
data.terms_acceptances[].terms_revision Ganzzahl ja
data.terms_acceptances[].terms_published_at Zeitpunkt ja
data.terms_acceptances[].locale Text nein
data.terms_acceptances[].accepted_at Zeitpunkt nein

02-profiles.json

Format: JSON · Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.: Profil- und Organisationsdaten

Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.

Feld Typ Leer möglich Erklärung
category Objekt nein Nummer, Schlüssel und Name der Kategorie.
category.number Ganzzahl nein
category.key Text nein
category.label Text nein
generated_at Zeitpunkt nein
data Objekt nein
data.artists Liste von Objekt nein
data.artists[].artist_id Text nein
data.artists[].name Text ja
data.artists[].biography Sprachfassungen nein
data.artists[].spotify_id Text ja
data.artists[].social_media_instagram Text ja
data.artists[].social_media_facebook Text ja
data.artists[].social_media_tiktok Text ja
data.artists[].founded_at Zeitpunkt ja
data.artists[].founders Liste von Text ja
data.artists[].phone Text ja
data.artists[].email Text ja
data.artists[].zip Text ja
data.artists[].city Text ja
data.artists[].country Text ja Land wie eingegeben, meist als Ländercode.
data.artists[].latitude Dezimalzahl ja Dezimalgrad (WGS 84) als Text.
data.artists[].longitude Dezimalzahl ja Dezimalgrad (WGS 84) als Text.
data.artists[].available_for_booking Wahrheitswert nein
data.artists[].visible_in_search Wahrheitswert nein
data.artists[].fee_is_public Wahrheitswert nein
data.artists[].created_at Zeitpunkt ja
data.artists[].updated_at Zeitpunkt ja
data.artists[].fee Betrag ja Die Gage des Profils; null heißt nach Vereinbarung.
data.artists[].genres Liste von Objekt nein
data.artists[].genres[].name Text nein
data.artists[].genres[].is_primary Wahrheitswert nein Das Hauptgenre des Profils.
data.artists[].team Liste von Objekt nein Die Mitglieder des Profils mit Rolle.
data.artists[].team[].name Text ja
data.artists[].team[].email Text ja
data.artists[].team[].role Text (admin, manager, member) nein
data.artists[].team[].joined_at Zeitpunkt ja
data.artists[].files Liste von Text nein Pfade der zugehörigen Originale im ZIP.
data.promoters Liste von Objekt nein
data.promoters[].promoter_id Text nein
data.promoters[].name Text ja
data.promoters[].contact_first_name Text ja
data.promoters[].contact_last_name Text ja
data.promoters[].website_url Text ja
data.promoters[].created_at Zeitpunkt ja
data.promoters[].updated_at Zeitpunkt ja
data.promoters[].team Liste von Objekt nein Die Mitglieder des Profils mit Rolle.
data.promoters[].team[].name Text ja
data.promoters[].team[].email Text ja
data.promoters[].team[].role Text (admin, manager, member) nein
data.promoters[].team[].joined_at Zeitpunkt ja
data.promoters[].files Liste von Text nein Pfade der zugehörigen Originale im ZIP.
data.venues Liste von Objekt nein Spielstätten der eigenen Veranstaltungen, als Bezug für Kategorie 6.
data.venues[].location_id Text nein
data.venues[].name Text nein
data.venues[].website Text ja
data.venues[].email Text ja
data.venues[].address Objekt ja
data.venues[].address.street Text ja
data.venues[].address.street_number Text ja
data.venues[].address.zip Text ja
data.venues[].address.city Text ja
data.venues[].address.country Text ja Land wie eingegeben, meist als Ländercode.
data.venues[].address.latitude Dezimalzahl ja Dezimalgrad (WGS 84) als Text.
data.venues[].address.longitude Dezimalzahl ja Dezimalgrad (WGS 84) als Text.
data.venues[].stages Liste von Objekt nein
data.venues[].stages[].stage_id Text nein
data.venues[].stages[].name Text nein
data.venues[].stages[].capacity Ganzzahl ja

03-members.json

Format: JSON · Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.: Mitglieder- und Besetzungsdaten

Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.

Feld Typ Leer möglich Erklärung
category Objekt nein Nummer, Schlüssel und Name der Kategorie.
category.number Ganzzahl nein
category.key Text nein
category.label Text nein
generated_at Zeitpunkt nein
data Objekt nein
data.artists Liste von Objekt nein
data.artists[].artist_id Text nein
data.artists[].artist_name Text ja
data.artists[].members Liste von Objekt nein
data.artists[].members[].artist_member_id Text nein
data.artists[].members[].name Text ja
data.artists[].members[].gema_first_name Text ja Name für die GEMA-Meldung, wenn er vom Anzeigenamen abweicht.
data.artists[].members[].gema_last_name Text ja Name für die GEMA-Meldung, wenn er vom Anzeigenamen abweicht.
data.artists[].members[].instrument Sprachfassungen nein
data.artists[].members[].description Sprachfassungen nein
data.artists[].members[].active Wahrheitswert nein
data.artists[].members[].created_at Zeitpunkt ja
data.artists[].song_contributors Liste von Objekt nein Die Mitwirkenden an den Werken der Setlisten.
data.artists[].song_contributors[].artist_song_contributor_id Text nein
data.artists[].song_contributors[].artist_song_id Text nein Kennung eines Titels aus Kategorie 4.
data.artists[].song_contributors[].artist_member_id Text ja Kennung eines Bandmitglieds, wenn die mitwirkende Person eines ist.
data.artists[].song_contributors[].first_name Text ja
data.artists[].song_contributors[].last_name Text ja
data.artists[].song_contributors[].type Text (composer, lyricist) nein composer (Komposition) oder lyricist (Text).
data.artists[].song_contributors[].gema_relevant Wahrheitswert nein Ob die Mitwirkung für die GEMA-Meldung zählt.
data.artists[].song_contributors[].sort_order Ganzzahl nein

04-repertoire.json

Format: JSON · Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.: Repertoire- und Werkdaten

Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.

Feld Typ Leer möglich Erklärung
category Objekt nein Nummer, Schlüssel und Name der Kategorie.
category.number Ganzzahl nein
category.key Text nein
category.label Text nein
generated_at Zeitpunkt nein
data Objekt nein
data.artists Liste von Objekt nein
data.artists[].artist_id Text nein
data.artists[].artist_name Text ja
data.artists[].songs Liste von Objekt nein
data.artists[].songs[].artist_song_id Text nein
data.artists[].songs[].title Text nein
data.artists[].songs[].key Text ja Tonart.
data.artists[].songs[].description Text ja
data.artists[].songs[].duration_seconds Ganzzahl ja
data.artists[].songs[].musician_count Ganzzahl ja
data.artists[].songs[].is_active Wahrheitswert nein
data.artists[].songs[].created_at Zeitpunkt ja
data.artists[].setlists Liste von Objekt nein
data.artists[].setlists[].artist_setlist_id Text nein
data.artists[].setlists[].name Text nein
data.artists[].setlists[].event_name Text ja
data.artists[].setlists[].description Text ja
data.artists[].setlists[].event_id Text ja Kennung einer Veranstaltung aus Kategorie 6.
data.artists[].setlists[].created_at Zeitpunkt ja
data.artists[].setlists[].songs Liste von Objekt nein
data.artists[].setlists[].songs[].artist_song_id Text nein Kennung eines Titels aus Kategorie 4.
data.artists[].setlists[].songs[].satzangabe Text ja Angabe zum Satz (Bearbeitung) für die GEMA-Meldung.
data.artists[].setlists[].songs[].sort_order Ganzzahl nein
data.artists[].tracks Liste von Objekt nein Tonaufnahmen; die Audiodatei liegt im Original unter files.
data.artists[].tracks[].artist_track_id Text nein
data.artists[].tracks[].order Ganzzahl ja
data.artists[].tracks[].title Text nein
data.artists[].tracks[].album Text ja
data.artists[].tracks[].duration_seconds Ganzzahl ja
data.artists[].tracks[].available_in_profile Wahrheitswert nein
data.artists[].tracks[].available_for_application Wahrheitswert nein
data.artists[].tracks[].available_on_link_page Wahrheitswert nein
data.artists[].tracks[].published_at Zeitpunkt ja
data.artists[].tracks[].created_at Zeitpunkt ja
data.artists[].tracks[].files Liste von Text nein Pfade der zugehörigen Originale im ZIP.
data.artists[].videos Liste von Objekt nein
data.artists[].videos[].artist_video_id Text nein
data.artists[].videos[].order Ganzzahl ja
data.artists[].videos[].type Text (youtube, vimeo) nein
data.artists[].videos[].title Text nein
data.artists[].videos[].album Text ja
data.artists[].videos[].platform_id Text nein Kennung des Videos auf der Plattform (etwa YouTube).
data.artists[].videos[].available_in_profile Wahrheitswert nein
data.artists[].videos[].available_for_application Wahrheitswert nein
data.artists[].videos[].published_at Zeitpunkt ja
data.artists[].videos[].created_at Zeitpunkt ja
data.artists[].tour_dates Liste von Objekt nein
data.artists[].tour_dates[].artist_tour_date_id Text nein
data.artists[].tour_dates[].title Text nein
data.artists[].tour_dates[].city Text ja
data.artists[].tour_dates[].country Text ja Land wie eingegeben, meist als Ländercode.
data.artists[].tour_dates[].starts_at Zeitpunkt nein
data.artists[].tour_dates[].ticket_url Text ja
data.artists[].tour_dates[].sold_out Wahrheitswert nein
data.artists[].tour_dates[].source Text (manual, bandsintown) nein Woher der Termin kommt: von Hand angelegt oder übernommen.
data.artists[].tour_dates[].external_id Text ja Kennung des Termins beim Dienst, von dem er übernommen wurde.
data.artists[].tour_dates_ics_file Text ja Pfad der iCalendar-Datei im ZIP.

files/tour-dates/{artist_id}.ics

Format: iCalendar · Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.: Repertoire- und Werkdaten

Die Tourdaten eines Artist-Profils als Kalender.

05-technical-documents.json

Format: JSON · Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.: Technische Unterlagen und Anforderungen

Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.

Feld Typ Leer möglich Erklärung
category Objekt nein Nummer, Schlüssel und Name der Kategorie.
category.number Ganzzahl nein
category.key Text nein
category.label Text nein
generated_at Zeitpunkt nein
data Objekt nein
data.artists Liste von Objekt nein
data.artists[].artist_id Text nein
data.artists[].artist_name Text ja
data.artists[].stage_rider Objekt ja
data.artists[].stage_rider.source Text (upload, generated) nein Ob der Rider im Baukasten erstellt oder als Datei hochgeladen wurde.
data.artists[].stage_rider.travel_party JSON nein Die Reisegruppe als Liste, wie im Baukasten eingegeben.
data.artists[].stage_rider.introduction Sprachfassungen nein
data.artists[].stage_rider.guestlist Sprachfassungen nein
data.artists[].stage_rider.catering Sprachfassungen nein
data.artists[].stage_rider.drinks Sprachfassungen nein
data.artists[].stage_rider.parking Sprachfassungen nein
data.artists[].stage_rider.contact Sprachfassungen nein
data.artists[].stage_rider.available_in_press_package Wahrheitswert nein
data.artists[].stage_rider.updated_at Zeitpunkt ja
data.artists[].tech_rider Objekt ja
data.artists[].tech_rider.source Text (upload, generated) nein Ob der Rider im Baukasten erstellt oder als Datei hochgeladen wurde.
data.artists[].tech_rider.introduction Sprachfassungen nein
data.artists[].tech_rider.tech_specs JSON nein Die Technikliste als Liste von Einträgen mit Sprachfassungen, wie im Baukasten eingegeben.
data.artists[].tech_rider.multicore JSON nein Die Kanalbelegung als Liste aus Kanal und Beschreibung (Sprachfassungen).
data.artists[].tech_rider.available_in_press_package Wahrheitswert nein
data.artists[].tech_rider.updated_at Zeitpunkt ja
data.artists[].hospitality_rider Objekt ja
data.artists[].hospitality_rider.source Text (upload, generated) nein Ob der Rider im Baukasten erstellt oder als Datei hochgeladen wurde.
data.artists[].hospitality_rider.introduction Sprachfassungen nein
data.artists[].hospitality_rider.catering_items JSON nein Die Cateringwünsche als Liste, wie im Baukasten eingegeben.
data.artists[].hospitality_rider.accommodation Sprachfassungen nein
data.artists[].hospitality_rider.travel_arrival Sprachfassungen nein
data.artists[].hospitality_rider.available_in_press_package Wahrheitswert nein
data.artists[].hospitality_rider.updated_at Zeitpunkt ja
data.artists[].documents Liste von Objekt nein
data.artists[].documents[].artist_document_id Text nein
data.artists[].documents[].type Text (image, contract, bill, id, manual) nein
data.artists[].documents[].title Text nein
data.artists[].documents[].description Text nein
data.artists[].documents[].available_in_presspack Wahrheitswert nein
data.artists[].documents[].available_for_application Wahrheitswert nein
data.artists[].documents[].created_at Zeitpunkt ja
data.artists[].documents[].files Liste von Text nein Pfade der zugehörigen Originale im ZIP.
data.promoters Liste von Objekt nein
data.promoters[].promoter_id Text nein
data.promoters[].promoter_name Text ja
data.promoters[].documents Liste von Objekt nein
data.promoters[].documents[].promoter_document_id Text nein
data.promoters[].documents[].type Text (image, contract, bill, id, manual) nein
data.promoters[].documents[].title Text nein
data.promoters[].documents[].description Text ja
data.promoters[].documents[].created_at Zeitpunkt ja
data.promoters[].documents[].files Liste von Text nein Pfade der zugehörigen Originale im ZIP.
data.promoters[].event_documents Liste von Objekt nein
data.promoters[].event_documents[].event_document_id Text nein
data.promoters[].event_documents[].event_id Text nein Kennung einer Veranstaltung aus Kategorie 6.
data.promoters[].event_documents[].type Text (image, contract, bill, id, manual) nein
data.promoters[].event_documents[].title Text nein
data.promoters[].event_documents[].description Text ja
data.promoters[].event_documents[].created_at Zeitpunkt ja
data.promoters[].event_documents[].files Liste von Text nein Pfade der zugehörigen Originale im ZIP.

06-events.json

Format: JSON · Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.: Veranstaltungs- und Planungsdaten

Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.

Feld Typ Leer möglich Erklärung
category Objekt nein Nummer, Schlüssel und Name der Kategorie.
category.number Ganzzahl nein
category.key Text nein
category.label Text nein
generated_at Zeitpunkt nein
data Objekt nein
data.organised_events Liste von Objekt nein Veranstaltungen der verwalteten Veranstalterprofile, vollständig.
data.organised_events[].promoter_id Text nein
data.organised_events[].promoter_name Text ja
data.organised_events[].events Liste von Objekt nein
data.organised_events[].events[].event_id Text nein
data.organised_events[].events[].name Text nein
data.organised_events[].events[].description_short Sprachfassungen nein
data.organised_events[].events[].description Sprachfassungen nein
data.organised_events[].events[].starts_at Zeitpunkt nein
data.organised_events[].events[].ends_at Zeitpunkt nein
data.organised_events[].events[].ticket_url Text ja
data.organised_events[].events[].sold_out Wahrheitswert nein
data.organised_events[].events[].published Wahrheitswert nein
data.organised_events[].events[].cancelled Wahrheitswert nein
data.organised_events[].events[].closed Wahrheitswert nein
data.organised_events[].events[].created_at Zeitpunkt ja
data.organised_events[].events[].stages Liste von Objekt nein
data.organised_events[].events[].stages[].stage_id Text nein
data.organised_events[].events[].stages[].name Text nein
data.organised_events[].events[].stages[].location_id Text nein Kennung einer Spielstätte aus Kategorie 2.
data.organised_events[].events[].artists Liste von Objekt nein
data.organised_events[].events[].artists[].artist_id Text nein
data.organised_events[].events[].artists[].artist_name Text ja
data.organised_events[].events[].artists[].status Text (invited, booked, declined) nein
data.organised_events[].events[].artists[].responded_at Zeitpunkt ja
data.organised_events[].events[].artists[].fee Betrag ja Die Gage dieser Buchung; null heißt nach Vereinbarung.
data.organised_events[].events[].artists[].proposed_fee Objekt ja Ein offener Vorschlag zur Gage, sonst null.
data.organised_events[].events[].artists[].proposed_fee.fee Betrag ja
data.organised_events[].events[].artists[].proposed_fee.proposed_at Zeitpunkt ja
data.organised_events[].events[].running_order Liste von Objekt nein Der Ablaufplan mit Spiel-, Umbau- und Get-In-Zeiten.
data.organised_events[].events[].running_order[].running_order_entry_id Text nein
data.organised_events[].events[].running_order[].stage_id Text nein
data.organised_events[].events[].running_order[].type Text (performance, changeover, get_in) nein
data.organised_events[].events[].running_order[].title Text ja
data.organised_events[].events[].running_order[].artist_id Text ja
data.organised_events[].events[].running_order[].starts_at Zeitpunkt nein
data.organised_events[].events[].running_order[].ends_at Zeitpunkt ja
data.organised_events[].events[].backline Liste von Objekt nein Benötigtes Equipment und wer es mitbringt.
data.organised_events[].events[].backline[].event_backline_item_id Text nein
data.organised_events[].events[].backline[].name Text nein
data.organised_events[].events[].backline[].quantity_needed Ganzzahl nein
data.organised_events[].events[].backline[].assignments Liste von Objekt nein
data.organised_events[].events[].backline[].assignments[].artist_id Text nein
data.organised_events[].events[].backline[].assignments[].artist_name Text ja
data.organised_events[].events[].backline[].assignments[].quantity Ganzzahl nein
data.organised_events[].events[].instructions Objekt ja Die Anweisungen der Veranstaltung an die Artists.
data.organised_events[].events[].instructions.body Text ja
data.organised_events[].events[].instructions.updated_at Zeitpunkt ja
data.organised_events[].events[].internal_notes Objekt ja Die interne Notiz der Seite der Veranstalter:innen.
data.organised_events[].events[].internal_notes.body Text ja
data.organised_events[].events[].internal_notes.updated_at Zeitpunkt ja
data.organised_events[].events[].declines Liste von Objekt nein
data.organised_events[].events[].declines[].artist_id Text nein
data.organised_events[].events[].declines[].artist_name Text ja
data.organised_events[].events[].declines[].declined_at Zeitpunkt nein
data.organised_events[].events[].files Liste von Text nein Pfade der zugehörigen Originale im ZIP.
data.participations Liste von Objekt nein Teilnahmen der verwalteten Artist-Profile an Veranstaltungen.
data.participations[].artist_id Text nein
data.participations[].artist_name Text ja
data.participations[].events Liste von Objekt nein
data.participations[].events[].event_id Text nein
data.participations[].events[].name Text nein
data.participations[].events[].starts_at Zeitpunkt nein
data.participations[].events[].ends_at Zeitpunkt nein
data.participations[].events[].cancelled Wahrheitswert nein
data.participations[].events[].promoter_name Text ja
data.participations[].events[].status Text (invited, booked, declined) nein
data.participations[].events[].responded_at Zeitpunkt ja
data.participations[].events[].fee Betrag ja Die Gage dieser Buchung; null heißt nach Vereinbarung.
data.participations[].events[].proposed_fee Objekt ja Ein offener Vorschlag zur Gage, sonst null.
data.participations[].events[].proposed_fee.fee Betrag ja
data.participations[].events[].proposed_fee.proposed_at Zeitpunkt ja
data.participations[].events[].running_order Liste von Objekt nein
data.participations[].events[].running_order[].stage_id Text nein
data.participations[].events[].running_order[].type Text (performance, changeover, get_in) nein
data.participations[].events[].running_order[].title Text ja
data.participations[].events[].running_order[].starts_at Zeitpunkt nein
data.participations[].events[].running_order[].ends_at Zeitpunkt ja
data.participations[].events[].backline Liste von Objekt nein
data.participations[].events[].backline[].item Text ja
data.participations[].events[].backline[].quantity Ganzzahl nein
data.participations[].events[].instructions Objekt ja Die Anweisungen der Veranstaltung an die Artists.
data.participations[].events[].instructions.body Text ja
data.participations[].events[].instructions.updated_at Zeitpunkt ja
data.participations[].events[].internal_notes Objekt ja Die interne Notiz der Seite der Künstler:innen.
data.participations[].events[].internal_notes.body Text ja
data.participations[].events[].internal_notes.updated_at Zeitpunkt ja
data.participations[].calendars Liste von Objekt nein
data.participations[].calendars[].calendar_id Text nein
data.participations[].calendars[].name Text nein
data.participations[].calendars[].color Text nein
data.participations[].calendars[].type Text (subscription, internal) nein
data.participations[].calendars[].is_published Wahrheitswert nein
data.participations[].calendars[].description Text ja
data.participations[].calendars[].created_at Zeitpunkt ja
data.participations[].calendars[].ics_file Text nein Pfad der iCalendar-Datei im ZIP.
data.participations[].calendars[].entries Liste von Objekt nein
data.participations[].calendars[].entries[].calendar_event_id Text nein
data.participations[].calendars[].entries[].title Text nein
data.participations[].calendars[].entries[].description Text ja
data.participations[].calendars[].entries[].location Text ja
data.participations[].calendars[].entries[].starts_at Zeitpunkt nein
data.participations[].calendars[].entries[].ends_at Zeitpunkt nein
data.participations[].calendars[].entries[].all_day Wahrheitswert nein
data.participations[].calendars[].entries[].reminder_minutes_before Ganzzahl ja
data.participations[].calendars[].entries[].source Text (imported, manual, festry_booking, running_order) nein
data.participations[].calendars[].entries[].festry_event_id Text ja Kennung einer Veranstaltung aus Kategorie 6.

files/calendars/{calendar_id}.ics

Format: iCalendar · Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.: Veranstaltungs- und Planungsdaten

Ein Kalender eines Artist-Profils mit allen Einträgen.

07-tenders.json

Format: JSON · Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.: Ausschreibungs- und Bewerbungsdaten

Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.

Feld Typ Leer möglich Erklärung
category Objekt nein Nummer, Schlüssel und Name der Kategorie.
category.number Ganzzahl nein
category.key Text nein
category.label Text nein
generated_at Zeitpunkt nein
data Objekt nein
data.tenders Liste von Objekt nein
data.tenders[].promoter_id Text nein
data.tenders[].promoter_name Text ja
data.tenders[].tenders Liste von Objekt nein
data.tenders[].tenders[].event_tender_id Text nein
data.tenders[].tenders[].event_id Text nein Kennung einer Veranstaltung aus Kategorie 6.
data.tenders[].tenders[].slug Text nein
data.tenders[].tenders[].shortcode Text nein Kurzcode der öffentlichen Bewerbungsadresse.
data.tenders[].tenders[].starts_at Zeitpunkt nein Zeitraum, in dem Bewerbungen möglich sind.
data.tenders[].tenders[].ends_at Zeitpunkt nein Zeitraum, in dem Bewerbungen möglich sind.
data.tenders[].tenders[].closed Wahrheitswert nein
data.tenders[].tenders[].closed_at Zeitpunkt ja
data.tenders[].tenders[].evaluation_closed_at Zeitpunkt ja
data.tenders[].tenders[].paused Wahrheitswert nein
data.tenders[].tenders[].require_youtube Wahrheitswert nein
data.tenders[].tenders[].require_social_media Wahrheitswert nein
data.tenders[].tenders[].radius_km Ganzzahl ja Umkreis in Kilometern, aus dem Bewerbungen kommen dürfen.
data.tenders[].tenders[].created_at Zeitpunkt ja
data.tenders[].tenders[].event_name Text ja
data.tenders[].tenders[].location Objekt ja
data.tenders[].tenders[].location.zip Text ja
data.tenders[].tenders[].location.city Text ja
data.tenders[].tenders[].location.country Text ja Land wie eingegeben, meist als Ländercode.
data.tenders[].tenders[].location.latitude Dezimalzahl ja Dezimalgrad (WGS 84) als Text.
data.tenders[].tenders[].location.longitude Dezimalzahl ja Dezimalgrad (WGS 84) als Text.
data.tenders[].tenders[].rating_closures Liste von Objekt nein Wer im Team die Bewertung abgeschlossen hat.
data.tenders[].tenders[].rating_closures[].tenant_user_id Text nein
data.tenders[].tenders[].rating_closures[].closed_at Zeitpunkt nein
data.tenders[].tenders[].applications Liste von Objekt nein
data.tenders[].tenders[].applications[].event_tender_application_id Text nein
data.tenders[].tenders[].applications[].artist_id Text ja Kennung des Artist-Profils; null bei einer Bewerbung ohne Profil.
data.tenders[].tenders[].applications[].email Text nein
data.tenders[].tenders[].applications[].contact_phone Text nein
data.tenders[].tenders[].applications[].external_artist_name Text ja Die Felder external_* stammen aus einer Bewerbung ohne Profil.
data.tenders[].tenders[].applications[].external_description Text ja
data.tenders[].tenders[].applications[].external_website_url Text ja
data.tenders[].tenders[].applications[].external_youtube_url Text ja
data.tenders[].tenders[].applications[].external_instagram Text ja
data.tenders[].tenders[].applications[].external_facebook Text ja
data.tenders[].tenders[].applications[].external_tiktok Text ja
data.tenders[].tenders[].applications[].external_zip Text ja
data.tenders[].tenders[].applications[].external_city Text ja
data.tenders[].tenders[].applications[].external_country Text ja Land wie eingegeben, meist als Ländercode.
data.tenders[].tenders[].applications[].external_latitude Dezimalzahl ja Dezimalgrad (WGS 84) als Text.
data.tenders[].tenders[].applications[].external_longitude Dezimalzahl ja Dezimalgrad (WGS 84) als Text.
data.tenders[].tenders[].applications[].overnight_needed Wahrheitswert nein
data.tenders[].tenders[].applications[].submitted_at Zeitpunkt nein
data.tenders[].tenders[].applications[].status Text (submitted, accepted, rejected, withdrawn) nein
data.tenders[].tenders[].applications[].decided_at Zeitpunkt ja
data.tenders[].tenders[].applications[].decision_note Text ja
data.tenders[].tenders[].applications[].email_verified_at Zeitpunkt ja
data.tenders[].tenders[].applications[].data_erased_at Zeitpunkt ja Wann die Angaben einer abgeschlossenen Bewerbung gelöscht wurden.
data.tenders[].tenders[].applications[].artist_track_id Text ja Kennung der beigelegten Tonaufnahme aus Kategorie 4.
data.tenders[].tenders[].applications[].proposed_fee Betrag nein Die vorgeschlagene Gage der Bewerbung.
data.tenders[].tenders[].applications[].genres Liste von Text nein
data.tenders[].tenders[].applications[].files Liste von Text nein Pfade der zugehörigen Originale im ZIP.
data.tenders[].tenders[].applications[].ratings Liste von Objekt nein Die Bewertungen des Teams, 1 bis 5 Sterne.
data.tenders[].tenders[].applications[].ratings[].tenant_user_id Text nein
data.tenders[].tenders[].applications[].ratings[].stars Ganzzahl nein
data.tenders[].tenders[].applications[].ratings[].created_at Zeitpunkt ja
data.applications_submitted Liste von Objekt nein
data.applications_submitted[].artist_id Text nein
data.applications_submitted[].artist_name Text ja
data.applications_submitted[].applications Liste von Objekt nein
data.applications_submitted[].applications[].event_name Text ja
data.applications_submitted[].applications[].event_starts_at Zeitpunkt ja
data.applications_submitted[].applications[].event_tender_application_id Text nein
data.applications_submitted[].applications[].artist_id Text ja Kennung des Artist-Profils; null bei einer Bewerbung ohne Profil.
data.applications_submitted[].applications[].email Text nein
data.applications_submitted[].applications[].contact_phone Text nein
data.applications_submitted[].applications[].external_artist_name Text ja Die Felder external_* stammen aus einer Bewerbung ohne Profil.
data.applications_submitted[].applications[].external_description Text ja
data.applications_submitted[].applications[].external_website_url Text ja
data.applications_submitted[].applications[].external_youtube_url Text ja
data.applications_submitted[].applications[].external_instagram Text ja
data.applications_submitted[].applications[].external_facebook Text ja
data.applications_submitted[].applications[].external_tiktok Text ja
data.applications_submitted[].applications[].external_zip Text ja
data.applications_submitted[].applications[].external_city Text ja
data.applications_submitted[].applications[].external_country Text ja Land wie eingegeben, meist als Ländercode.
data.applications_submitted[].applications[].external_latitude Dezimalzahl ja Dezimalgrad (WGS 84) als Text.
data.applications_submitted[].applications[].external_longitude Dezimalzahl ja Dezimalgrad (WGS 84) als Text.
data.applications_submitted[].applications[].overnight_needed Wahrheitswert nein
data.applications_submitted[].applications[].submitted_at Zeitpunkt nein
data.applications_submitted[].applications[].status Text (submitted, accepted, rejected, withdrawn) nein
data.applications_submitted[].applications[].decided_at Zeitpunkt ja
data.applications_submitted[].applications[].decision_note Text ja
data.applications_submitted[].applications[].email_verified_at Zeitpunkt ja
data.applications_submitted[].applications[].data_erased_at Zeitpunkt ja Wann die Angaben einer abgeschlossenen Bewerbung gelöscht wurden.
data.applications_submitted[].applications[].artist_track_id Text ja Kennung der beigelegten Tonaufnahme aus Kategorie 4.
data.applications_submitted[].applications[].proposed_fee Betrag nein Die vorgeschlagene Gage der Bewerbung.
data.applications_submitted[].applications[].genres Liste von Text nein
data.applications_submitted[].applications[].files Liste von Text nein Pfade der zugehörigen Originale im ZIP.

08-communication.json

Format: JSON · Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.: Kommunikationsdaten

Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.

Feld Typ Leer möglich Erklärung
category Objekt nein Nummer, Schlüssel und Name der Kategorie.
category.number Ganzzahl nein
category.key Text nein
category.label Text nein
generated_at Zeitpunkt nein
data Objekt nein
data.threads Liste von Objekt nein
data.threads[].folder Text nein Der Ordner dieses Chats im ZIP.
data.threads[].event Objekt nein
data.threads[].event.event_id Text nein
data.threads[].event.name Text nein
data.threads[].event.starts_at Zeitpunkt nein
data.threads[].own_sides Liste von Objekt nein Mit welchen eigenen Profilen das Konto an diesem Chat beteiligt ist.
data.threads[].own_sides[].side Text (promoter, artist) nein
data.threads[].own_sides[].profile Text nein
data.threads[].files Objekt nein Pfade der drei Dateien dieses Chats im ZIP.
data.threads[].files.thread Text nein
data.threads[].files.messages Text nein
data.threads[].files.own_state Text nein

chat/{folder}/thread.json

Format: JSON · Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.: Kommunikationsdaten

Ein Veranstaltungs-Chat: die Veranstaltung, die eigenen Seiten und alle Teilnehmenden mit Beitritt und Austritt.

Feld Typ Leer möglich Erklärung
event Objekt nein
event.event_id Text nein
event.name Text nein
event.starts_at Zeitpunkt nein
own_sides Liste von Objekt nein Mit welchen eigenen Profilen das Konto an diesem Chat beteiligt ist.
own_sides[].side Text (promoter, artist) nein
own_sides[].profile Text nein
participants Liste von Objekt nein Alle Beteiligten; vom Gegenüber nur Profilname und Seite.
participants[].profile Text nein
participants[].side Text (promoter, artist) nein
participants[].joined_at Zeitpunkt ja
participants[].left_at Zeitpunkt ja

chat/{folder}/messages.json

Format: JSON · Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.: Kommunikationsdaten

Alle Nachrichten eines Chats in zeitlicher Reihenfolge. Nachrichten haben einen Absender, Systemeinträge stattdessen das Feld system_entry.

Feld Typ Leer möglich Erklärung
messages Liste von Objekt nein
messages[].sent_at Zeitpunkt ja
messages[].type Text (message, system) nein
messages[].system_entry Objekt nein Nur bei Systemeinträgen: Art und lesbarer Text. Das Feld kann fehlen.
messages[].system_entry.type Text (backline_assigned, backline_unassigned) ja
messages[].system_entry.text Text ja
messages[].sender Objekt nein Nur bei Nachrichten: Name, Seite und Profil des Absenders. Das Feld kann fehlen.
messages[].sender.name Text nein
messages[].sender.side Text (promoter, artist) nein
messages[].sender.profile Text ja
messages[].body Text ja Das Feld kann fehlen.
messages[].shared_document Objekt ja Ein aus den Dokumenten geteiltes Dokument, sonst null. Das Feld kann fehlen.
messages[].shared_document.title Text ja
messages[].shared_document.file_name Text ja
messages[].shared_document.path Text ja Pfad der Datei im ZIP; null, wenn das Original fehlt.
messages[].shared_document.note Text nein Vermerk, wenn die Datei fehlt oder gelöscht wurde. Das Feld kann fehlen.
messages[].attachments Liste von Objekt nein Das Feld kann fehlen.
messages[].attachments[].file_name Text ja
messages[].attachments[].path Text ja Pfad der Datei im ZIP; null, wenn das Original fehlt.
messages[].attachments[].note Text nein Vermerk, wenn die Datei fehlt oder gelöscht wurde. Das Feld kann fehlen.

chat/{folder}/own-state.json

Format: JSON · Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.: Kommunikationsdaten

Die eigenen Lesestände und Stummschaltungen in diesem Chat.

Feld Typ Leer möglich Erklärung
reads Liste von Objekt nein
reads[].side Text (promoter, artist) ja
reads[].profile Text nein
reads[].last_read_at Zeitpunkt ja
mutes Liste von Objekt nein
mutes[].side Text (promoter, artist) ja
mutes[].profile Text nein
mutes[].muted_at Zeitpunkt ja

chat/{folder}/attachments/{media_id}-{file_name}

Format: Originaldatei · Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.: Kommunikationsdaten

Die Anhänge und geteilten Dokumente eines Chats im Original.

09-public-pages.json

Format: JSON · Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.: Öffentliche Seiten und deren Reichweitendaten

Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.

Feld Typ Leer möglich Erklärung
category Objekt nein Nummer, Schlüssel und Name der Kategorie.
category.number Ganzzahl nein
category.key Text nein
category.label Text nein
generated_at Zeitpunkt nein
data Objekt nein
data.link_pages Liste von Objekt nein Die Artist-Links der verwalteten Artist-Profile.
data.link_pages[].artist_id Text nein
data.link_pages[].artist_name Text ja
data.link_pages[].artist_link_page_id Text nein
data.link_pages[].slug Text nein Der Name in der Adresse der Artist-Links.
data.link_pages[].public_id Text nein Die feste Kennung in der Adresse der Artist-Links.
data.link_pages[].is_active Wahrheitswert nein
data.link_pages[].primary_color Text ja
data.link_pages[].custom_title Text ja
data.link_pages[].use_custom_title Wahrheitswert nein
data.link_pages[].use_logo_favicon Wahrheitswert nein
data.link_pages[].bandsintown_artist_id Text ja
data.link_pages[].slug_changed_at Zeitpunkt ja
data.link_pages[].created_at Zeitpunkt ja
data.link_pages[].blocks Liste von Objekt nein
data.link_pages[].blocks[].type Text (bio, music_player, videos, tour_dates, press_package, social_links, custom_link) nein
data.link_pages[].blocks[].is_visible Wahrheitswert nein
data.link_pages[].blocks[].title Text ja
data.link_pages[].blocks[].url Text ja
data.link_pages[].blocks[].icon Text ja
data.link_pages[].blocks[].order Ganzzahl ja
data.link_pages[].daily_views Liste von Objekt nein Aufrufe je Tag, ohne Bezug zu Besucher:innen.
data.link_pages[].daily_views[].date Datum nein
data.link_pages[].daily_views[].views Ganzzahl nein
data.link_pages[].daily_clicks Liste von Objekt nein Klicks je Tag und Ziel, ohne Bezug zu Besucher:innen.
data.link_pages[].daily_clicks[].date Datum nein
data.link_pages[].daily_clicks[].target_type Text (block, social, spotify, press_package) nein
data.link_pages[].daily_clicks[].target_key Text nein Welches Ziel geklickt wurde, etwa ein Block oder eine Plattform.
data.link_pages[].daily_clicks[].clicks Ganzzahl nein
data.imprints Liste von Objekt nein Das Impressum der Artist-Links.
data.imprints[].artist_id Text nein
data.imprints[].artist_name Text ja
data.imprints[].legal_form Text (natural_person, gbr, registered_merchant, corporation, association, other) nein
data.imprints[].legal_form_other Text ja
data.imprints[].name Text ja
data.imprints[].representatives Text ja
data.imprints[].street Text ja
data.imprints[].street_number Text ja
data.imprints[].zip Text ja
data.imprints[].city Text ja
data.imprints[].country Text ja Land wie eingegeben, meist als Ländercode.
data.imprints[].email Text ja
data.imprints[].phone Text ja
data.imprints[].register_court Text ja
data.imprints[].register_number Text ja
data.imprints[].vat_id Text ja
data.imprints[].business_id Text ja
data.imprints[].responsible_name Text ja
data.imprints[].responsible_address Text ja
data.imprints[].is_complete Wahrheitswert nein Ob alle Pflichtangaben des Impressums ausgefüllt sind.
data.imprints[].created_at Zeitpunkt ja
data.imprints[].updated_at Zeitpunkt ja

10-billing.json

Format: JSON · Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.: Vertrags-, Abrechnungs- und Zahlungsdaten

Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.

Feld Typ Leer möglich Erklärung
category Objekt nein Nummer, Schlüssel und Name der Kategorie.
category.number Ganzzahl nein
category.key Text nein
category.label Text nein
generated_at Zeitpunkt nein
data Objekt nein
data.profiles Liste von Objekt nein
data.profiles[].profile_type Text (artist, promoter) nein
data.profiles[].profile_id Text nein
data.profiles[].profile_name Text ja
data.profiles[].subscriptions Liste von Objekt nein
data.profiles[].subscriptions[].tenant_subscription_id Text nein
data.profiles[].subscriptions[].contract_number Text ja
data.profiles[].subscriptions[].status Text nein Stand des Abos, etwa active, trialing oder canceled.
data.profiles[].subscriptions[].current_period_start Zeitpunkt ja
data.profiles[].subscriptions[].current_period_end Zeitpunkt ja
data.profiles[].subscriptions[].trial_ends_at Zeitpunkt ja
data.profiles[].subscriptions[].cancel_at_period_end Wahrheitswert nein
data.profiles[].subscriptions[].cancelled_at Zeitpunkt ja
data.profiles[].subscriptions[].ends_at Zeitpunkt ja
data.profiles[].subscriptions[].created_at Zeitpunkt ja
data.profiles[].subscriptions[].plan Text ja
data.profiles[].subscriptions[].scheduled_plan Text ja Der Tarif, auf den zum Ende des Zeitraums gewechselt wird.
data.profiles[].subscriptions[].cancellation Objekt ja
data.profiles[].subscriptions[].cancellation.reason Text (dont_want_festry, dont_like_festry, switching_platform, missing_features, platform_problems, other, account_deleted, profile_blocked) nein
data.profiles[].subscriptions[].cancellation.feedback Text ja
data.profiles[].subscriptions[].cancellation.created_at Zeitpunkt ja
data.profiles[].payment_provider_subscriptions Liste von Objekt nein Das Abo beim Zahlungsdienstleister Stripe. Zahlungsmitteldaten liegen nie bei Festry.
data.profiles[].payment_provider_subscriptions[].type Text nein
data.profiles[].payment_provider_subscriptions[].stripe_id Text ja
data.profiles[].payment_provider_subscriptions[].stripe_status Text nein
data.profiles[].payment_provider_subscriptions[].stripe_price Text ja
data.profiles[].payment_provider_subscriptions[].quantity Ganzzahl ja
data.profiles[].payment_provider_subscriptions[].trial_ends_at Zeitpunkt ja
data.profiles[].payment_provider_subscriptions[].ends_at Zeitpunkt ja
data.profiles[].payment_provider_subscriptions[].created_at Zeitpunkt ja
data.profiles[].payment_provider_subscriptions[].items Liste von Objekt nein
data.profiles[].payment_provider_subscriptions[].items[].stripe_product Text nein
data.profiles[].payment_provider_subscriptions[].items[].stripe_price Text nein
data.profiles[].payment_provider_subscriptions[].items[].quantity Ganzzahl ja
data.profiles[].coupons Liste von Objekt nein
data.profiles[].coupons[].duration_amount Ganzzahl nein
data.profiles[].coupons[].duration_unit Text (week, month) nein
data.profiles[].coupons[].expires_at Zeitpunkt nein
data.profiles[].coupons[].redeemed_at Zeitpunkt ja
data.profiles[].coupons[].plan Text ja
data.profiles[].invoices Liste von Objekt nein
data.profiles[].invoices[].invoice_id Text nein
data.profiles[].invoices[].invoice_number Text ja
data.profiles[].invoices[].type Text (subscription, one_off) nein
data.profiles[].invoices[].status Text nein
data.profiles[].invoices[].recipient_name Text ja
data.profiles[].invoices[].recipient_email Text ja
data.profiles[].invoices[].recipient_address Objekt mit Text ja Die Rechnungsanschrift, wie sie auf der Rechnung steht.
data.profiles[].invoices[].finalized_at Zeitpunkt ja
data.profiles[].invoices[].paid_at Zeitpunkt ja
data.profiles[].invoices[].amount_paid Betrag nein
data.profiles[].invoices[].file Text ja Pfad des PDF im ZIP; null, wenn keines archiviert ist.
data.profiles[].invoices[].credit_notes Liste von Objekt nein
data.profiles[].invoices[].credit_notes[].credit_note_id Text nein
data.profiles[].invoices[].credit_notes[].number Text ja
data.profiles[].invoices[].credit_notes[].memo Text ja
data.profiles[].invoices[].credit_notes[].credited_at Zeitpunkt ja
data.profiles[].invoices[].credit_notes[].amount Betrag nein
data.profiles[].invoices[].credit_notes[].refund_amount Betrag nein
data.profiles[].invoices[].credit_notes[].file Text ja Pfad des PDF im ZIP; null, wenn keines archiviert ist.
data.checkout_consents Liste von Objekt nein Die Zustimmungen bei der Buchung eines Tarifs, mit Wortlaut.
data.checkout_consents[].checkout_consent_id Text nein
data.checkout_consents[].subscribable_id Text nein Kennung des Profils, für das gebucht wurde.
data.checkout_consents[].plan_name Text nein
data.checkout_consents[].consent_version Text nein
data.checkout_consents[].locale Text nein
data.checkout_consents[].consent_text Text nein Der Wortlaut, dem zugestimmt wurde.
data.checkout_consents[].consented_at Zeitpunkt nein
data.checkout_consents[].terms_version Text ja
data.checkout_consents[].terms_locale Text ja
data.checkout_consents[].terms_text Text ja
data.checkout_consents[].terms_acknowledged_at Zeitpunkt ja
data.contract_declarations Liste von Objekt nein Kündigungen und Widerrufe, die Festry diesem Konto zugeordnet hat.
data.contract_declarations[].reference Text nein
data.contract_declarations[].type Text (termination, withdrawal) nein
data.contract_declarations[].termination_kind Text (ordinary, extraordinary) ja
data.contract_declarations[].extraordinary_reason Text ja
data.contract_declarations[].contract_description Text nein
data.contract_declarations[].declarant_name Text nein
data.contract_declarations[].declarant_email Text nein
data.contract_declarations[].customer_reference Text ja
data.contract_declarations[].recognized_customer_number Text ja
data.contract_declarations[].recognized_contract_number Text ja
data.contract_declarations[].end_timing Text (next_possible, specific_date) ja
data.contract_declarations[].desired_end_date Zeitpunkt ja
data.contract_declarations[].confirmation_email Text nein
data.contract_declarations[].received_at Zeitpunkt nein
data.contract_declarations[].confirmation_sent_at Zeitpunkt ja
data.contract_declarations[].completion_sent_at Zeitpunkt ja
data.contract_declarations[].contract_ends_at Zeitpunkt ja
data.contract_declarations[].status Text (received, under_review, completed) nein

files/invoices/{file_name}.pdf

Format: Originaldatei · Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.: Vertrags-, Abrechnungs- und Zahlungsdaten

Die archivierten Rechnungen als PDF.

files/credit-notes/{file_name}.pdf

Format: Originaldatei · Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.: Vertrags-, Abrechnungs- und Zahlungsdaten

Die archivierten Gutschriften als PDF.

12-media.json

Format: JSON · Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.: Mediendateien

Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.

Feld Typ Leer möglich Erklärung
category Objekt nein Nummer, Schlüssel und Name der Kategorie.
category.number Ganzzahl nein
category.key Text nein
category.label Text nein
generated_at Zeitpunkt nein
data Objekt nein
data.files Liste von Objekt nein Jede Datei unter files/ und chat/ mit Größe, Prüfsumme und Herkunft.
data.files[].path Text nein
data.files[].size_bytes Ganzzahl nein
data.files[].sha256 Text nein SHA-256-Prüfsumme der Datei, hexadezimal.
data.files[].media_id Text nein Kennung der hochgeladenen Datei. Die folgenden Felder fehlen bei erzeugten Dateien. Das Feld kann fehlen.
data.files[].owner_type Text nein Wozu die Datei gehört, etwa Artist oder ArtistDocument. Das Feld kann fehlen.
data.files[].owner_id Text nein Das Feld kann fehlen.
data.files[].collection Text nein Wofür die Datei hochgeladen wurde, etwa Logo oder Dokument. Das Feld kann fehlen.
data.files[].name Text nein Das Feld kann fehlen.
data.files[].mime_type Text ja Das Feld kann fehlen.
data.files[].created_at Zeitpunkt ja Das Feld kann fehlen.
data.files[].artist_id Text nein Nur bei erzeugten Dateien und Rechnungen: wozu sie gehören. Das Feld kann fehlen.
data.files[].calendar_id Text nein Nur bei erzeugten Dateien und Rechnungen: wozu sie gehören. Das Feld kann fehlen.
data.files[].invoice_id Text nein Nur bei erzeugten Dateien und Rechnungen: wozu sie gehören. Das Feld kann fehlen.
data.files[].invoice_number Text ja Das Feld kann fehlen.
data.files[].credit_note_id Text nein Nur bei erzeugten Dateien und Rechnungen: wozu sie gehören. Das Feld kann fehlen.
data.files[].credit_note_number Text ja Das Feld kann fehlen.

files/{collection}/{media_id}/{file_name}

Format: Originaldatei · Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.: Mediendateien

Alle hochgeladenen Dateien im Original: Bilder, Logos, Dokumente, Tonaufnahmen und Bewerbungsunterlagen. Abgeleitete Fassungen wie Vorschaubilder fehlen bewusst.

13-settings.json

Format: JSON · Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.: Einstellungen

Die Daten einer Kategorie. Kopf und Zeitpunkt stehen oben, die Daten unter data.

Feld Typ Leer möglich Erklärung
category Objekt nein Nummer, Schlüssel und Name der Kategorie.
category.number Ganzzahl nein
category.key Text nein
category.label Text nein
generated_at Zeitpunkt nein
data Objekt nein
data.locale Text ja Sprache des Kontos (de oder en).
data.mail_notifications Liste von Objekt nein Welche abbestellbaren Mails das Konto bekommt.
data.mail_notifications[].mail_type Text (booking-artist-booked, booking-artist-accepted, booking-artist-unbooked, booking-artist-declined, booking-event-cancelled-for-artist, booking-event-deleted, booking-running-order-updated, booking-fee-change-proposed, booking-fee-change-accepted, booking-fee-change-declined, booking-fee-change-reminder, booking-artist-blocked, booking-promoter-blocked, booking-profile-unblocked, booking-performance-cancelled, tender-application-confirmation, tender-application-received, tender-application-accepted, tender-application-rejected, tender-cancelled, tender-new-application, tender-closed, tender-evaluation-phase-started, tender-data-erasure-announced, tender-data-erased) nein
data.mail_notifications[].enabled Wahrheitswert nein
data.plan_recommendation_dismissed_at Zeitpunkt ja Wann die Tarifempfehlung zuletzt geschlossen wurde.

Schnittstelle

Über die Schnittstelle stößt ein Programm denselben Export an, fragt seinen Stand ab und lädt dasselbe ZIP herunter wie im Kontobereich. Sie ist offen und kostenlos.

Anmeldung

Jede Anfrage braucht ein API-Token im Kopf Authorization: Bearer <token>. Du legst es im Kontobereich unter Einstellungen, Datenschutz an: https://account.core-119.festry-dev.de/settings/privacy

Ein Token taugt nur für den Datenexport, gilt 365 Tage und lässt sich jederzeit widerrufen. Du kannst höchstens 5 aktive Tokens haben. Mit dem Konto werden alle Tokens gelöscht.

Endpunkte

Methode Pfad Wirkung
POST https://core-119.festry-dev.de/api/v1/data-exports Stößt einen Export an. Antwort 202 mit dem Export und seiner Status-Adresse im Kopf Location.
GET https://core-119.festry-dev.de/api/v1/data-exports Deine Exporte, der neueste zuerst.
GET https://core-119.festry-dev.de/api/v1/data-exports/{id} Der Stand eines Exports; bei ready mit Download-Adresse.
GET https://core-119.festry-dev.de/api/v1/data-exports/{id}/download Das ZIP, gestreamt. Dasselbe wie der Download im Kontobereich.

Antwort

Ein Export erscheint als Objekt unter data (bei der Liste als Liste):

{
    "data": {
        "id": "9f1c2d3e-0000-4000-8000-000000000000",
        "status": "ready",
        "created_at": "2026-10-06T14:30:00+02:00",
        "completed_at": "2026-10-06T14:31:12+02:00",
        "expires_at": "2026-10-13T14:31:12+02:00",
        "size_bytes": 1048576,
        "links": {
            "self": "https://core-119.festry-dev.de/api/v1/data-exports/9f1c2d3e-0000-4000-8000-000000000000",
            "download": "https://core-119.festry-dev.de/api/v1/data-exports/9f1c2d3e-0000-4000-8000-000000000000/download"
        }
    }
}

Stand eines Exports

  • pending: angestoßen oder in Arbeit.
  • ready: bereit zum Download bis expires_at.
  • failed: nicht erstellt. Du kannst sofort einen neuen anstoßen.
  • expired: abgelaufen, die Datei ist gelöscht.

Fristen und Grenzen

  • Sperrfrist: ein Export je 24 Stunden. Ein POST innerhalb der Sperrfrist bekommt 429 mit dem Kopf Retry-After (Sekunden) und dem Zeitpunkt in available_at. Gescheiterte Exporte zählen nicht.
  • Gültigkeit: Der Download steht 7 Tage bereit, danach wird die Datei gelöscht.
  • Ratenbegrenzung: 30 Anfragen je Minute und Token. Darüber gibt es 429 mit Retry-After.

Statuscodes

  • 200 Erfolg.
  • 202 Export angestoßen.
  • 401 Token fehlt, ist abgelaufen oder widerrufen.
  • 403 Token ohne die Fähigkeit data-export.
  • 404 Export nicht gefunden oder nicht deiner.
  • 409 Download noch nicht möglich (pending) oder Export gescheitert (failed).
  • 410 Export abgelaufen, Datei gelöscht.
  • 429 Sperrfrist oder Ratenbegrenzung.
  • 503 Festry ist gerade nicht geöffnet.

Fehler

Fehler kommen immer als JSON mit einem festen Code und einem Text in der Sprache aus dem Kopf Accept-Language (de oder en, sonst de):

{
    "error": {
        "code": "unauthenticated",
        "message": "Kein gültiges API-Token. Das Token fehlt, ist abgelaufen oder wurde widerrufen."
    }
}

Mögliche Codes: unauthenticated, missing_ability, forbidden, not_found, method_not_allowed, gone, too_many_requests, cooldown, export_expired, export_failed, export_not_ready, platform_closed, service_unavailable, invalid_request, http_error, server_error.

Beispiel mit curl

# Export anstoßen
curl -X POST https://core-119.festry-dev.de/api/v1/data-exports \
  -H "Authorization: Bearer $FESTRY_TOKEN" \
  -H "Accept-Language: de"

# Stand abfragen, bis status "ready" ist
curl https://core-119.festry-dev.de/api/v1/data-exports/{id} \
  -H "Authorization: Bearer $FESTRY_TOKEN"

# ZIP herunterladen
curl -L -o festry-export.zip https://core-119.festry-dev.de/api/v1/data-exports/{id}/download \
  -H "Authorization: Bearer $FESTRY_TOKEN"

Maschinenlesbare Beschreibung

Dieselbe Beschreibung gibt es maschinenlesbar als JSON Schema (Draft 2020-12). Jede JSON-Datei des ZIP hat dort eine Definition, x-files ordnet die Pfade im ZIP zu: https://core-119.festry-dev.de/info/data-export/schema.json