@hablala/api-contract 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +590 -0
- package/openapi.json +981 -77
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -43,6 +43,46 @@ interface paths {
|
|
|
43
43
|
patch?: never;
|
|
44
44
|
trace?: never;
|
|
45
45
|
};
|
|
46
|
+
"/v1/invite-links/accept": {
|
|
47
|
+
parameters: {
|
|
48
|
+
query?: never;
|
|
49
|
+
header?: never;
|
|
50
|
+
path?: never;
|
|
51
|
+
cookie?: never;
|
|
52
|
+
};
|
|
53
|
+
get?: never;
|
|
54
|
+
put?: never;
|
|
55
|
+
/**
|
|
56
|
+
* Canjear un link de invitación
|
|
57
|
+
* @description Canjea el secreto de un workspace invite link para unirse a la organización con el rol configurado en el link. A diferencia de la invitación por email, no requiere email-match: el link es el secreto.
|
|
58
|
+
*/
|
|
59
|
+
post: operations["HablalaApiWeb.Orgs.InviteLinkController.accept"];
|
|
60
|
+
delete?: never;
|
|
61
|
+
options?: never;
|
|
62
|
+
head?: never;
|
|
63
|
+
patch?: never;
|
|
64
|
+
trace?: never;
|
|
65
|
+
};
|
|
66
|
+
"/v1/invite-links/preview": {
|
|
67
|
+
parameters: {
|
|
68
|
+
query?: never;
|
|
69
|
+
header?: never;
|
|
70
|
+
path?: never;
|
|
71
|
+
cookie?: never;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Previsualizar un link de invitación
|
|
75
|
+
* @description Devuelve la organización (nombre + icono) a la que lleva un workspace invite link, sin consumirlo ni requerir sesión. Sirve para mostrar a dónde te unes en `/join` antes de confirmar. Siempre 200: el `status` del cuerpo distingue `valid` de `invalid`.
|
|
76
|
+
*/
|
|
77
|
+
get: operations["HablalaApiWeb.Orgs.InviteLinkController.preview"];
|
|
78
|
+
put?: never;
|
|
79
|
+
post?: never;
|
|
80
|
+
delete?: never;
|
|
81
|
+
options?: never;
|
|
82
|
+
head?: never;
|
|
83
|
+
patch?: never;
|
|
84
|
+
trace?: never;
|
|
85
|
+
};
|
|
46
86
|
"/v1/organizations": {
|
|
47
87
|
parameters: {
|
|
48
88
|
query?: never;
|
|
@@ -81,6 +121,50 @@ interface paths {
|
|
|
81
121
|
patch: operations["HablalaApiWeb.Orgs.OrganizationController.update (2)"];
|
|
82
122
|
trace?: never;
|
|
83
123
|
};
|
|
124
|
+
"/v1/organizations/{organization_id}/access-tokens": {
|
|
125
|
+
parameters: {
|
|
126
|
+
query?: never;
|
|
127
|
+
header?: never;
|
|
128
|
+
path?: never;
|
|
129
|
+
cookie?: never;
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* Listar access tokens
|
|
133
|
+
* @description Los access tokens de máquina de la organización (solo metadatos; el secreto no se recupera).
|
|
134
|
+
*/
|
|
135
|
+
get: operations["HablalaApiWeb.AccessTokens.TokenController.index"];
|
|
136
|
+
put?: never;
|
|
137
|
+
/**
|
|
138
|
+
* Crear un access token
|
|
139
|
+
* @description Emite una credencial de máquina (`hpat_…`) con la que un agente (Claude Code / Lá) o un script CI escribe la ontología por HTTP. La respuesta incluye el secreto en claro UNA sola vez (`token`); guárdalo, no se puede recuperar. Los permisos se intersectan con los del creador (un token nunca puede más que quien lo emite).
|
|
140
|
+
*/
|
|
141
|
+
post: operations["HablalaApiWeb.AccessTokens.TokenController.create"];
|
|
142
|
+
delete?: never;
|
|
143
|
+
options?: never;
|
|
144
|
+
head?: never;
|
|
145
|
+
patch?: never;
|
|
146
|
+
trace?: never;
|
|
147
|
+
};
|
|
148
|
+
"/v1/organizations/{organization_id}/access-tokens/{id}": {
|
|
149
|
+
parameters: {
|
|
150
|
+
query?: never;
|
|
151
|
+
header?: never;
|
|
152
|
+
path?: never;
|
|
153
|
+
cookie?: never;
|
|
154
|
+
};
|
|
155
|
+
get?: never;
|
|
156
|
+
put?: never;
|
|
157
|
+
post?: never;
|
|
158
|
+
/**
|
|
159
|
+
* Revocar un access token
|
|
160
|
+
* @description Revoca la credencial (irreversible). Las requests que la usen dejan de autenticar.
|
|
161
|
+
*/
|
|
162
|
+
delete: operations["HablalaApiWeb.AccessTokens.TokenController.delete"];
|
|
163
|
+
options?: never;
|
|
164
|
+
head?: never;
|
|
165
|
+
patch?: never;
|
|
166
|
+
trace?: never;
|
|
167
|
+
};
|
|
84
168
|
"/v1/organizations/{organization_id}/conversations": {
|
|
85
169
|
parameters: {
|
|
86
170
|
query?: never;
|
|
@@ -363,6 +447,26 @@ interface paths {
|
|
|
363
447
|
patch?: never;
|
|
364
448
|
trace?: never;
|
|
365
449
|
};
|
|
450
|
+
"/v1/organizations/{organization_id}/invitations/bulk": {
|
|
451
|
+
parameters: {
|
|
452
|
+
query?: never;
|
|
453
|
+
header?: never;
|
|
454
|
+
path?: never;
|
|
455
|
+
cookie?: never;
|
|
456
|
+
};
|
|
457
|
+
get?: never;
|
|
458
|
+
put?: never;
|
|
459
|
+
/**
|
|
460
|
+
* Invitar a varios emails a la vez
|
|
461
|
+
* @description Crea (o reenvía) invitaciones para una lista de emails, todos con el mismo rol opcional. No es todo-o-nada: cada email se procesa aparte y su resultado se refleja por separado (`sent` / `already` / `invalid`).
|
|
462
|
+
*/
|
|
463
|
+
post: operations["HablalaApiWeb.Orgs.InvitationController.bulk"];
|
|
464
|
+
delete?: never;
|
|
465
|
+
options?: never;
|
|
466
|
+
head?: never;
|
|
467
|
+
patch?: never;
|
|
468
|
+
trace?: never;
|
|
469
|
+
};
|
|
366
470
|
"/v1/organizations/{organization_id}/invitations/{id}": {
|
|
367
471
|
parameters: {
|
|
368
472
|
query?: never;
|
|
@@ -381,6 +485,47 @@ interface paths {
|
|
|
381
485
|
patch?: never;
|
|
382
486
|
trace?: never;
|
|
383
487
|
};
|
|
488
|
+
"/v1/organizations/{organization_id}/invite-link": {
|
|
489
|
+
parameters: {
|
|
490
|
+
query?: never;
|
|
491
|
+
header?: never;
|
|
492
|
+
path?: never;
|
|
493
|
+
cookie?: never;
|
|
494
|
+
};
|
|
495
|
+
/**
|
|
496
|
+
* Obtener el link de invitación de la org
|
|
497
|
+
* @description Devuelve el link activo, creándolo si no existe (lazy). El secreto en claro (`url`) solo viaja cuando se acaba de crear; en llamadas siguientes se devuelve el link sin el claro (que no se puede recuperar).
|
|
498
|
+
*/
|
|
499
|
+
get: operations["HablalaApiWeb.Orgs.InviteLinkController.show"];
|
|
500
|
+
put?: never;
|
|
501
|
+
post?: never;
|
|
502
|
+
/** Revocar el link de invitación */
|
|
503
|
+
delete: operations["HablalaApiWeb.Orgs.InviteLinkController.delete"];
|
|
504
|
+
options?: never;
|
|
505
|
+
head?: never;
|
|
506
|
+
patch?: never;
|
|
507
|
+
trace?: never;
|
|
508
|
+
};
|
|
509
|
+
"/v1/organizations/{organization_id}/invite-link/rotate": {
|
|
510
|
+
parameters: {
|
|
511
|
+
query?: never;
|
|
512
|
+
header?: never;
|
|
513
|
+
path?: never;
|
|
514
|
+
cookie?: never;
|
|
515
|
+
};
|
|
516
|
+
get?: never;
|
|
517
|
+
put?: never;
|
|
518
|
+
/**
|
|
519
|
+
* Rotar el link de invitación
|
|
520
|
+
* @description Revoca el link activo (si hay) y crea uno nuevo. El secreto anterior deja de canjear al instante; el nuevo claro (`url`) viaja en la respuesta.
|
|
521
|
+
*/
|
|
522
|
+
post: operations["HablalaApiWeb.Orgs.InviteLinkController.rotate"];
|
|
523
|
+
delete?: never;
|
|
524
|
+
options?: never;
|
|
525
|
+
head?: never;
|
|
526
|
+
patch?: never;
|
|
527
|
+
trace?: never;
|
|
528
|
+
};
|
|
384
529
|
"/v1/organizations/{organization_id}/memberships": {
|
|
385
530
|
parameters: {
|
|
386
531
|
query?: never;
|
|
@@ -1162,6 +1307,77 @@ interface paths {
|
|
|
1162
1307
|
}
|
|
1163
1308
|
interface components {
|
|
1164
1309
|
schemas: {
|
|
1310
|
+
/**
|
|
1311
|
+
* AccessToken
|
|
1312
|
+
* @description Metadatos de un access token de máquina (`hpat_…`): la credencial con la que un agente (Claude Code / Lá) o un script CI escribe la ontología por HTTP. El secreto en claro NO se incluye aquí — solo se devuelve una vez, al crearlo.
|
|
1313
|
+
*/
|
|
1314
|
+
AccessToken: {
|
|
1315
|
+
/** @description ¿Ni revocado ni expirado? */
|
|
1316
|
+
active: boolean;
|
|
1317
|
+
/** Format: date-time */
|
|
1318
|
+
expiresAt?: string | null;
|
|
1319
|
+
id: string;
|
|
1320
|
+
/** Format: date-time */
|
|
1321
|
+
insertedAt?: string;
|
|
1322
|
+
/** Format: date-time */
|
|
1323
|
+
lastUsedAt?: string | null;
|
|
1324
|
+
/** @description Etiqueta para el panel (p. ej. "CI deploy"). */
|
|
1325
|
+
name: string;
|
|
1326
|
+
/** @description Permisos RBAC del token (`recurso:accion`), su propio scope (mínimo privilegio). */
|
|
1327
|
+
permissions: string[];
|
|
1328
|
+
/** @description Primeros caracteres del secreto (no secreto), p. ej. `hpat_a1b2`. */
|
|
1329
|
+
prefix?: string | null;
|
|
1330
|
+
/** Format: date-time */
|
|
1331
|
+
revokedAt?: string | null;
|
|
1332
|
+
/** Format: date-time */
|
|
1333
|
+
updatedAt?: string;
|
|
1334
|
+
};
|
|
1335
|
+
/**
|
|
1336
|
+
* AccessTokenCreated
|
|
1337
|
+
* @description El token recién creado, con el secreto en claro (`token`) presente UNA sola vez. Guárdalo: no se puede recuperar después.
|
|
1338
|
+
*/
|
|
1339
|
+
AccessTokenCreated: {
|
|
1340
|
+
active?: boolean;
|
|
1341
|
+
/** Format: date-time */
|
|
1342
|
+
expiresAt?: string | null;
|
|
1343
|
+
id: string;
|
|
1344
|
+
/** Format: date-time */
|
|
1345
|
+
insertedAt?: string;
|
|
1346
|
+
/** Format: date-time */
|
|
1347
|
+
lastUsedAt?: string | null;
|
|
1348
|
+
name: string;
|
|
1349
|
+
permissions: string[];
|
|
1350
|
+
prefix?: string | null;
|
|
1351
|
+
/** Format: date-time */
|
|
1352
|
+
revokedAt?: string | null;
|
|
1353
|
+
/** @description El secreto en claro (`hpat_…`). Solo en esta respuesta. */
|
|
1354
|
+
token: string;
|
|
1355
|
+
/** Format: date-time */
|
|
1356
|
+
updatedAt?: string;
|
|
1357
|
+
};
|
|
1358
|
+
/** AccessTokenCreatedResponse */
|
|
1359
|
+
AccessTokenCreatedResponse: {
|
|
1360
|
+
data: components["schemas"]["AccessTokenCreated"];
|
|
1361
|
+
};
|
|
1362
|
+
/**
|
|
1363
|
+
* AccessTokenRequest
|
|
1364
|
+
* @description Datos para emitir un access token. Los permisos se intersectan con los del creador (privilege de-escalation): un token nunca puede más que quien lo emite.
|
|
1365
|
+
*/
|
|
1366
|
+
AccessTokenRequest: {
|
|
1367
|
+
/**
|
|
1368
|
+
* Format: date-time
|
|
1369
|
+
* @description Caducidad opcional (ISO 8601). Omitir = no caduca.
|
|
1370
|
+
*/
|
|
1371
|
+
expiresAt?: string;
|
|
1372
|
+
/** @description Etiqueta para identificarlo en el panel. */
|
|
1373
|
+
name: string;
|
|
1374
|
+
/** @description Permisos RBAC (`recurso:accion`), p. ej. `["objects:create", "objects:read"]`. */
|
|
1375
|
+
permissions: string[];
|
|
1376
|
+
};
|
|
1377
|
+
/** AccessTokensResponse */
|
|
1378
|
+
AccessTokensResponse: {
|
|
1379
|
+
data: components["schemas"]["AccessToken"][];
|
|
1380
|
+
};
|
|
1165
1381
|
/**
|
|
1166
1382
|
* AddMemberRequest
|
|
1167
1383
|
* @description Añade un usuario del tenant a una conversación (invitar a un canal).
|
|
@@ -1231,6 +1447,30 @@ interface components {
|
|
|
1231
1447
|
AttributesResponse: {
|
|
1232
1448
|
data: components["schemas"]["Attribute"][];
|
|
1233
1449
|
};
|
|
1450
|
+
/**
|
|
1451
|
+
* BulkInvitationRequest
|
|
1452
|
+
* @description Invita a varios emails a la vez, todos con el mismo rol opcional.
|
|
1453
|
+
*/
|
|
1454
|
+
BulkInvitationRequest: {
|
|
1455
|
+
/** @description Lista de emails a invitar. Duplicados y vacíos se ignoran. */
|
|
1456
|
+
emails: string[];
|
|
1457
|
+
/** @description Rol que recibirán los invitados (opcional; id público `role_…`). */
|
|
1458
|
+
role_id?: string | null;
|
|
1459
|
+
};
|
|
1460
|
+
/**
|
|
1461
|
+
* BulkInvitationResponse
|
|
1462
|
+
* @description Un resultado por email de entrada, en el mismo orden.
|
|
1463
|
+
*/
|
|
1464
|
+
BulkInvitationResponse: {
|
|
1465
|
+
data: {
|
|
1466
|
+
email: string;
|
|
1467
|
+
/**
|
|
1468
|
+
* @description `sent` (invitación creada/reenviada), `already` (ya es miembro), `invalid` (email mal formado o falló al persistir).
|
|
1469
|
+
* @enum {string}
|
|
1470
|
+
*/
|
|
1471
|
+
status: "sent" | "already" | "invalid";
|
|
1472
|
+
}[];
|
|
1473
|
+
};
|
|
1234
1474
|
/** ChannelRequest */
|
|
1235
1475
|
ChannelRequest: {
|
|
1236
1476
|
channel: {
|
|
@@ -1479,6 +1719,58 @@ interface components {
|
|
|
1479
1719
|
InvitationsResponse: {
|
|
1480
1720
|
data: components["schemas"]["Invitation"][];
|
|
1481
1721
|
};
|
|
1722
|
+
/**
|
|
1723
|
+
* InviteLink
|
|
1724
|
+
* @description Workspace invite link de una organización. El secreto en claro (`token`/`url`) solo está presente al crearlo o rotarlo; en un `show` posterior es `null`.
|
|
1725
|
+
*/
|
|
1726
|
+
InviteLink: {
|
|
1727
|
+
/**
|
|
1728
|
+
* Format: date-time
|
|
1729
|
+
* @description Caducidad opcional; `null` = no caduca.
|
|
1730
|
+
*/
|
|
1731
|
+
expiresAt?: string | null;
|
|
1732
|
+
id: string;
|
|
1733
|
+
/** Format: date-time */
|
|
1734
|
+
insertedAt?: string;
|
|
1735
|
+
/** @description Primeros caracteres del secreto (`invl_a1b2…`), para mostrar sin el claro. */
|
|
1736
|
+
prefix?: string | null;
|
|
1737
|
+
/** @description Rol con el que entra quien canjea el link. */
|
|
1738
|
+
role?: {
|
|
1739
|
+
id?: string;
|
|
1740
|
+
name?: string;
|
|
1741
|
+
} | null;
|
|
1742
|
+
/** @description Secreto en claro (`invl_…`). Presente SOLO al crear/rotar. */
|
|
1743
|
+
token?: string | null;
|
|
1744
|
+
/** Format: date-time */
|
|
1745
|
+
updatedAt?: string;
|
|
1746
|
+
/** @description URL compartible (`/join?token=…`). Presente SOLO al crear/rotar. */
|
|
1747
|
+
url?: string | null;
|
|
1748
|
+
};
|
|
1749
|
+
/** InviteLinkAcceptRequest */
|
|
1750
|
+
InviteLinkAcceptRequest: {
|
|
1751
|
+
/** @description Secreto del link (`invl_…`) a canjear. */
|
|
1752
|
+
token: string;
|
|
1753
|
+
};
|
|
1754
|
+
/**
|
|
1755
|
+
* InviteLinkPreviewResponse
|
|
1756
|
+
* @description Datos públicos de un invite link para mostrar a qué organización lleva.
|
|
1757
|
+
*/
|
|
1758
|
+
InviteLinkPreviewResponse: {
|
|
1759
|
+
data: {
|
|
1760
|
+
/** @description Icono del workspace; `null` usa el fallback de iniciales. */
|
|
1761
|
+
organizationAvatarUrl?: string | null;
|
|
1762
|
+
organizationName?: string | null;
|
|
1763
|
+
/**
|
|
1764
|
+
* @description `valid` (se puede unir) o `invalid` (revocado/caducado/inexistente).
|
|
1765
|
+
* @enum {string}
|
|
1766
|
+
*/
|
|
1767
|
+
status: "valid" | "invalid";
|
|
1768
|
+
};
|
|
1769
|
+
};
|
|
1770
|
+
/** InviteLinkResponse */
|
|
1771
|
+
InviteLinkResponse: {
|
|
1772
|
+
data: components["schemas"]["InviteLink"];
|
|
1773
|
+
};
|
|
1482
1774
|
/**
|
|
1483
1775
|
* LogicalQueryRequest
|
|
1484
1776
|
* @description Consulta lógica con slugs del diccionario. Ver docs/04-query-engine.
|
|
@@ -2356,6 +2648,71 @@ interface operations {
|
|
|
2356
2648
|
};
|
|
2357
2649
|
};
|
|
2358
2650
|
};
|
|
2651
|
+
"HablalaApiWeb.Orgs.InviteLinkController.accept": {
|
|
2652
|
+
parameters: {
|
|
2653
|
+
query?: never;
|
|
2654
|
+
header?: never;
|
|
2655
|
+
path?: never;
|
|
2656
|
+
cookie?: never;
|
|
2657
|
+
};
|
|
2658
|
+
/** @description Secreto del link */
|
|
2659
|
+
requestBody?: {
|
|
2660
|
+
content: {
|
|
2661
|
+
"application/json": components["schemas"]["InviteLinkAcceptRequest"];
|
|
2662
|
+
};
|
|
2663
|
+
};
|
|
2664
|
+
responses: {
|
|
2665
|
+
/** @description Membresía creada */
|
|
2666
|
+
201: {
|
|
2667
|
+
headers: {
|
|
2668
|
+
[name: string]: unknown;
|
|
2669
|
+
};
|
|
2670
|
+
content: {
|
|
2671
|
+
"application/json": components["schemas"]["MembershipResponse"];
|
|
2672
|
+
};
|
|
2673
|
+
};
|
|
2674
|
+
/** @description Link inválido, revocado o caducado */
|
|
2675
|
+
404: {
|
|
2676
|
+
headers: {
|
|
2677
|
+
[name: string]: unknown;
|
|
2678
|
+
};
|
|
2679
|
+
content: {
|
|
2680
|
+
"application/json": components["schemas"]["Error"];
|
|
2681
|
+
};
|
|
2682
|
+
};
|
|
2683
|
+
/** @description Ya eres miembro */
|
|
2684
|
+
422: {
|
|
2685
|
+
headers: {
|
|
2686
|
+
[name: string]: unknown;
|
|
2687
|
+
};
|
|
2688
|
+
content: {
|
|
2689
|
+
"application/json": components["schemas"]["Error"];
|
|
2690
|
+
};
|
|
2691
|
+
};
|
|
2692
|
+
};
|
|
2693
|
+
};
|
|
2694
|
+
"HablalaApiWeb.Orgs.InviteLinkController.preview": {
|
|
2695
|
+
parameters: {
|
|
2696
|
+
query: {
|
|
2697
|
+
token: string;
|
|
2698
|
+
};
|
|
2699
|
+
header?: never;
|
|
2700
|
+
path?: never;
|
|
2701
|
+
cookie?: never;
|
|
2702
|
+
};
|
|
2703
|
+
requestBody?: never;
|
|
2704
|
+
responses: {
|
|
2705
|
+
/** @description Datos del link */
|
|
2706
|
+
200: {
|
|
2707
|
+
headers: {
|
|
2708
|
+
[name: string]: unknown;
|
|
2709
|
+
};
|
|
2710
|
+
content: {
|
|
2711
|
+
"application/json": components["schemas"]["InviteLinkPreviewResponse"];
|
|
2712
|
+
};
|
|
2713
|
+
};
|
|
2714
|
+
};
|
|
2715
|
+
};
|
|
2359
2716
|
"HablalaApiWeb.Orgs.OrganizationController.index": {
|
|
2360
2717
|
parameters: {
|
|
2361
2718
|
query?: never;
|
|
@@ -2533,6 +2890,103 @@ interface operations {
|
|
|
2533
2890
|
};
|
|
2534
2891
|
};
|
|
2535
2892
|
};
|
|
2893
|
+
"HablalaApiWeb.AccessTokens.TokenController.index": {
|
|
2894
|
+
parameters: {
|
|
2895
|
+
query?: never;
|
|
2896
|
+
header?: never;
|
|
2897
|
+
path: {
|
|
2898
|
+
organization_id: string;
|
|
2899
|
+
};
|
|
2900
|
+
cookie?: never;
|
|
2901
|
+
};
|
|
2902
|
+
requestBody?: never;
|
|
2903
|
+
responses: {
|
|
2904
|
+
/** @description Tokens */
|
|
2905
|
+
200: {
|
|
2906
|
+
headers: {
|
|
2907
|
+
[name: string]: unknown;
|
|
2908
|
+
};
|
|
2909
|
+
content: {
|
|
2910
|
+
"application/json": components["schemas"]["AccessTokensResponse"];
|
|
2911
|
+
};
|
|
2912
|
+
};
|
|
2913
|
+
};
|
|
2914
|
+
};
|
|
2915
|
+
"HablalaApiWeb.AccessTokens.TokenController.create": {
|
|
2916
|
+
parameters: {
|
|
2917
|
+
query?: never;
|
|
2918
|
+
header?: never;
|
|
2919
|
+
path: {
|
|
2920
|
+
organization_id: string;
|
|
2921
|
+
};
|
|
2922
|
+
cookie?: never;
|
|
2923
|
+
};
|
|
2924
|
+
/** @description Datos del token */
|
|
2925
|
+
requestBody?: {
|
|
2926
|
+
content: {
|
|
2927
|
+
"application/json": components["schemas"]["AccessTokenRequest"];
|
|
2928
|
+
};
|
|
2929
|
+
};
|
|
2930
|
+
responses: {
|
|
2931
|
+
/** @description Token creado (con secreto) */
|
|
2932
|
+
201: {
|
|
2933
|
+
headers: {
|
|
2934
|
+
[name: string]: unknown;
|
|
2935
|
+
};
|
|
2936
|
+
content: {
|
|
2937
|
+
"application/json": components["schemas"]["AccessTokenCreatedResponse"];
|
|
2938
|
+
};
|
|
2939
|
+
};
|
|
2940
|
+
/** @description Sin permiso */
|
|
2941
|
+
403: {
|
|
2942
|
+
headers: {
|
|
2943
|
+
[name: string]: unknown;
|
|
2944
|
+
};
|
|
2945
|
+
content: {
|
|
2946
|
+
"application/json": components["schemas"]["Error"];
|
|
2947
|
+
};
|
|
2948
|
+
};
|
|
2949
|
+
/** @description Error de validación */
|
|
2950
|
+
422: {
|
|
2951
|
+
headers: {
|
|
2952
|
+
[name: string]: unknown;
|
|
2953
|
+
};
|
|
2954
|
+
content: {
|
|
2955
|
+
"application/json": components["schemas"]["Error"];
|
|
2956
|
+
};
|
|
2957
|
+
};
|
|
2958
|
+
};
|
|
2959
|
+
};
|
|
2960
|
+
"HablalaApiWeb.AccessTokens.TokenController.delete": {
|
|
2961
|
+
parameters: {
|
|
2962
|
+
query?: never;
|
|
2963
|
+
header?: never;
|
|
2964
|
+
path: {
|
|
2965
|
+
organization_id: string;
|
|
2966
|
+
id: string;
|
|
2967
|
+
};
|
|
2968
|
+
cookie?: never;
|
|
2969
|
+
};
|
|
2970
|
+
requestBody?: never;
|
|
2971
|
+
responses: {
|
|
2972
|
+
/** @description Revocado */
|
|
2973
|
+
204: {
|
|
2974
|
+
headers: {
|
|
2975
|
+
[name: string]: unknown;
|
|
2976
|
+
};
|
|
2977
|
+
content?: never;
|
|
2978
|
+
};
|
|
2979
|
+
/** @description Sin permiso */
|
|
2980
|
+
403: {
|
|
2981
|
+
headers: {
|
|
2982
|
+
[name: string]: unknown;
|
|
2983
|
+
};
|
|
2984
|
+
content: {
|
|
2985
|
+
"application/json": components["schemas"]["Error"];
|
|
2986
|
+
};
|
|
2987
|
+
};
|
|
2988
|
+
};
|
|
2989
|
+
};
|
|
2536
2990
|
"HablalaApiWeb.Messaging.ConversationController.index": {
|
|
2537
2991
|
parameters: {
|
|
2538
2992
|
query?: never;
|
|
@@ -3321,6 +3775,51 @@ interface operations {
|
|
|
3321
3775
|
};
|
|
3322
3776
|
};
|
|
3323
3777
|
};
|
|
3778
|
+
"HablalaApiWeb.Orgs.InvitationController.bulk": {
|
|
3779
|
+
parameters: {
|
|
3780
|
+
query?: never;
|
|
3781
|
+
header?: never;
|
|
3782
|
+
path: {
|
|
3783
|
+
organization_id: string;
|
|
3784
|
+
};
|
|
3785
|
+
cookie?: never;
|
|
3786
|
+
};
|
|
3787
|
+
/** @description Emails a invitar */
|
|
3788
|
+
requestBody?: {
|
|
3789
|
+
content: {
|
|
3790
|
+
"application/json": components["schemas"]["BulkInvitationRequest"];
|
|
3791
|
+
};
|
|
3792
|
+
};
|
|
3793
|
+
responses: {
|
|
3794
|
+
/** @description Resultado por email */
|
|
3795
|
+
200: {
|
|
3796
|
+
headers: {
|
|
3797
|
+
[name: string]: unknown;
|
|
3798
|
+
};
|
|
3799
|
+
content: {
|
|
3800
|
+
"application/json": components["schemas"]["BulkInvitationResponse"];
|
|
3801
|
+
};
|
|
3802
|
+
};
|
|
3803
|
+
/** @description Sin permiso */
|
|
3804
|
+
403: {
|
|
3805
|
+
headers: {
|
|
3806
|
+
[name: string]: unknown;
|
|
3807
|
+
};
|
|
3808
|
+
content: {
|
|
3809
|
+
"application/json": components["schemas"]["Error"];
|
|
3810
|
+
};
|
|
3811
|
+
};
|
|
3812
|
+
/** @description Error de validación */
|
|
3813
|
+
422: {
|
|
3814
|
+
headers: {
|
|
3815
|
+
[name: string]: unknown;
|
|
3816
|
+
};
|
|
3817
|
+
content: {
|
|
3818
|
+
"application/json": components["schemas"]["Error"];
|
|
3819
|
+
};
|
|
3820
|
+
};
|
|
3821
|
+
};
|
|
3822
|
+
};
|
|
3324
3823
|
"HablalaApiWeb.Orgs.InvitationController.show": {
|
|
3325
3824
|
parameters: {
|
|
3326
3825
|
query?: never;
|
|
@@ -3383,6 +3882,97 @@ interface operations {
|
|
|
3383
3882
|
};
|
|
3384
3883
|
};
|
|
3385
3884
|
};
|
|
3885
|
+
"HablalaApiWeb.Orgs.InviteLinkController.show": {
|
|
3886
|
+
parameters: {
|
|
3887
|
+
query?: never;
|
|
3888
|
+
header?: never;
|
|
3889
|
+
path: {
|
|
3890
|
+
organization_id: string;
|
|
3891
|
+
};
|
|
3892
|
+
cookie?: never;
|
|
3893
|
+
};
|
|
3894
|
+
requestBody?: never;
|
|
3895
|
+
responses: {
|
|
3896
|
+
/** @description Link de invitación */
|
|
3897
|
+
200: {
|
|
3898
|
+
headers: {
|
|
3899
|
+
[name: string]: unknown;
|
|
3900
|
+
};
|
|
3901
|
+
content: {
|
|
3902
|
+
"application/json": components["schemas"]["InviteLinkResponse"];
|
|
3903
|
+
};
|
|
3904
|
+
};
|
|
3905
|
+
/** @description Sin permiso */
|
|
3906
|
+
403: {
|
|
3907
|
+
headers: {
|
|
3908
|
+
[name: string]: unknown;
|
|
3909
|
+
};
|
|
3910
|
+
content: {
|
|
3911
|
+
"application/json": components["schemas"]["Error"];
|
|
3912
|
+
};
|
|
3913
|
+
};
|
|
3914
|
+
};
|
|
3915
|
+
};
|
|
3916
|
+
"HablalaApiWeb.Orgs.InviteLinkController.delete": {
|
|
3917
|
+
parameters: {
|
|
3918
|
+
query?: never;
|
|
3919
|
+
header?: never;
|
|
3920
|
+
path: {
|
|
3921
|
+
organization_id: string;
|
|
3922
|
+
};
|
|
3923
|
+
cookie?: never;
|
|
3924
|
+
};
|
|
3925
|
+
requestBody?: never;
|
|
3926
|
+
responses: {
|
|
3927
|
+
/** @description Revocado (idempotente: sin link activo también responde 204) */
|
|
3928
|
+
204: {
|
|
3929
|
+
headers: {
|
|
3930
|
+
[name: string]: unknown;
|
|
3931
|
+
};
|
|
3932
|
+
content?: never;
|
|
3933
|
+
};
|
|
3934
|
+
/** @description Sin permiso */
|
|
3935
|
+
403: {
|
|
3936
|
+
headers: {
|
|
3937
|
+
[name: string]: unknown;
|
|
3938
|
+
};
|
|
3939
|
+
content: {
|
|
3940
|
+
"application/json": components["schemas"]["Error"];
|
|
3941
|
+
};
|
|
3942
|
+
};
|
|
3943
|
+
};
|
|
3944
|
+
};
|
|
3945
|
+
"HablalaApiWeb.Orgs.InviteLinkController.rotate": {
|
|
3946
|
+
parameters: {
|
|
3947
|
+
query?: never;
|
|
3948
|
+
header?: never;
|
|
3949
|
+
path: {
|
|
3950
|
+
organization_id: string;
|
|
3951
|
+
};
|
|
3952
|
+
cookie?: never;
|
|
3953
|
+
};
|
|
3954
|
+
requestBody?: never;
|
|
3955
|
+
responses: {
|
|
3956
|
+
/** @description Link rotado */
|
|
3957
|
+
201: {
|
|
3958
|
+
headers: {
|
|
3959
|
+
[name: string]: unknown;
|
|
3960
|
+
};
|
|
3961
|
+
content: {
|
|
3962
|
+
"application/json": components["schemas"]["InviteLinkResponse"];
|
|
3963
|
+
};
|
|
3964
|
+
};
|
|
3965
|
+
/** @description Sin permiso */
|
|
3966
|
+
403: {
|
|
3967
|
+
headers: {
|
|
3968
|
+
[name: string]: unknown;
|
|
3969
|
+
};
|
|
3970
|
+
content: {
|
|
3971
|
+
"application/json": components["schemas"]["Error"];
|
|
3972
|
+
};
|
|
3973
|
+
};
|
|
3974
|
+
};
|
|
3975
|
+
};
|
|
3386
3976
|
"HablalaApiWeb.Orgs.MembershipController.index": {
|
|
3387
3977
|
parameters: {
|
|
3388
3978
|
query?: never;
|