The Profile API gives authenticated users access to their own account details and exposes company-level integration settings. Reading is available to all roles; writing integration settings is restricted toDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/sdurutr436/stay-sidekick/llms.txt
Use this file to discover all available pages before exploring further.
admin. Password changes apply only to the currently authenticated user and require knowledge of the existing password.
All endpoints require
Authorization: Bearer <token>. PUT and DELETE requests also require the X-CSRF-Token header.GET /api/perfil
Returns the profile data of the currently authenticated user: email, role, and company information. Auth required: Yes | Role: anyResponse
trueUser profile object.
Example
PUT /api/perfil/password
Changes the password for the currently authenticated user. Requires the current password for verification. Auth required: Yes | Role: anyRequest
The user’s current password.
The new password to set. Must meet the application’s minimum strength requirements.
Response
200 OK — {"ok": true}
422 Unprocessable Entity — current password is incorrect or new password does not meet strength requirements.
Example
GET /api/perfil/integraciones
Returns the integration status for the authenticated user’s company — PMS connectivity, AI configuration, and whether each service is currently active. Auth required: Yes | Role: anyResponse
trueIntegration status summary.
Example
PUT /api/perfil/integraciones/pms
Creates or replaces the PMS integration for the company. The API key is encrypted at rest and never returned in read endpoints. Auth required: Yes | Role: adminRequest
PMS provider slug. One of:
smoobu, beds24, hostaway, cloudbeds.API key for the PMS. Stored encrypted.
Optional custom base URL for self-hosted or white-labelled PMS instances.
Response
200 OK — {"ok": true}
422 Unprocessable Entity — validation errors.
Example
PUT /api/perfil/integraciones/ia
Configures a BYOK (Bring Your Own Key) AI integration for the company. Once set, AI endpoints use this key instead of the platform’s shared quota. Auth required: Yes | Role: adminRequest
AI provider (e.g.,
openai).API key for the AI provider. Stored encrypted.
Model identifier to use (e.g.,
gpt-4o, gpt-3.5-turbo).Response
200 OK — {"ok": true}
422 Unprocessable Entity — validation errors.
Example
DELETE /api/perfil/integraciones/pms
Removes the PMS integration for the company. After deletion, PMS-dependent features (heat map, contact sync, apartment sync) will be unavailable until a new integration is saved. Auth required: Yes | Role: adminResponse
200 OK — {"ok": true}
Example
DELETE /api/perfil/integraciones/ia
Removes the BYOK AI integration for the company. After deletion, AI endpoints revert to the platform’s shared quota. Auth required: Yes | Role: adminResponse
200 OK — {"ok": true}
Example
GET /api/perfil/xlsx-apartamentos
Returns the XLSX column mapping used when importing apartments from a spreadsheet. Column letters correspond to Excel column headers (e.g.,A, B).
Auth required: Yes | Role: any
Response
trueColumn mapping, or
null if not yet configured.Example
PUT /api/perfil/xlsx-apartamentos
Saves the XLSX column mapping for the apartment importer. Only admins can change this setting. Auth required: Yes | Role: adminRequest
Excel column letter for apartment names.
Excel column letter for the external PMS ID, or
null to skip.Excel column letter for the address, or
null to skip.Excel column letter for the city, or
null to skip.Response
200 OK — {"ok": true}
Example
GET /api/perfil/notificaciones-tardio-config
Returns the company’s late check-in notification configuration: the cut-off hour and any XLSX column mappings used by the notification parser. Auth required: Yes | Role: anyResponse
trueLate notification configuration.
Example
PUT /api/perfil/notificaciones-tardio-config
Saves the late check-in notification configuration for the company. Controls when a check-in is considered “late” and which XLSX columns contain the relevant data. Auth required: Yes | Role: adminRequest
Cut-off time in
HH:MM (24h) format. Arrivals after this time are flagged. Example: "20:00".Excel column letter for the apartment column in the check-in XLSX.
Excel column letter for the arrival time column.
Excel column letter for the guest name column.
Response
200 OK — {"ok": true}
422 Unprocessable Entity — validation errors (e.g., invalid time format).

