API Docs
Documentación dinámica de endpoints /api/v1 disponibles.
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 cURLcurl -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 cURLcurl -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 cURLcurl -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 cURLcurl -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 cURLcurl -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 cURLcurl -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 cURLcurl -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 cURLcurl -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 cURLcurl -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 cURLcurl -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 cURLcurl -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 |