ProgramaEducativo) represent longer-form structured curricula offered by the park — distinct from the shorter workshop-style Educational Services. A program has a title, a description, an optional cover image, and an ordered list of curriculum items (ProgramaItem). Items are replaced wholesale on update.
The EducationPrograms frontend component renders these programs in the Servicios Educativos page.
No permission classes are configured on
ProgramaEducativoViewSet or ProgramaItemViewSet in the current codebase, meaning all endpoints are accessible without authentication. Apply appropriate permissions before deploying to production.The ProgramaEducativo object
Unique identifier for the program.
Program title (max 100 characters).
Full description of the program’s goals, target audience, and content.
URL or relative path to the program’s cover image. Stored under the
programas/ media directory. null if no image has been uploaded.Ordered list of curriculum items nested within the program.
List educational programs
Create a program
items array is inserted and linked to the new program.
Program title. Maximum 100 characters.
Full description of the program.
Optional cover image. Uploaded as
multipart/form-data. Stored under programas/.Optional array of curriculum items to create together with the program.
201 Created
Retrieve a program
The numeric ID of the program.
Update a program
The numeric ID of the program to update.
Updated title.
Updated description.
Replacement cover image.
Replacement item list. All existing items are deleted and replaced with the items provided in this array. To preserve existing items, include them in the request.
The update serializer deletes all existing
ProgramaItem records for the program before creating the new ones. Partial item updates are not supported — always send the complete desired item list.Delete a program
The numeric ID of the program to delete.
204 No Content on success. All associated ProgramaItem records are deleted via cascade.
Program Items
Items can also be managed independently via the/items/ sub-endpoints.
The ProgramaItem object
Item record ID.
Foreign key to the parent
ProgramaEducativo.Curriculum item text (max 255 characters).
Item endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /api/programas_educativos/items/ | List all items across all programs |
POST | /api/programas_educativos/items/create/ | Create a standalone item |
GET | /api/programas_educativos/items/{id}/detail/ | Retrieve a single item |
PUT | /api/programas_educativos/items/{id}/update/ | Update an item |
DELETE | /api/programas_educativos/items/{id}/delete/ | Delete an item |
ID of the parent program when creating a standalone item.
Item text. Maximum 255 characters.
