{"openapi":"3.0.3","info":{"title":"ETSManager API — Sola lettura","version":"1.0.0","description":"Chiavi emesse dall’admin. Accesso per associazione, categoria, campo e Camp. Nessuna scrittura sui dati del gestionale."},"servers":[{"url":"https://www.etsmanager.it/api/v1"}],"security":[{"BearerAuth":[]}],"paths":{"/catalog.php":{"get":{"summary":"Categorie e campi autorizzati","responses":{"200":{"description":"Dati autorizzati o file documentale"},"400":{"description":"Filtro non valido"},"401":{"description":"Chiave non valida"},"403":{"description":"Permesso assente"},"404":{"description":"Risorsa non disponibile"},"405":{"description":"Solo GET e HEAD"},"429":{"description":"Limite richieste raggiunto"}}}},"/data.php":{"get":{"summary":"Lettura paginata dei dati","parameters":[{"name":"resource","in":"query","required":true,"schema":{"type":"string","enum":["organization","members","member_health","guardians","membership_fees","membership_register","member_documents","member_sports","team_members","teams","seasons","training_sessions","matches","match_notes","callups","callup_members","camps","camp_formulas","camp_periods","camp_registrations","camp_health","camp_registration_details","camp_documents","camp_payments","camp_invoices","camp_credit_notes","camp_invoice_history","camp_accounting","camp_consents","camp_image_consents","camp_image_checks","camp_regulation_consents","camp_regulation_readings","camp_history","camp_athlete_profiles","camp_bank_details","camp_promotions","camp_discount_settings","payments","receipts","annual_receipts","donations","accounting_entries","accounting_items","accounting_closures","season_closures","projects","project_entries","sponsors","sponsor_contracts","collaborators","collaborator_contracts","collaborator_assignments","collaborator_tax","external_fees","payslips","f24","f24_lines","tax_certificates","uniemens","uniemens_details","volunteers","volunteer_refunds","board_meetings","board_minutes","assemblies","assembly_minutes","meetings","meeting_responses","message_threads","messages","access_logs","operator_accounts","member_photos","collaborator_teams","collaborator_declarations","collaborator_contract_teams","course_weekdays","invoices","camp_fixed_discounts","camp_discount_notes","collaborator_documents","organization_documents","project_documents","collaborator_refunds","training_attendance","subscriptions","employer_inps","collaborator_associations","collaborator_fees","collaborator_tax_history","collaborator_movements","board_members","match_artwork","match_artwork_options","camp_bank_accounts","camp_bank_movements","camp_bank_matches","camp_document_audit","camp_formula_audit","camp_message_links","camp_annual_offers","camp_payment_links","camp_fee_history","camp_reminder_history","camp_import_batches","bank_reconciliation","blsd_documents","families","member_invoices","billing_customers","legacy_donations","installment_plans","athlete_fees","member_fees","sibling_discounts","legacy_accounting","economic_movements","legacy_payments","legacy_member_payments","person_roles","professional_accounting","collaborator_requests","member_requests","upgrade_requests","observer_assignments","uniemens_receipts","statbasket_sync_status","camp_marketing_contacts"]}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"default":0}},{"name":"id","in":"query","schema":{"type":"integer","minimum":1}},{"name":"camp_id","in":"query","schema":{"type":"integer","minimum":1}},{"name":"member_id","in":"query","schema":{"type":"integer","minimum":1}},{"name":"team_id","in":"query","schema":{"type":"integer","minimum":1}},{"name":"updated_since","in":"query","schema":{"type":"string"},"description":"YYYY-MM-DD HH:MM:SS; solo se updated_at è disponibile."}],"responses":{"200":{"description":"Dati autorizzati o file documentale"},"400":{"description":"Filtro non valido"},"401":{"description":"Chiave non valida"},"403":{"description":"Permesso assente"},"404":{"description":"Risorsa non disponibile"},"405":{"description":"Solo GET e HEAD"},"429":{"description":"Limite richieste raggiunto"}}}},"/camp_marketing_exclusions.php":{"get":{"summary":"Identificativi già ricevuti da escludere dal marketing Camp","description":"Solo chiave dedicata camp_marketing_contacts. Richiede sincronizzazione completa prima degli invii; nessun dato di persone mai comunicate.","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"default":0}}],"responses":{"200":{"description":"Dati autorizzati o file documentale"},"400":{"description":"Filtro non valido"},"401":{"description":"Chiave non valida"},"403":{"description":"Permesso assente"},"404":{"description":"Risorsa non disponibile"},"405":{"description":"Solo GET e HEAD"},"429":{"description":"Limite richieste raggiunto"}}}},"/download.php":{"get":{"summary":"Download documento, se autorizzato separatamente","parameters":[{"name":"resource","in":"query","required":true,"schema":{"type":"string","enum":["organization","members","member_health","guardians","membership_fees","membership_register","member_documents","member_sports","team_members","teams","seasons","training_sessions","matches","match_notes","callups","callup_members","camps","camp_formulas","camp_periods","camp_registrations","camp_health","camp_registration_details","camp_documents","camp_payments","camp_invoices","camp_credit_notes","camp_invoice_history","camp_accounting","camp_consents","camp_image_consents","camp_image_checks","camp_regulation_consents","camp_regulation_readings","camp_history","camp_athlete_profiles","camp_bank_details","camp_promotions","camp_discount_settings","payments","receipts","annual_receipts","donations","accounting_entries","accounting_items","accounting_closures","season_closures","projects","project_entries","sponsors","sponsor_contracts","collaborators","collaborator_contracts","collaborator_assignments","collaborator_tax","external_fees","payslips","f24","f24_lines","tax_certificates","uniemens","uniemens_details","volunteers","volunteer_refunds","board_meetings","board_minutes","assemblies","assembly_minutes","meetings","meeting_responses","message_threads","messages","access_logs","operator_accounts","member_photos","collaborator_teams","collaborator_declarations","collaborator_contract_teams","course_weekdays","invoices","camp_fixed_discounts","camp_discount_notes","collaborator_documents","organization_documents","project_documents","collaborator_refunds","training_attendance","subscriptions","employer_inps","collaborator_associations","collaborator_fees","collaborator_tax_history","collaborator_movements","board_members","match_artwork","match_artwork_options","camp_bank_accounts","camp_bank_movements","camp_bank_matches","camp_document_audit","camp_formula_audit","camp_message_links","camp_annual_offers","camp_payment_links","camp_fee_history","camp_reminder_history","camp_import_batches","bank_reconciliation","blsd_documents","families","member_invoices","billing_customers","legacy_donations","installment_plans","athlete_fees","member_fees","sibling_discounts","legacy_accounting","economic_movements","legacy_payments","legacy_member_payments","person_roles","professional_accounting","collaborator_requests","member_requests","upgrade_requests","observer_assignments","uniemens_receipts","statbasket_sync_status","camp_marketing_contacts"]}},{"name":"id","in":"query","required":true,"schema":{"type":"integer","minimum":1}},{"name":"file","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Dati autorizzati o file documentale"},"400":{"description":"Filtro non valido"},"401":{"description":"Chiave non valida"},"403":{"description":"Permesso assente"},"404":{"description":"Risorsa non disponibile"},"405":{"description":"Solo GET e HEAD"},"429":{"description":"Limite richieste raggiunto"}}}}},"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}}}}