API Docs

Documentación dinámica de endpoints /api/v1 disponibles.

EN ES

Base URL

https://api.mainpark.app/api/v1

Esta tabla se genera desde las rutas reales de Laravel. Si se añade un endpoint nuevo en routes/api.php, aparecerá aquí automáticamente.

Seguridad: todos los endpoints /api/v1 requieren cabecera Authorization: Bearer TU_API_TOKEN.

Endpoints

Método Ruta Descripción Ejemplo Controller Nombre
GET /api/v1/entities Listado de entidades (filtros: type/park_id/lang).
Ver cURL
curl -X GET 'https://api.mainpark.app/api/v1/entities?type=attraction&park_id=1&lang=en' \
  -H 'Authorization: Bearer TU_API_TOKEN'
EntityController generated::J1Jf8AjnMeIn9gZY
GET /api/v1/entities/{entity} Detalle de entidad (lang=en|es).
Ver cURL
curl -X GET 'https://api.mainpark.app/api/v1/entities/1?lang=es' \
  -H 'Authorization: Bearer TU_API_TOKEN'
EntityController generated::SUxjDsNqlJP4RPrF
GET /api/v1/entities/{entity}/schedules Horarios por entidad (filtros: date o day o date_from/date_to, status/lang).
Ver cURL
curl -X GET 'https://api.mainpark.app/api/v1/entities/1/schedules?date=2026-04-08&lang=es' \
  -H 'Authorization: Bearer TU_API_TOKEN'
ScheduleController generated::FT9Kfa5Q7Cc8CDtX
POST /api/v1/ingestion/disneyland-paris/activity-schedules Compatibilidad legado DLP schedules.
Ver cURL
curl -X POST 'https://api.mainpark.app/api/v1/ingestion/disneyland-paris/activity-schedules' \
  -H 'Authorization: Bearer TU_API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "data": {
        "activitySchedules": []
    }
}'
DisneylandParisIngestionController generated::YLuY3gq0LpfNsukC
GET /api/v1/ingestion/modules Módulos de ingesta disponibles.
Ver cURL
curl -X GET 'https://api.mainpark.app/api/v1/ingestion/modules' \
  -H 'Authorization: Bearer TU_API_TOKEN'
IngestionController generated::NJOfddXbQ2pJBaIw
POST /api/v1/ingestion/{group}/{pipeline} Ejecutar ingesta genérica.
Ver cURL
curl -X POST 'https://api.mainpark.app/api/v1/ingestion/disneyland-paris/activity-schedules' \
  -H 'Authorization: Bearer TU_API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "source": "manual_backoffice",
    "data": {
        "activitySchedules": []
    }
}'
IngestionController generated::BylRAinSCx1Q1EEG
POST /api/v1/manual-overrides Crear/actualizar override manual.
Ver cURL
curl -X POST 'https://api.mainpark.app/api/v1/manual-overrides' \
  -H 'Authorization: Bearer TU_API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "target_type": "entity",
    "target_id": 1,
    "field": "description",
    "value": "Texto manual de ejemplo",
    "reason": "Corrección editorial",
    "updated_by": "admin@parkplanner.local"
}'
ManualOverrideController generated::yb1qS0jlJA7FhkNc
POST /api/v1/media-assets Subir media (multipart/form-data).
Ver cURL
curl -X POST 'https://api.mainpark.app/api/v1/media-assets' \
  -H 'Authorization: Bearer TU_API_TOKEN' \
  -F 'file=@/ruta/imagen.jpg' \
  -F 'target_type=entity' \
  -F 'target_id=1'
MediaAssetController generated::GK9hcvdVfDSr4kEy
GET /api/v1/parks Listado de parques.
Ver cURL
curl -X GET 'https://api.mainpark.app/api/v1/parks' \
  -H 'Authorization: Bearer TU_API_TOKEN'
ParkController generated::xtjIHOgYjAX1S8Yz
GET /api/v1/parks/{park} Detalle de parque.
Ver cURL
curl -X GET 'https://api.mainpark.app/api/v1/parks/1' \
  -H 'Authorization: Bearer TU_API_TOKEN'
ParkController generated::mMJr3I7H4OhFMxZ3
GET /api/v1/parks/{park}/schedules Horarios por parque (filtros: date o day o date_from/date_to, entity_type/entity_id/status/lang).
Ver cURL
curl -X GET 'https://api.mainpark.app/api/v1/parks/1/schedules?entity_type=park&day=today&lang=en' \
  -H 'Authorization: Bearer TU_API_TOKEN'
ScheduleController generated::Lall8QrH47B97Gjg