Documentation Index
Fetch the complete documentation index at: https://mintlify.com/giangartun/Tis-GOAT-Frontend/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The Projects API manages the portfolio projects shown to visitors. Authenticated users can create, edit, and delete their own projects, attach PDF evidence files, and tag projects with technology labels. The technology list endpoint is public — no token is needed. All authenticated requests must includeAuthorization: Bearer <token> obtained from POST /api/usuario/login.
GET /api/proyecto/gestion-proyectos/tecnologias/lista
Return the full list of available technology tags that can be associated with a project. No authentication is required. Use theid_tecnologia values returned here when creating or updating a project.
Responses
Returns a JSON array of technology objects.Unique identifier for the technology. Pass this in the
tecnologias array when creating or updating a project.Human-readable technology name, e.g.
"React", "Laravel", "PostgreSQL".The skill category grouping this technology belongs to (may be
null).| Status | Meaning |
|---|---|
200 | Array of technology tags returned. |
Example Request
Example Response
GET /api/proyecto/gestion-proyectos/:id_portafolio
List all projects belonging to the specified portfolio. Supports optional keyword search by project name. Authentication required — includeAuthorization: Bearer <token>.
Path Parameters
The portfolio ID to retrieve projects for. Obtain this from the login response (
id_portafolio) or from GET /api/portafolio/completo.Query Parameters
Optional keyword to filter projects by name. If omitted, all projects are returned.
Responses
Returns a JSON array of project objects.Unique project identifier.
Project name.
Project description (may be
null).Repository or project URL (may be
null).Cover image URL (may be
null).Start date in
YYYY-MM-DD format.End date in
YYYY-MM-DD format, or null if ongoing.Array of technology objects
{ id_tecnologia, nombre } tagged to this project.Array of attached evidence files (e.g. uploaded PDFs). See the evidence upload endpoint for the object shape.
| Status | Meaning |
|---|---|
200 | Array of project objects returned. |
401 | Unauthorized — missing or invalid token. |
POST /api/proyecto/gestion-proyectos
Create a new project and associate it with the authenticated user’s portfolio. Authentication required — includeAuthorization: Bearer <token>.
Request Body
ID of the portfolio to which this project belongs.
Project title.
A text description of the project. Send
null to leave blank.GitHub repository or live project URL. Send
null if not applicable.URL of a cover image for the project card. Send
null to use the placeholder.Project start date in
YYYY-MM-DD format.Project end date in
YYYY-MM-DD format. Send null if the project is still ongoing.Array of
id_tecnologia strings referencing technologies used in the project. Obtain valid IDs from GET /api/proyecto/gestion-proyectos/tecnologias/lista. Send an empty array [] if none apply.Responses
The newly created project object, including its server-assigned
id_proyecto.| Status | Meaning |
|---|---|
201 | Project created successfully. |
401 | Unauthorized — missing or invalid token. |
422 | Validation error — check required fields. |
Example Request
Example Response
PUT /api/proyecto/gestion-proyectos/:id_proyecto
Update an existing project. The request body is identical to thePOST create endpoint — all fields should be provided even if unchanged (full replacement).
Authentication required — include Authorization: Bearer <token>.
Path Parameters
The unique identifier of the project to update.
Request Body
Same fields as POST /api/proyecto/gestion-proyectos — provide the complete updated project payload.Responses
The updated project object.
| Status | Meaning |
|---|---|
200 | Project updated successfully. |
401 | Unauthorized — missing or invalid token. |
404 | Project not found. |
422 | Validation error. |
Example Request
DELETE /api/proyecto/gestion-proyectos/:id_proyecto
Permanently delete a project and all its associated evidence files from the portfolio. Authentication required — includeAuthorization: Bearer <token>.
Path Parameters
The unique identifier of the project to delete.
Responses
Confirmation message that the project was deleted.
| Status | Meaning |
|---|---|
200 | Project deleted successfully. |
401 | Unauthorized — missing or invalid token. |
404 | Project not found. |
Example Request
Example Response
POST /api/proyecto/evidencias/subir
Upload a PDF evidence file and attach it to a project. This is used to provide supporting documentation such as certificates, client sign-offs, or academic reports. Authentication required — includeAuthorization: Bearer <token>.
Request
Content-Type:multipart/form-data
The ID of the project this evidence belongs to.
The PDF file to upload. Must be a valid PDF document.
Responses
Unique identifier for the uploaded evidence record.
File type indicator — typically
"pdf".Public URL where the uploaded file can be accessed or downloaded.
Original filename of the uploaded file.
URL of a generated image preview for the file, if applicable (may be
null).File size in bytes (may be
null).ISO 8601 timestamp of when the file was uploaded (may be
null).| Status | Meaning |
|---|---|
200 | File uploaded and evidence record created. |
401 | Unauthorized — missing or invalid token. |
422 | Validation error — file missing or incorrect format. |