API · tenancy
Operações de tenancy do contrato OpenAPI que aceitam uma chave de API.
Atualizado:
PATCH /workspace
Editar negocio (owner o manager; requiere X-Csrf-Token)
Bearer settings:write admite solo payments_enabled, completion_payment_required, chat_payment, pay_info y brand_accent, sin otros campos; cookie requiere CSRF. Solo owner cambia payments_enabled/completion_payment_required; chat_payment y pay_info requieren workspace:configure y payments:accounts_configure (owner/manager). PATCH atómico de identidad, apariencia, contacto, dirección y perfil fiscal. Solo owner modifica fiscal_data/fiscal_address; manager lee y edita los demás campos. Cambiar currency se rechaza con 409 future_bookings_conflict si existen cobros o valores financieros congelados. Cambiar currency se rechaza con 409 future_bookings_conflict si existen cobros o valores financieros congelados. Cambiar currency se rechaza con 409 future_bookings_conflict si existen cobros o valores financieros congelados. source_plan_id adopta un plan propio de Wagy en la misma transacción (se revalidan estado, expiración, huella y permisos). Timezone/moneda con reservas futuras activas devuelve 409 sin cambios parciales. Datos fiscales solo owner/manager; staff recibe null. Respuestas no-store; logo thumbnail PNG/JPEG inline menor de 5 MB, sin URL externa.
- Autenticação: Chave de API ou sessão do painel
- Escopos:
settings:write
Parâmetros
| Nome | Em | Obrigatório | Tipo | Descrição |
|---|---|---|---|---|
X-Csrf-Token | header | Não | string |
Corpo da solicitação (obrigatório)
application/json: WorkspaceSettingsPatch
Respostas
| Status | Descrição |
|---|---|
200 | Actualizado (WorkspaceSettings) |
default | Error (RFC 9457) (Problem) |
GET /workspace/audit
Revisar mi configuración (puntaje de puesta a punto)
FIU-524. Reglas fijas sobre el proyecto real, sin IA y sin costo: devuelve un puntaje 0-100, solo lo que falta ordenado por impacto y, por cada ítem, la operación de API que lo arregla con sus parámetros sugeridos (fix.operation, fix.params) y, si hace falta un dato del dueño, la pregunta de una línea (fix.ask). Si no falta nada, all_good es true e items va vacío. Owner y manager; API key con config:read. El idioma sale de lang o del proyecto. Sin caché.
- Autenticação: Chave de API ou sessão do painel
- Escopos:
config:read
Parâmetros
| Nome | Em | Obrigatório | Tipo | Descrição |
|---|---|---|---|---|
lang | query | Não | string pt, es, en |
Respostas
| Status | Descrição |
|---|---|
200 | Puntaje y lo que falta; Cache-Control no-store (SetupAudit) |
default | Error (RFC 9457) (Problem) |
GET /workspace/trait-catalog
Catálogo aprobado completo con versión, cambios y preguntas pt/es/en
Base versionada más revisiones inmutables aprobadas. API key config:read. No incluye propuestas.
- Autenticação: Chave de API ou sessão do painel
- Escopos:
config:read
Respostas
| Status | Descrição |
|---|---|
200 | Catálogo exportable como catalog.json (TraitCatalog) |
default | Error (RFC 9457) (Problem) |
GET /workspace/trait-proposals
Propuestas y etiquetas propias del proyecto
Todos los roles; API key config:read. Hasta 200 por página, orden por UUID; cursor UUID de la última fila.
- Autenticação: Chave de API ou sessão do painel
- Escopos:
config:read
Parâmetros
| Nome | Em | Obrigatório | Tipo | Descrição |
|---|---|---|---|---|
cursor | query | Não | string (uuid) |
Respostas
| Status | Descrição |
|---|---|
200 | Propuestas propias (TraitProposalPage) |
default | Error (RFC 9457) (Problem) |
POST /workspace/trait-proposals
Proponer un rasgo sin aplicarlo (confirm=true)
Permiso workspace:configure; API key settings:write. CSRF para cookie. Máximo 10 pendientes y 3 nuevas por día UTC por negocio; 429 al superar. Deduplicación local por clave o similitud >=0.88 en nombres normalizados pt/es/en; devuelve la propuesta existente sin consumir cupo. Una coincidencia en catálogo devuelve 409 trait_already_catalogued. No cambia rasgos, glosario, flujos ni bot.
- Autenticação: Chave de API ou sessão do painel
- Escopos:
settings:write
Parâmetros
| Nome | Em | Obrigatório | Tipo | Descrição |
|---|---|---|---|---|
X-Csrf-Token | header | Não | string |
Corpo da solicitação (obrigatório)
application/json: TraitProposalInput
Respostas
| Status | Descrição |
|---|---|
200 | Propuesta pendiente o duplicado existente (TraitProposal) |
429 | Error (RFC 9457) (Problem) |
default | Error (RFC 9457) (Problem) |
GET /workspace/traits
Rasgos del negocio, etiqueta libre y ejemplos aplicados (todos los roles)
F3-407 (ADR 0036). traits son claves del catálogo versionado (catalog_version) en su orden; vacía = todavía no se preguntaron (los proyectos que ya existían arrancan así). business_label es una etiqueta libre de rubro, solo informativa. examples lista los ejemplos compuestos y sus partes. API key config:read.
- Autenticação: Chave de API ou sessão do painel
- Escopos:
config:read
Respostas
| Status | Descrição |
|---|---|
200 | OK (TraitsState) |
default | Error (RFC 9457) (Problem) |
PUT /workspace/traits
Guardar rasgos y etiqueta libre (owner o manager; requiere X-Csrf-Token)
Reemplaza la lista completa (sin repetir, se guarda en el orden del catálogo) y la etiqueta (hasta 80 caracteres; vacía la borra). Un rasgo fuera del catálogo es 422 unknown_trait con valid_traits; proponer rasgos nuevos es otra operación (F3-565). Inicializa el glosario por rasgos y ejemplo parecido sin otra pregunta; mientras conserve el valor generado, acompaña cambios posteriores. Conserva ediciones propias. No cambia reglas del bot ni de la agenda. Audita workspace.traits_updated. Permiso workspace:configure; API key settings:write.
- Autenticação: Chave de API ou sessão do painel
- Escopos:
settings:write
Parâmetros
| Nome | Em | Obrigatório | Tipo | Descrição |
|---|---|---|---|---|
X-Csrf-Token | header | Não | string |
Corpo da solicitação (obrigatório)
application/json: TraitsInput
Respostas
| Status | Descrição |
|---|---|
200 | Guardado (TraitsState) |
422 | Error (RFC 9457) (Problem) |
default | Error (RFC 9457) (Problem) |
GET /workspace/vocabulary
Vocabulario del proyecto (owner o manager)
Cómo se nombran Servicio, Tarea, Recurso y Cliente (singular, plural y género por idioma) y, opcionalmente, cada tipo de recurso (kinds, p. ej. «cancha» para las salas de un club). Es presentación; no cambia rutas, tablas ni permisos. Sin vocabulario guardado (is_default) todos los textos son los genéricos de siempre.
- Autenticação: Chave de API ou sessão do painel
- Escopos:
config:read
Respostas
| Status | Descrição |
|---|---|
200 | OK (Vocabulary) |
default | Error (RFC 9457) (Problem) |
PATCH /workspace/vocabulary
Editar el vocabulario (owner o manager; requiere X-Csrf-Token)
Elegir preset sin terms/kinds descarta esas ediciones; terms y kinds (término por tipo de recurso, FIU-470) reemplazan cada uno sus ediciones anteriores. Términos de 1 a 40 caracteres, sin HTML ni llaves. Escribe auditoría workspace.vocabulary_updated.
- Autenticação: Chave de API ou sessão do painel
- Escopos:
settings:write
Parâmetros
| Nome | Em | Obrigatório | Tipo | Descrição |
|---|---|---|---|---|
X-Csrf-Token | header | Sim | string |
Corpo da solicitação (obrigatório)
application/json: VocabularyPatch
Respostas
| Status | Descrição |
|---|---|
200 | Actualizado (Vocabulary) |
default | Error (RFC 9457) (Problem) |