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.
Festry ordnet alle Daten, die es zu einem Konto führt, dreizehn Kategorien zu. Der Export folgt derselben Gliederung: je Kategorie eine JSON-Datei.
01-account.json
02-profiles.json
03-members.json
04-repertoire.json
05-technical-documents.json
06-events.json
07-tenders.json
08-communication.json
09-public-pages.json
10-billing.json
12-media.json
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.
Folgendes gehört nicht zu deinen Daten oder lässt sich aus den enthaltenen Originalen wiederherstellen und ist deshalb nicht im Export:
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.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.mdFormat: Markdown
Die Erklärung des Exports in der Sprache des Kontos: enthaltene Profile, Aufbau, Formate, Kategorien und was nicht enthalten ist.
manifest.jsonFormat: 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.jsonFormat: 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.jsonFormat: 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.jsonFormat: 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.jsonFormat: 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}.icsFormat: 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.jsonFormat: 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.jsonFormat: 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}.icsFormat: 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.jsonFormat: 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.jsonFormat: 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.jsonFormat: 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.jsonFormat: 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.jsonFormat: 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.jsonFormat: 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.jsonFormat: 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}.pdfFormat: 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}.pdfFormat: 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.jsonFormat: 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.jsonFormat: 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. |
Ü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.
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.
| 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. |
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"
}
}
}
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 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.
# 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"
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