Skip to main content

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.

Privacy endpoints let you read and update the visibility settings for a user’s portfolio and each of its sections and items. Every section in the response contains a TODOS flag that reflects whether any item in that section is currently visible, plus one entry per item keyed by its ID. All endpoints require an Authorization: Bearer <token> header.

Fetch current privacy settings

GET /api/privacidad
Authorization: Bearer <token>
Returns the full privacy state for the authenticated user’s portfolio, including per-item visibility for every section. Example curl
curl https://api.goatportfolio.com/api/privacidad \
  -H "Authorization: Bearer <token>"
Success response — 200 OK
portafolio
boolean
Whether the portfolio itself is publicly visible.
proyectos
object
Privacy state for the Projects section.
habilidades
object
Privacy state for the Skills section. Same structure as proyectos.
experiencia_academica
object
Privacy state for the Academic Experience section. Same structure as proyectos. If no entries exist, only TODOS is returned.
experiencia_laboral
object
Privacy state for the Work Experience section. Same structure as proyectos.
redes_profesionales
object
Privacy state for the Professional Links section. Same structure as proyectos.
{
  "portafolio": true,
  "proyectos": {
    "TODOS": true,
    "1": { "nombre": "App TIS", "visible": true },
    "2": { "nombre": "Portafolio Digital", "visible": true },
    "3": { "nombre": "E-commerce React", "visible": false }
  },
  "habilidades": {
    "TODOS": true,
    "1": { "nombre": "React", "visible": true },
    "2": { "nombre": "TypeScript", "visible": true },
    "3": { "nombre": "Node.js", "visible": false }
  },
  "experiencia_academica": {
    "TODOS": false
  },
  "experiencia_laboral": {
    "TODOS": true,
    "1": { "nombre": "Frontend Dev - ABC", "visible": true },
    "2": { "nombre": "Full Stack - XYZ", "visible": false }
  },
  "redes_profesionales": {
    "TODOS": true,
    "1": { "nombre": "LinkedIn", "visible": true },
    "2": { "nombre": "GitHub", "visible": true }
  }
}
The TODOS key is a computed summary — true when at least one item in the section has visible: true. It is read-only and cannot be set directly via the update endpoint.

Update privacy settings

POST /api/privacidad/actualizar
Content-Type: application/json
Authorization: Bearer <token>
Apply granular visibility changes to the portfolio. Only include the sections and items that have changed — unchanged items are left as-is. Request body
portafolio
boolean
required
The desired visibility state for the portfolio as a whole.
proyectos
object
Map of { "<id_proyecto>": boolean } for each project whose visibility changed. Omit entirely if no projects changed.
habilidades
object
Map of { "<id_habilidad>": boolean } for changed skills.
experiencia_academica
object
Map of { "<id_experiencia_academica>": boolean } for changed academic entries.
experiencia_laboral
object
Map of { "<id_experiencia>": boolean } for changed work entries.
redes_profesionales
object
Map of { "<id_redes_prof>": boolean } for changed professional links.
Example request body The following hides one project and makes one skill visible, while leaving all other items unchanged:
{
  "portafolio": true,
  "proyectos": {
    "3": false
  },
  "habilidades": {
    "3": true
  }
}
Example curl
curl -X POST https://api.goatportfolio.com/api/privacidad/actualizar \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "portafolio": true,
    "proyectos": { "3": false },
    "habilidades": { "3": true }
  }'
Success response — 200 OK
message
string
Confirmation message.
{
  "message": "Configuración de privacidad actualizada correctamente."
}

Reset all privacy settings to public

POST /api/privacidad/restablecer
Authorization: Bearer <token>
Sets every item in every section to visible: true in a single operation. No request body is required. Example curl
curl -X POST https://api.goatportfolio.com/api/privacidad/restablecer \
  -H "Authorization: Bearer <token>"
Success response — 200 OK
message
string
Confirmation message.
{
  "message": "Privacidad restablecida correctamente. Todo está visible."
}
This operation sets all portfolio items to publicly visible at once — projects, skills, academic experience, work experience, and professional links. There is no bulk undo. If you need to hide specific items after resetting, use the Update privacy settings endpoint to apply targeted changes.

Build docs developers (and LLMs) love