@hablala/api-contract 0.8.0 → 0.9.0
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 +1435 -131
- package/openapi.json +7787 -5878
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -1355,6 +1355,46 @@ interface paths {
|
|
|
1355
1355
|
patch?: never;
|
|
1356
1356
|
trace?: never;
|
|
1357
1357
|
};
|
|
1358
|
+
"/v1/organization": {
|
|
1359
|
+
parameters: {
|
|
1360
|
+
query?: never;
|
|
1361
|
+
header?: never;
|
|
1362
|
+
path?: never;
|
|
1363
|
+
cookie?: never;
|
|
1364
|
+
};
|
|
1365
|
+
/**
|
|
1366
|
+
* Ver la organización del token (estado de propiedad)
|
|
1367
|
+
* @description La organización a la que pertenece la credencial de máquina, con su `status` (`active`/`unclaimed`/`claimed`) y sus relojes. Es el endpoint de polling del agente que provisionó una claimable org: mientras responda `unclaimed`, nadie la reclamó; un `401` posterior significa que se reclamó (los tokens del agente se rotaron) o venció.
|
|
1368
|
+
*/
|
|
1369
|
+
get: operations["HablalaApiWeb.Machine.OrganizationController.show"];
|
|
1370
|
+
put?: never;
|
|
1371
|
+
post?: never;
|
|
1372
|
+
delete?: never;
|
|
1373
|
+
options?: never;
|
|
1374
|
+
head?: never;
|
|
1375
|
+
patch?: never;
|
|
1376
|
+
trace?: never;
|
|
1377
|
+
};
|
|
1378
|
+
"/v1/organization/refresh-claim-url": {
|
|
1379
|
+
parameters: {
|
|
1380
|
+
query?: never;
|
|
1381
|
+
header?: never;
|
|
1382
|
+
path?: never;
|
|
1383
|
+
cookie?: never;
|
|
1384
|
+
};
|
|
1385
|
+
get?: never;
|
|
1386
|
+
put?: never;
|
|
1387
|
+
/**
|
|
1388
|
+
* Renovar el claim URL de una claimable organization
|
|
1389
|
+
* @description Emite un claim link nuevo (el anterior deja de canjear al instante) con su TTL corto, SIN extender el TTL del recurso. Falla si la org ya fue reclamada (`409`) o si el recurso venció (`410`).
|
|
1390
|
+
*/
|
|
1391
|
+
post: operations["HablalaApiWeb.Machine.OrganizationController.refresh_claim_url"];
|
|
1392
|
+
delete?: never;
|
|
1393
|
+
options?: never;
|
|
1394
|
+
head?: never;
|
|
1395
|
+
patch?: never;
|
|
1396
|
+
trace?: never;
|
|
1397
|
+
};
|
|
1358
1398
|
"/v1/organizations": {
|
|
1359
1399
|
parameters: {
|
|
1360
1400
|
query?: never;
|
|
@@ -1373,6 +1413,66 @@ interface paths {
|
|
|
1373
1413
|
patch?: never;
|
|
1374
1414
|
trace?: never;
|
|
1375
1415
|
};
|
|
1416
|
+
"/v1/organizations/claim": {
|
|
1417
|
+
parameters: {
|
|
1418
|
+
query?: never;
|
|
1419
|
+
header?: never;
|
|
1420
|
+
path?: never;
|
|
1421
|
+
cookie?: never;
|
|
1422
|
+
};
|
|
1423
|
+
get?: never;
|
|
1424
|
+
put?: never;
|
|
1425
|
+
/**
|
|
1426
|
+
* Reclamar una claimable organization
|
|
1427
|
+
* @description Consuma la **transferencia**: el usuario autenticado se vuelve `owner` de la org del claim token, la org pasa a `claimed` y los secretos del agente se ROTAN (todos los `mat_` y API keys activos se revocan; se emite un par nuevo que se revela aquí una única vez). Registra el evento `organization.claimed`.
|
|
1428
|
+
*/
|
|
1429
|
+
post: operations["HablalaApiWeb.Orgs.ClaimableOrganizationController.claim"];
|
|
1430
|
+
delete?: never;
|
|
1431
|
+
options?: never;
|
|
1432
|
+
head?: never;
|
|
1433
|
+
patch?: never;
|
|
1434
|
+
trace?: never;
|
|
1435
|
+
};
|
|
1436
|
+
"/v1/organizations/claimable": {
|
|
1437
|
+
parameters: {
|
|
1438
|
+
query?: never;
|
|
1439
|
+
header?: never;
|
|
1440
|
+
path?: never;
|
|
1441
|
+
cookie?: never;
|
|
1442
|
+
};
|
|
1443
|
+
get?: never;
|
|
1444
|
+
put?: never;
|
|
1445
|
+
/**
|
|
1446
|
+
* Provisionar una claimable organization (sin cuenta)
|
|
1447
|
+
* @description El **signup invertido** para agentes: crea una organización real `unclaimed` (sin dueño) y devuelve — UNA sola vez — el par de API keys (`pk_`/`sk_`), el machine access token (`mat_`, preset `account_as_code`) y el `claimUrl` con el que un humano la reclama. La org caduca (`expiresAt`, 72 h) si nadie la reclama; el claim link tiene su propio TTL renovable. Al reclamarse, los secretos del agente se ROTAN. Sin autenticación; rate limit estricto por IP.
|
|
1448
|
+
*/
|
|
1449
|
+
post: operations["HablalaApiWeb.Orgs.ClaimableOrganizationController.create"];
|
|
1450
|
+
delete?: never;
|
|
1451
|
+
options?: never;
|
|
1452
|
+
head?: never;
|
|
1453
|
+
patch?: never;
|
|
1454
|
+
trace?: never;
|
|
1455
|
+
};
|
|
1456
|
+
"/v1/organizations/claimable/preview": {
|
|
1457
|
+
parameters: {
|
|
1458
|
+
query?: never;
|
|
1459
|
+
header?: never;
|
|
1460
|
+
path?: never;
|
|
1461
|
+
cookie?: never;
|
|
1462
|
+
};
|
|
1463
|
+
/**
|
|
1464
|
+
* Previsualizar un claim token
|
|
1465
|
+
* @description A qué organización lleva un claim token, sin consumirlo ni requerir sesión (la pantalla de claim lo muestra antes de pedir login). Siempre `200`: `status` distingue un token válido de uno inválido/vencido/ya reclamado (sin filtrar el motivo).
|
|
1466
|
+
*/
|
|
1467
|
+
get: operations["HablalaApiWeb.Orgs.ClaimableOrganizationController.preview"];
|
|
1468
|
+
put?: never;
|
|
1469
|
+
post?: never;
|
|
1470
|
+
delete?: never;
|
|
1471
|
+
options?: never;
|
|
1472
|
+
head?: never;
|
|
1473
|
+
patch?: never;
|
|
1474
|
+
trace?: never;
|
|
1475
|
+
};
|
|
1376
1476
|
"/v1/organizations/{id}": {
|
|
1377
1477
|
parameters: {
|
|
1378
1478
|
query?: never;
|
|
@@ -3398,6 +3498,119 @@ interface paths {
|
|
|
3398
3498
|
patch?: never;
|
|
3399
3499
|
trace?: never;
|
|
3400
3500
|
};
|
|
3501
|
+
"/v1/organizations/{organization_id}/webhooks": {
|
|
3502
|
+
parameters: {
|
|
3503
|
+
query?: never;
|
|
3504
|
+
header?: never;
|
|
3505
|
+
path?: never;
|
|
3506
|
+
cookie?: never;
|
|
3507
|
+
};
|
|
3508
|
+
/**
|
|
3509
|
+
* Listar webhook endpoints
|
|
3510
|
+
* @description Los webhook endpoints de la organización (solo metadatos; el signing secret se obtiene con `GET .../:id/secret`).
|
|
3511
|
+
*/
|
|
3512
|
+
get: operations["HablalaApiWeb.Webhooks.WebhookController.index"];
|
|
3513
|
+
put?: never;
|
|
3514
|
+
/**
|
|
3515
|
+
* Crear un webhook endpoint
|
|
3516
|
+
* @description Suscribe una URL a eventos del event store. La plataforma genera el **signing secret** (`whsec_…`) y lo incluye en esta respuesta (`secret`); con él el receptor verifica la firma de cada entrega (spec Standard Webhooks). También puede recuperarse después con `GET .../:id/secret`.
|
|
3517
|
+
*/
|
|
3518
|
+
post: operations["HablalaApiWeb.Webhooks.WebhookController.create"];
|
|
3519
|
+
delete?: never;
|
|
3520
|
+
options?: never;
|
|
3521
|
+
head?: never;
|
|
3522
|
+
patch?: never;
|
|
3523
|
+
trace?: never;
|
|
3524
|
+
};
|
|
3525
|
+
"/v1/organizations/{organization_id}/webhooks/{id}": {
|
|
3526
|
+
parameters: {
|
|
3527
|
+
query?: never;
|
|
3528
|
+
header?: never;
|
|
3529
|
+
path?: never;
|
|
3530
|
+
cookie?: never;
|
|
3531
|
+
};
|
|
3532
|
+
/** Ver un webhook endpoint */
|
|
3533
|
+
get: operations["HablalaApiWeb.Webhooks.WebhookController.show"];
|
|
3534
|
+
/**
|
|
3535
|
+
* Actualizar un webhook endpoint
|
|
3536
|
+
* @description Cambia `url`/`enabledEvents`/`status`. Reactivar (`status: "enabled"`) un endpoint auto-deshabilitado limpia el motivo del disable. El slug y el secret no se tocan aquí.
|
|
3537
|
+
*/
|
|
3538
|
+
put: operations["HablalaApiWeb.Webhooks.WebhookController.update"];
|
|
3539
|
+
post?: never;
|
|
3540
|
+
/**
|
|
3541
|
+
* Borrar un webhook endpoint
|
|
3542
|
+
* @description Elimina el endpoint y su historial de deliveries. Deja de recibir entregas.
|
|
3543
|
+
*/
|
|
3544
|
+
delete: operations["HablalaApiWeb.Webhooks.WebhookController.delete"];
|
|
3545
|
+
options?: never;
|
|
3546
|
+
head?: never;
|
|
3547
|
+
/**
|
|
3548
|
+
* Actualizar un webhook endpoint
|
|
3549
|
+
* @description Cambia `url`/`enabledEvents`/`status`. Reactivar (`status: "enabled"`) un endpoint auto-deshabilitado limpia el motivo del disable. El slug y el secret no se tocan aquí.
|
|
3550
|
+
*/
|
|
3551
|
+
patch: operations["HablalaApiWeb.Webhooks.WebhookController.update (2)"];
|
|
3552
|
+
trace?: never;
|
|
3553
|
+
};
|
|
3554
|
+
"/v1/organizations/{organization_id}/webhooks/{id}/deliveries": {
|
|
3555
|
+
parameters: {
|
|
3556
|
+
query?: never;
|
|
3557
|
+
header?: never;
|
|
3558
|
+
path?: never;
|
|
3559
|
+
cookie?: never;
|
|
3560
|
+
};
|
|
3561
|
+
/**
|
|
3562
|
+
* Listar deliveries de un endpoint
|
|
3563
|
+
* @description La bitácora de entregas (canónico GitHub): qué eventos se entregaron, cuántos intentos costaron y con qué respondió el receptor. Más recientes primero (máx. 50).
|
|
3564
|
+
*/
|
|
3565
|
+
get: operations["HablalaApiWeb.Webhooks.WebhookController.deliveries"];
|
|
3566
|
+
put?: never;
|
|
3567
|
+
post?: never;
|
|
3568
|
+
delete?: never;
|
|
3569
|
+
options?: never;
|
|
3570
|
+
head?: never;
|
|
3571
|
+
patch?: never;
|
|
3572
|
+
trace?: never;
|
|
3573
|
+
};
|
|
3574
|
+
"/v1/organizations/{organization_id}/webhooks/{id}/rotate": {
|
|
3575
|
+
parameters: {
|
|
3576
|
+
query?: never;
|
|
3577
|
+
header?: never;
|
|
3578
|
+
path?: never;
|
|
3579
|
+
cookie?: never;
|
|
3580
|
+
};
|
|
3581
|
+
get?: never;
|
|
3582
|
+
put?: never;
|
|
3583
|
+
/**
|
|
3584
|
+
* Rotar el signing secret
|
|
3585
|
+
* @description Genera un `whsec_…` nuevo para el MISMO endpoint (el historial no cambia). El secret viejo deja de firmar de inmediato: actualiza la copia del receptor. La respuesta incluye el nuevo secret.
|
|
3586
|
+
*/
|
|
3587
|
+
post: operations["HablalaApiWeb.Webhooks.WebhookController.rotate"];
|
|
3588
|
+
delete?: never;
|
|
3589
|
+
options?: never;
|
|
3590
|
+
head?: never;
|
|
3591
|
+
patch?: never;
|
|
3592
|
+
trace?: never;
|
|
3593
|
+
};
|
|
3594
|
+
"/v1/organizations/{organization_id}/webhooks/{id}/secret": {
|
|
3595
|
+
parameters: {
|
|
3596
|
+
query?: never;
|
|
3597
|
+
header?: never;
|
|
3598
|
+
path?: never;
|
|
3599
|
+
cookie?: never;
|
|
3600
|
+
};
|
|
3601
|
+
/**
|
|
3602
|
+
* Revelar el signing secret
|
|
3603
|
+
* @description El `whsec_…` del endpoint, para configurarlo en el receptor (modelo Svix `GET .../secret` / Stripe dashboard "Reveal"). Es una llave de firma compartida, no una credencial de autenticación entrante: por eso es recuperable, a diferencia de `sk_`/`mat_`.
|
|
3604
|
+
*/
|
|
3605
|
+
get: operations["HablalaApiWeb.Webhooks.WebhookController.secret"];
|
|
3606
|
+
put?: never;
|
|
3607
|
+
post?: never;
|
|
3608
|
+
delete?: never;
|
|
3609
|
+
options?: never;
|
|
3610
|
+
head?: never;
|
|
3611
|
+
patch?: never;
|
|
3612
|
+
trace?: never;
|
|
3613
|
+
};
|
|
3401
3614
|
"/v1/organizations/{organization_id}/workflow-executions": {
|
|
3402
3615
|
parameters: {
|
|
3403
3616
|
query?: never;
|
|
@@ -4307,6 +4520,119 @@ interface paths {
|
|
|
4307
4520
|
patch: operations["HablalaApiWeb.Accounts.UserSettingsController.update_username"];
|
|
4308
4521
|
trace?: never;
|
|
4309
4522
|
};
|
|
4523
|
+
"/v1/webhooks": {
|
|
4524
|
+
parameters: {
|
|
4525
|
+
query?: never;
|
|
4526
|
+
header?: never;
|
|
4527
|
+
path?: never;
|
|
4528
|
+
cookie?: never;
|
|
4529
|
+
};
|
|
4530
|
+
/**
|
|
4531
|
+
* Listar webhook endpoints
|
|
4532
|
+
* @description Los webhook endpoints de la organización (solo metadatos; el signing secret se obtiene con `GET .../:id/secret`).
|
|
4533
|
+
*/
|
|
4534
|
+
get: operations["HablalaApiWeb.Machine.WebhookController.index"];
|
|
4535
|
+
put?: never;
|
|
4536
|
+
/**
|
|
4537
|
+
* Crear un webhook endpoint
|
|
4538
|
+
* @description Suscribe una URL a eventos del event store. La plataforma genera el **signing secret** (`whsec_…`) y lo incluye en esta respuesta (`secret`); con él el receptor verifica la firma de cada entrega (spec Standard Webhooks). También puede recuperarse después con `GET .../:id/secret`.
|
|
4539
|
+
*/
|
|
4540
|
+
post: operations["HablalaApiWeb.Machine.WebhookController.create"];
|
|
4541
|
+
delete?: never;
|
|
4542
|
+
options?: never;
|
|
4543
|
+
head?: never;
|
|
4544
|
+
patch?: never;
|
|
4545
|
+
trace?: never;
|
|
4546
|
+
};
|
|
4547
|
+
"/v1/webhooks/{id}": {
|
|
4548
|
+
parameters: {
|
|
4549
|
+
query?: never;
|
|
4550
|
+
header?: never;
|
|
4551
|
+
path?: never;
|
|
4552
|
+
cookie?: never;
|
|
4553
|
+
};
|
|
4554
|
+
/** Ver un webhook endpoint */
|
|
4555
|
+
get: operations["HablalaApiWeb.Machine.WebhookController.show"];
|
|
4556
|
+
/**
|
|
4557
|
+
* Actualizar un webhook endpoint
|
|
4558
|
+
* @description Cambia `url`/`enabledEvents`/`status`. Reactivar (`status: "enabled"`) un endpoint auto-deshabilitado limpia el motivo del disable. El slug y el secret no se tocan aquí.
|
|
4559
|
+
*/
|
|
4560
|
+
put: operations["HablalaApiWeb.Machine.WebhookController.update"];
|
|
4561
|
+
post?: never;
|
|
4562
|
+
/**
|
|
4563
|
+
* Borrar un webhook endpoint
|
|
4564
|
+
* @description Elimina el endpoint y su historial de deliveries. Deja de recibir entregas.
|
|
4565
|
+
*/
|
|
4566
|
+
delete: operations["HablalaApiWeb.Machine.WebhookController.delete"];
|
|
4567
|
+
options?: never;
|
|
4568
|
+
head?: never;
|
|
4569
|
+
/**
|
|
4570
|
+
* Actualizar un webhook endpoint
|
|
4571
|
+
* @description Cambia `url`/`enabledEvents`/`status`. Reactivar (`status: "enabled"`) un endpoint auto-deshabilitado limpia el motivo del disable. El slug y el secret no se tocan aquí.
|
|
4572
|
+
*/
|
|
4573
|
+
patch: operations["HablalaApiWeb.Machine.WebhookController.update (2)"];
|
|
4574
|
+
trace?: never;
|
|
4575
|
+
};
|
|
4576
|
+
"/v1/webhooks/{id}/deliveries": {
|
|
4577
|
+
parameters: {
|
|
4578
|
+
query?: never;
|
|
4579
|
+
header?: never;
|
|
4580
|
+
path?: never;
|
|
4581
|
+
cookie?: never;
|
|
4582
|
+
};
|
|
4583
|
+
/**
|
|
4584
|
+
* Listar deliveries de un endpoint
|
|
4585
|
+
* @description La bitácora de entregas (canónico GitHub): qué eventos se entregaron, cuántos intentos costaron y con qué respondió el receptor. Más recientes primero (máx. 50).
|
|
4586
|
+
*/
|
|
4587
|
+
get: operations["HablalaApiWeb.Machine.WebhookController.deliveries"];
|
|
4588
|
+
put?: never;
|
|
4589
|
+
post?: never;
|
|
4590
|
+
delete?: never;
|
|
4591
|
+
options?: never;
|
|
4592
|
+
head?: never;
|
|
4593
|
+
patch?: never;
|
|
4594
|
+
trace?: never;
|
|
4595
|
+
};
|
|
4596
|
+
"/v1/webhooks/{id}/rotate": {
|
|
4597
|
+
parameters: {
|
|
4598
|
+
query?: never;
|
|
4599
|
+
header?: never;
|
|
4600
|
+
path?: never;
|
|
4601
|
+
cookie?: never;
|
|
4602
|
+
};
|
|
4603
|
+
get?: never;
|
|
4604
|
+
put?: never;
|
|
4605
|
+
/**
|
|
4606
|
+
* Rotar el signing secret
|
|
4607
|
+
* @description Genera un `whsec_…` nuevo para el MISMO endpoint (el historial no cambia). El secret viejo deja de firmar de inmediato: actualiza la copia del receptor. La respuesta incluye el nuevo secret.
|
|
4608
|
+
*/
|
|
4609
|
+
post: operations["HablalaApiWeb.Machine.WebhookController.rotate"];
|
|
4610
|
+
delete?: never;
|
|
4611
|
+
options?: never;
|
|
4612
|
+
head?: never;
|
|
4613
|
+
patch?: never;
|
|
4614
|
+
trace?: never;
|
|
4615
|
+
};
|
|
4616
|
+
"/v1/webhooks/{id}/secret": {
|
|
4617
|
+
parameters: {
|
|
4618
|
+
query?: never;
|
|
4619
|
+
header?: never;
|
|
4620
|
+
path?: never;
|
|
4621
|
+
cookie?: never;
|
|
4622
|
+
};
|
|
4623
|
+
/**
|
|
4624
|
+
* Revelar el signing secret
|
|
4625
|
+
* @description El `whsec_…` del endpoint, para configurarlo en el receptor (modelo Svix `GET .../secret` / Stripe dashboard "Reveal"). Es una llave de firma compartida, no una credencial de autenticación entrante: por eso es recuperable, a diferencia de `sk_`/`mat_`.
|
|
4626
|
+
*/
|
|
4627
|
+
get: operations["HablalaApiWeb.Machine.WebhookController.secret"];
|
|
4628
|
+
put?: never;
|
|
4629
|
+
post?: never;
|
|
4630
|
+
delete?: never;
|
|
4631
|
+
options?: never;
|
|
4632
|
+
head?: never;
|
|
4633
|
+
patch?: never;
|
|
4634
|
+
trace?: never;
|
|
4635
|
+
};
|
|
4310
4636
|
"/v1/whoami": {
|
|
4311
4637
|
parameters: {
|
|
4312
4638
|
query?: never;
|
|
@@ -4676,6 +5002,14 @@ interface components {
|
|
|
4676
5002
|
};
|
|
4677
5003
|
/** @description ETag del estado declarable (optimistic locking). El `export`/`pull` lo emite; el CLI lo guarda y lo reenvía en el header `If-Match` al aplicar. Si la cuenta cambió desde el `pull` (UI, MCP, otro apply), el `apply` devuelve 412 en vez de pisar lo no visto. Read-only: en el cuerpo del PUT se ignora (la precondición viaja por el header). */
|
|
4678
5004
|
readonly version?: string;
|
|
5005
|
+
webhooks?: components["schemas"]["ManifestWebhookEndpoint"][] | {
|
|
5006
|
+
items: components["schemas"]["ManifestWebhookEndpoint"][];
|
|
5007
|
+
/**
|
|
5008
|
+
* @description `authoritative` (default): lo no declarado se archiva/borra. `additive`: solo crea/actualiza lo declarado, sin expulsar lo demás (least astonishment).
|
|
5009
|
+
* @enum {string}
|
|
5010
|
+
*/
|
|
5011
|
+
mode?: "authoritative" | "additive";
|
|
5012
|
+
};
|
|
4679
5013
|
workflows?: components["schemas"]["ManifestWorkflow"][] | {
|
|
4680
5014
|
items: components["schemas"]["ManifestWorkflow"][];
|
|
4681
5015
|
/**
|
|
@@ -5294,13 +5628,112 @@ interface components {
|
|
|
5294
5628
|
items: components["schemas"]["CheckoutItem"][];
|
|
5295
5629
|
};
|
|
5296
5630
|
/**
|
|
5297
|
-
*
|
|
5298
|
-
* @description
|
|
5631
|
+
* ClaimPreviewResponse
|
|
5632
|
+
* @description Preview de un claim token: a qué organización lleva, antes de confirmar. Siempre `200`; `status` distingue un token válido de uno inválido/vencido/ya reclamado.
|
|
5299
5633
|
*/
|
|
5300
|
-
|
|
5301
|
-
|
|
5302
|
-
|
|
5303
|
-
|
|
5634
|
+
ClaimPreviewResponse: {
|
|
5635
|
+
data: {
|
|
5636
|
+
/** @description Presente solo si `status` = valid. */
|
|
5637
|
+
organization?: {
|
|
5638
|
+
avatarUrl?: string | null;
|
|
5639
|
+
name: string;
|
|
5640
|
+
} | null;
|
|
5641
|
+
/** @enum {string} */
|
|
5642
|
+
status: "valid" | "invalid";
|
|
5643
|
+
};
|
|
5644
|
+
};
|
|
5645
|
+
/** ClaimRequest */
|
|
5646
|
+
ClaimRequest: {
|
|
5647
|
+
/** @description El claim token (`clm_…`) del `claimUrl`. */
|
|
5648
|
+
token: string;
|
|
5649
|
+
};
|
|
5650
|
+
/**
|
|
5651
|
+
* ClaimResponse
|
|
5652
|
+
* @description La transferencia consumada: el usuario autenticado es ahora **owner** y los secretos del agente se ROTARON — este par de API keys nuevo se revela UNA sola vez.
|
|
5653
|
+
*/
|
|
5654
|
+
ClaimResponse: {
|
|
5655
|
+
data: {
|
|
5656
|
+
/** @description El par NUEVO emitido al reclamar (el del agente quedó revocado). */
|
|
5657
|
+
apiKeys: {
|
|
5658
|
+
publishableKey: string;
|
|
5659
|
+
secretKey: string;
|
|
5660
|
+
};
|
|
5661
|
+
organization: components["schemas"]["ClaimableOrganization"];
|
|
5662
|
+
};
|
|
5663
|
+
};
|
|
5664
|
+
/**
|
|
5665
|
+
* ClaimableOrganization
|
|
5666
|
+
* @description Una organización con su ciclo de vida de propiedad: `unclaimed` (provisionada por un agente, sin dueño; caduca en `expiresAt`) → `claimed` (reclamada por un humano).
|
|
5667
|
+
*/
|
|
5668
|
+
ClaimableOrganization: {
|
|
5669
|
+
/**
|
|
5670
|
+
* Format: date-time
|
|
5671
|
+
* @description TTL del RECURSO: cuándo caduca la org si nadie la reclama (`null` = no caduca).
|
|
5672
|
+
*/
|
|
5673
|
+
expiresAt?: string | null;
|
|
5674
|
+
/** @description Id público (`org_…`). */
|
|
5675
|
+
id: string;
|
|
5676
|
+
/** Format: date-time */
|
|
5677
|
+
insertedAt?: string;
|
|
5678
|
+
name: string;
|
|
5679
|
+
slug: string;
|
|
5680
|
+
/**
|
|
5681
|
+
* @description Estado de propiedad de la org.
|
|
5682
|
+
* @enum {string}
|
|
5683
|
+
*/
|
|
5684
|
+
status: "active" | "unclaimed" | "claimed";
|
|
5685
|
+
/** Format: date-time */
|
|
5686
|
+
updatedAt?: string;
|
|
5687
|
+
};
|
|
5688
|
+
/**
|
|
5689
|
+
* ClaimableOrganizationCreateResponse
|
|
5690
|
+
* @description La claimable organization recién provisionada, con TODAS sus credenciales en claro — la ÚNICA vez que se pueden leer (patrón Stripe: las keys no vuelven en lecturas posteriores). Guárdalas de inmediato (p. ej. en el `.env`).
|
|
5691
|
+
*/
|
|
5692
|
+
ClaimableOrganizationCreateResponse: {
|
|
5693
|
+
data: {
|
|
5694
|
+
/** @description Machine access token (`mat_…`, preset `account_as_code`): la autoridad del agente sobre la org hasta el claim (se ROTA al reclamarse). */
|
|
5695
|
+
accessToken: string;
|
|
5696
|
+
/** @description El par de API keys del canal público. */
|
|
5697
|
+
apiKeys: {
|
|
5698
|
+
/** @description `pk_…` (browser-safe). */
|
|
5699
|
+
publishableKey: string;
|
|
5700
|
+
/** @description `sk_…` (solo servidor). */
|
|
5701
|
+
secretKey: string;
|
|
5702
|
+
};
|
|
5703
|
+
/**
|
|
5704
|
+
* Format: date-time
|
|
5705
|
+
* @description TTL del claim LINK (reloj distinto del `expiresAt` del recurso).
|
|
5706
|
+
*/
|
|
5707
|
+
claimExpiresAt: string;
|
|
5708
|
+
/** @description El link (panel) con el que un humano reclama la org. Un solo uso; caduca en `claimExpiresAt` y se renueva con `POST /v1/organization/refresh-claim-url`. */
|
|
5709
|
+
claimUrl: string;
|
|
5710
|
+
organization: components["schemas"]["ClaimableOrganization"];
|
|
5711
|
+
};
|
|
5712
|
+
};
|
|
5713
|
+
/**
|
|
5714
|
+
* ClaimableOrganizationRequest
|
|
5715
|
+
* @description Provisión de una **claimable organization** (el signup invertido): un agente crea la org SIN cuenta humana y un humano la reclama después abriendo el `claimUrl`.
|
|
5716
|
+
*/
|
|
5717
|
+
ClaimableOrganizationRequest: {
|
|
5718
|
+
/** @description Nombre visible de la organización. */
|
|
5719
|
+
name: string;
|
|
5720
|
+
/** @description Datos para precargar el claim (patrón Stripe `prefill`). Se guardan cifrados. */
|
|
5721
|
+
prefill?: {
|
|
5722
|
+
/**
|
|
5723
|
+
* Format: email
|
|
5724
|
+
* @description Email del humano que reclamará la org.
|
|
5725
|
+
*/
|
|
5726
|
+
email?: string;
|
|
5727
|
+
} | null;
|
|
5728
|
+
};
|
|
5729
|
+
/**
|
|
5730
|
+
* ContactContent
|
|
5731
|
+
* @description Payload de un mensaje `contact` (compartir contacto, estilo WhatsApp). El cliente pinta una tarjeta con acción 'Agregar a contactos'. `vcard` es el vCard crudo opcional (fuente de verdad para importar); `name`/`phones` son la vista renderizable.
|
|
5732
|
+
*/
|
|
5733
|
+
ContactContent: {
|
|
5734
|
+
/** @description Nombre a mostrar del contacto. */
|
|
5735
|
+
name: string;
|
|
5736
|
+
/** @description Teléfonos del contacto. */
|
|
5304
5737
|
phones?: components["schemas"]["ContactPhone"][] | null;
|
|
5305
5738
|
/** @description vCard (RFC 6350) crudo, para importar el contacto tal cual (opcional). */
|
|
5306
5739
|
vcard?: string | null;
|
|
@@ -6289,6 +6722,20 @@ interface components {
|
|
|
6289
6722
|
LoginRequest: {
|
|
6290
6723
|
user: components["schemas"]["LoginCredentials"];
|
|
6291
6724
|
};
|
|
6725
|
+
/**
|
|
6726
|
+
* MachineOrganizationResponse
|
|
6727
|
+
* @description La organización del token de máquina, con su estado de propiedad. Es el endpoint de polling del agente tras provisionar una claimable org: cuando el humano reclama, los tokens del agente se rotan, así que el `401` posterior significa "reclamada (o vencida)".
|
|
6728
|
+
*/
|
|
6729
|
+
MachineOrganizationResponse: {
|
|
6730
|
+
data: {
|
|
6731
|
+
/**
|
|
6732
|
+
* Format: date-time
|
|
6733
|
+
* @description Cuándo caduca el claim link vigente (`null` si no hay).
|
|
6734
|
+
*/
|
|
6735
|
+
claimExpiresAt?: string | null;
|
|
6736
|
+
organization: components["schemas"]["ClaimableOrganization"];
|
|
6737
|
+
};
|
|
6738
|
+
};
|
|
6292
6739
|
/**
|
|
6293
6740
|
* ManifestAgent
|
|
6294
6741
|
* @description Un agente de IA declarado, identificado por `handle`. Archivar (no declararlo) lo revoca. `ownerUserId` (id público `user_…`) es obligatorio al crear con un access token de máquina; con un usuario, el creador es el dueño por defecto.
|
|
@@ -6557,6 +7004,23 @@ interface components {
|
|
|
6557
7004
|
*/
|
|
6558
7005
|
protocol: "saml" | "oidc";
|
|
6559
7006
|
};
|
|
7007
|
+
/**
|
|
7008
|
+
* ManifestWebhookEndpoint
|
|
7009
|
+
* @description Un webhook endpoint declarado (webhooks salientes): la URL de un sistema externo suscrita a eventos del event store, identificada por `slug`. Estructura AUTORITATIVA: un endpoint no declarado se BORRA (deja de recibir entregas). El **signing secret (`whsec_…`) NO se declara** — un secreto no vive en YAML versionado: lo genera la plataforma al crear el endpoint y se recupera con `GET /v1/webhooks/:id/secret`.
|
|
7010
|
+
*/
|
|
7011
|
+
ManifestWebhookEndpoint: {
|
|
7012
|
+
/** @description Event types a suscribir (al menos uno): `record.created`, `record.updated`, `record.deleted`, `record.restored`, `edge.created`, `edge.deleted`. */
|
|
7013
|
+
enabledEvents: string[];
|
|
7014
|
+
/** @description Identidad estable, única por organización (match key). */
|
|
7015
|
+
slug: string;
|
|
7016
|
+
/**
|
|
7017
|
+
* @description Omitido = `enabled`. `disabled` pausa las entregas sin borrar el endpoint.
|
|
7018
|
+
* @enum {string}
|
|
7019
|
+
*/
|
|
7020
|
+
status?: "enabled" | "disabled";
|
|
7021
|
+
/** @description URL https del receptor del POST firmado (http solo se admite hacia localhost). */
|
|
7022
|
+
url: string;
|
|
7023
|
+
};
|
|
6560
7024
|
/**
|
|
6561
7025
|
* ManifestWorkflow
|
|
6562
7026
|
* @description Una definición de workflow declarada: la máquina de estados como dato (trigger + states). El grafo `states` se valida ESTRUCTURALMENTE en el `plan` (como un linter de state machine): cada `activity` debe pertenecer al catálogo declarable y su `config` solo acepta claves conocidas; toda transición `on` debe apuntar a un estado existente (MISSING_TRANSITION_TARGET); no puede haber estados inalcanzables desde `initialState`; y debe existir al menos un estado terminal (`type: final`, MISSING_END_STATE). Esos errores bloquean el apply — no llegan a runtime. Descubre el espacio declarable completo en `GET /v1/account-config/capabilities`.
|
|
@@ -7059,6 +7523,11 @@ interface components {
|
|
|
7059
7523
|
myRole?: string | null;
|
|
7060
7524
|
name: string;
|
|
7061
7525
|
slug: string;
|
|
7526
|
+
/**
|
|
7527
|
+
* @description Propiedad de la org: `active` (creada por un humano), `unclaimed` (provisionada por un agente, sin dueño), `claimed` (reclamada).
|
|
7528
|
+
* @enum {string}
|
|
7529
|
+
*/
|
|
7530
|
+
status?: "active" | "unclaimed" | "claimed";
|
|
7062
7531
|
/** @description Identificador fiscal (RFC/EIN/VAT). */
|
|
7063
7532
|
taxId?: string | null;
|
|
7064
7533
|
/** Format: date-time */
|
|
@@ -7100,6 +7569,11 @@ interface components {
|
|
|
7100
7569
|
insertedAt?: string;
|
|
7101
7570
|
name: string;
|
|
7102
7571
|
slug: string;
|
|
7572
|
+
/**
|
|
7573
|
+
* @description Propiedad de la org: `active` (creada por un humano), `unclaimed` (provisionada por un agente, sin dueño), `claimed` (reclamada).
|
|
7574
|
+
* @enum {string}
|
|
7575
|
+
*/
|
|
7576
|
+
status?: "active" | "unclaimed" | "claimed";
|
|
7103
7577
|
/** Format: date-time */
|
|
7104
7578
|
updatedAt?: string;
|
|
7105
7579
|
/**
|
|
@@ -7597,6 +8071,17 @@ interface components {
|
|
|
7597
8071
|
/** @description Destino del `PUT` del blob (URL prefirmada, expira). */
|
|
7598
8072
|
uploadUrl: string;
|
|
7599
8073
|
};
|
|
8074
|
+
/**
|
|
8075
|
+
* RefreshClaimUrlResponse
|
|
8076
|
+
* @description El claim link renovado (el anterior deja de canjear al instante).
|
|
8077
|
+
*/
|
|
8078
|
+
RefreshClaimUrlResponse: {
|
|
8079
|
+
data: {
|
|
8080
|
+
/** Format: date-time */
|
|
8081
|
+
claimExpiresAt: string;
|
|
8082
|
+
claimUrl: string;
|
|
8083
|
+
};
|
|
8084
|
+
};
|
|
7600
8085
|
/** RegisterCredentials */
|
|
7601
8086
|
RegisterCredentials: {
|
|
7602
8087
|
/** Format: email */
|
|
@@ -8050,6 +8535,117 @@ interface components {
|
|
|
8050
8535
|
taxId: string;
|
|
8051
8536
|
};
|
|
8052
8537
|
};
|
|
8538
|
+
/** WebhookDeliveriesResponse */
|
|
8539
|
+
WebhookDeliveriesResponse: {
|
|
8540
|
+
data: components["schemas"]["WebhookDelivery"][];
|
|
8541
|
+
};
|
|
8542
|
+
/**
|
|
8543
|
+
* WebhookDelivery
|
|
8544
|
+
* @description Una **delivery**: un evento entregado (o en camino) a un webhook endpoint, con su bitácora de intentos. La entrega es at-least-once: el receptor deduplica por el header `webhook-id` (= `eventId`, estable entre reintentos).
|
|
8545
|
+
*/
|
|
8546
|
+
WebhookDelivery: {
|
|
8547
|
+
attemptCount: number;
|
|
8548
|
+
/** Format: date-time */
|
|
8549
|
+
deliveredAt?: string | null;
|
|
8550
|
+
/** @description Detalle del último fallo. */
|
|
8551
|
+
error?: string | null;
|
|
8552
|
+
/** @description El evento entregado (`evt_…`). */
|
|
8553
|
+
eventId: string;
|
|
8554
|
+
/** @description P. ej. `record.created`. */
|
|
8555
|
+
eventType: string;
|
|
8556
|
+
/** @description Id de la delivery (`whd_…`). */
|
|
8557
|
+
id: string;
|
|
8558
|
+
/** Format: date-time */
|
|
8559
|
+
insertedAt?: string;
|
|
8560
|
+
/** @description HTTP status del último intento (si el receptor respondió). */
|
|
8561
|
+
responseStatus?: number | null;
|
|
8562
|
+
/**
|
|
8563
|
+
* @description `pending` (encolada/reintentando), `succeeded` (el receptor respondió 2xx), `failed` (agotó los reintentos).
|
|
8564
|
+
* @enum {string}
|
|
8565
|
+
*/
|
|
8566
|
+
status: "pending" | "succeeded" | "failed";
|
|
8567
|
+
};
|
|
8568
|
+
/**
|
|
8569
|
+
* WebhookEndpoint
|
|
8570
|
+
* @description Un **webhook endpoint**: la URL de un sistema externo suscrita a eventos del event store. Cuando ocurre un evento de `enabledEvents`, la plataforma le hace un POST firmado (spec Standard Webhooks: headers `webhook-id`/`webhook-timestamp`/`webhook-signature`). El signing secret NO se incluye aquí — se revela al crear, en `GET .../secret` y al rotar.
|
|
8571
|
+
*/
|
|
8572
|
+
WebhookEndpoint: {
|
|
8573
|
+
/** Format: date-time */
|
|
8574
|
+
disabledAt?: string | null;
|
|
8575
|
+
/** @description `delivery_failures` (auto-disable, modelo Stripe) o `manual`. */
|
|
8576
|
+
disabledReason?: string | null;
|
|
8577
|
+
/** @description Event types suscritos: `record.created`, `record.updated`, `record.deleted`, `record.restored`, `edge.created`, `edge.deleted`. */
|
|
8578
|
+
enabledEvents: string[];
|
|
8579
|
+
/** @description Id del endpoint (`we_…`). */
|
|
8580
|
+
id: string;
|
|
8581
|
+
/** Format: date-time */
|
|
8582
|
+
insertedAt?: string;
|
|
8583
|
+
/** Format: date-time */
|
|
8584
|
+
lastFailureAt?: string | null;
|
|
8585
|
+
/** Format: date-time */
|
|
8586
|
+
lastSuccessAt?: string | null;
|
|
8587
|
+
/** @description Primeros caracteres del signing secret (no secretos), p. ej. `whsec_A1B2`. */
|
|
8588
|
+
prefix?: string;
|
|
8589
|
+
/** @description Identificador declarable, único por organización. */
|
|
8590
|
+
slug: string;
|
|
8591
|
+
/**
|
|
8592
|
+
* @description `enabled` recibe entregas; `disabled` (manual o auto-disable por fallos) no.
|
|
8593
|
+
* @enum {string}
|
|
8594
|
+
*/
|
|
8595
|
+
status: "enabled" | "disabled";
|
|
8596
|
+
/** Format: date-time */
|
|
8597
|
+
updatedAt?: string;
|
|
8598
|
+
/** @description URL https destino del POST firmado. */
|
|
8599
|
+
url: string;
|
|
8600
|
+
};
|
|
8601
|
+
/**
|
|
8602
|
+
* WebhookEndpointRequest
|
|
8603
|
+
* @description Datos de un webhook endpoint. El signing secret no se manda: lo genera la plataforma y se devuelve en la respuesta del create (y en `GET .../secret`).
|
|
8604
|
+
*/
|
|
8605
|
+
WebhookEndpointRequest: {
|
|
8606
|
+
/** @description Event types a suscribir (al menos uno): `record.created`, `record.updated`, `record.deleted`, `record.restored`, `edge.created`, `edge.deleted`. */
|
|
8607
|
+
enabledEvents: string[];
|
|
8608
|
+
/** @description Identificador único por organización (minúsculas, dígitos, `-`/`_`), p. ej. `erp-sync`. */
|
|
8609
|
+
slug: string;
|
|
8610
|
+
/**
|
|
8611
|
+
* @description Omitir = `enabled`. `disabled` pausa las entregas sin borrar el endpoint.
|
|
8612
|
+
* @enum {string}
|
|
8613
|
+
*/
|
|
8614
|
+
status?: "enabled" | "disabled";
|
|
8615
|
+
/** @description URL https del receptor (http solo se admite hacia localhost, para desarrollo). */
|
|
8616
|
+
url: string;
|
|
8617
|
+
};
|
|
8618
|
+
/** WebhookEndpointResponse */
|
|
8619
|
+
WebhookEndpointResponse: {
|
|
8620
|
+
data: components["schemas"]["WebhookEndpoint"];
|
|
8621
|
+
};
|
|
8622
|
+
/**
|
|
8623
|
+
* WebhookEndpointWithSecret
|
|
8624
|
+
* @description El endpoint con su **signing secret** en claro (`whsec_…`): la respuesta del create, del reveal (`GET .../secret`) y del rotate. Con él el receptor verifica la firma de cada entrega (librerías de Standard Webhooks).
|
|
8625
|
+
*/
|
|
8626
|
+
WebhookEndpointWithSecret: {
|
|
8627
|
+
enabledEvents: string[];
|
|
8628
|
+
id: string;
|
|
8629
|
+
/** Format: date-time */
|
|
8630
|
+
insertedAt?: string;
|
|
8631
|
+
prefix?: string;
|
|
8632
|
+
/** @description El signing secret en claro (`whsec_…`). Guárdalo en el receptor. */
|
|
8633
|
+
secret: string;
|
|
8634
|
+
slug: string;
|
|
8635
|
+
/** @enum {string} */
|
|
8636
|
+
status: "enabled" | "disabled";
|
|
8637
|
+
/** Format: date-time */
|
|
8638
|
+
updatedAt?: string;
|
|
8639
|
+
url: string;
|
|
8640
|
+
};
|
|
8641
|
+
/** WebhookEndpointWithSecretResponse */
|
|
8642
|
+
WebhookEndpointWithSecretResponse: {
|
|
8643
|
+
data: components["schemas"]["WebhookEndpointWithSecret"];
|
|
8644
|
+
};
|
|
8645
|
+
/** WebhookEndpointsResponse */
|
|
8646
|
+
WebhookEndpointsResponse: {
|
|
8647
|
+
data: components["schemas"]["WebhookEndpoint"][];
|
|
8648
|
+
};
|
|
8053
8649
|
/**
|
|
8054
8650
|
* Whoami
|
|
8055
8651
|
* @description Identidad de una credencial de máquina: la organización que resuelve del token y sus permisos efectivos. Deja que una herramienta externa infiera la org sin que el desarrollador la configure.
|
|
@@ -11147,7 +11743,7 @@ interface operations {
|
|
|
11147
11743
|
};
|
|
11148
11744
|
};
|
|
11149
11745
|
};
|
|
11150
|
-
"HablalaApiWeb.
|
|
11746
|
+
"HablalaApiWeb.Machine.OrganizationController.show": {
|
|
11151
11747
|
parameters: {
|
|
11152
11748
|
query?: never;
|
|
11153
11749
|
header?: never;
|
|
@@ -11156,42 +11752,17 @@ interface operations {
|
|
|
11156
11752
|
};
|
|
11157
11753
|
requestBody?: never;
|
|
11158
11754
|
responses: {
|
|
11159
|
-
/** @description
|
|
11755
|
+
/** @description La organización del token */
|
|
11160
11756
|
200: {
|
|
11161
11757
|
headers: {
|
|
11162
11758
|
[name: string]: unknown;
|
|
11163
11759
|
};
|
|
11164
11760
|
content: {
|
|
11165
|
-
"application/json": components["schemas"]["
|
|
11166
|
-
};
|
|
11167
|
-
};
|
|
11168
|
-
};
|
|
11169
|
-
};
|
|
11170
|
-
"HablalaApiWeb.Orgs.OrganizationController.create": {
|
|
11171
|
-
parameters: {
|
|
11172
|
-
query?: never;
|
|
11173
|
-
header?: never;
|
|
11174
|
-
path?: never;
|
|
11175
|
-
cookie?: never;
|
|
11176
|
-
};
|
|
11177
|
-
/** @description Datos de la organización */
|
|
11178
|
-
requestBody?: {
|
|
11179
|
-
content: {
|
|
11180
|
-
"application/json": components["schemas"]["OrganizationRequest"];
|
|
11181
|
-
};
|
|
11182
|
-
};
|
|
11183
|
-
responses: {
|
|
11184
|
-
/** @description Organización creada */
|
|
11185
|
-
201: {
|
|
11186
|
-
headers: {
|
|
11187
|
-
[name: string]: unknown;
|
|
11188
|
-
};
|
|
11189
|
-
content: {
|
|
11190
|
-
"application/json": components["schemas"]["OrganizationResponse"];
|
|
11761
|
+
"application/json": components["schemas"]["MachineOrganizationResponse"];
|
|
11191
11762
|
};
|
|
11192
11763
|
};
|
|
11193
|
-
/** @description
|
|
11194
|
-
|
|
11764
|
+
/** @description Token inválido (o la org fue reclamada/venció) */
|
|
11765
|
+
401: {
|
|
11195
11766
|
headers: {
|
|
11196
11767
|
[name: string]: unknown;
|
|
11197
11768
|
};
|
|
@@ -11201,28 +11772,26 @@ interface operations {
|
|
|
11201
11772
|
};
|
|
11202
11773
|
};
|
|
11203
11774
|
};
|
|
11204
|
-
"HablalaApiWeb.
|
|
11775
|
+
"HablalaApiWeb.Machine.OrganizationController.refresh_claim_url": {
|
|
11205
11776
|
parameters: {
|
|
11206
11777
|
query?: never;
|
|
11207
11778
|
header?: never;
|
|
11208
|
-
path
|
|
11209
|
-
id: string;
|
|
11210
|
-
};
|
|
11779
|
+
path?: never;
|
|
11211
11780
|
cookie?: never;
|
|
11212
11781
|
};
|
|
11213
11782
|
requestBody?: never;
|
|
11214
11783
|
responses: {
|
|
11215
|
-
/** @description
|
|
11784
|
+
/** @description Claim link renovado */
|
|
11216
11785
|
200: {
|
|
11217
11786
|
headers: {
|
|
11218
11787
|
[name: string]: unknown;
|
|
11219
11788
|
};
|
|
11220
11789
|
content: {
|
|
11221
|
-
"application/json": components["schemas"]["
|
|
11790
|
+
"application/json": components["schemas"]["RefreshClaimUrlResponse"];
|
|
11222
11791
|
};
|
|
11223
11792
|
};
|
|
11224
|
-
/** @description
|
|
11225
|
-
|
|
11793
|
+
/** @description La org ya no es unclaimed */
|
|
11794
|
+
409: {
|
|
11226
11795
|
headers: {
|
|
11227
11796
|
[name: string]: unknown;
|
|
11228
11797
|
};
|
|
@@ -11230,35 +11799,8 @@ interface operations {
|
|
|
11230
11799
|
"application/json": components["schemas"]["Error"];
|
|
11231
11800
|
};
|
|
11232
11801
|
};
|
|
11233
|
-
|
|
11234
|
-
|
|
11235
|
-
"HablalaApiWeb.Orgs.OrganizationController.update": {
|
|
11236
|
-
parameters: {
|
|
11237
|
-
query?: never;
|
|
11238
|
-
header?: never;
|
|
11239
|
-
path: {
|
|
11240
|
-
id: string;
|
|
11241
|
-
};
|
|
11242
|
-
cookie?: never;
|
|
11243
|
-
};
|
|
11244
|
-
/** @description Datos de la organización (el slug es inmutable, no se acepta aquí) */
|
|
11245
|
-
requestBody?: {
|
|
11246
|
-
content: {
|
|
11247
|
-
"application/json": components["schemas"]["OrganizationUpdateRequest"];
|
|
11248
|
-
};
|
|
11249
|
-
};
|
|
11250
|
-
responses: {
|
|
11251
|
-
/** @description Organización actualizada */
|
|
11252
|
-
200: {
|
|
11253
|
-
headers: {
|
|
11254
|
-
[name: string]: unknown;
|
|
11255
|
-
};
|
|
11256
|
-
content: {
|
|
11257
|
-
"application/json": components["schemas"]["OrganizationResponse"];
|
|
11258
|
-
};
|
|
11259
|
-
};
|
|
11260
|
-
/** @description Error de validación */
|
|
11261
|
-
422: {
|
|
11802
|
+
/** @description El recurso venció */
|
|
11803
|
+
410: {
|
|
11262
11804
|
headers: {
|
|
11263
11805
|
[name: string]: unknown;
|
|
11264
11806
|
};
|
|
@@ -11268,44 +11810,42 @@ interface operations {
|
|
|
11268
11810
|
};
|
|
11269
11811
|
};
|
|
11270
11812
|
};
|
|
11271
|
-
"HablalaApiWeb.Orgs.OrganizationController.
|
|
11813
|
+
"HablalaApiWeb.Orgs.OrganizationController.index": {
|
|
11272
11814
|
parameters: {
|
|
11273
11815
|
query?: never;
|
|
11274
11816
|
header?: never;
|
|
11275
|
-
path
|
|
11276
|
-
id: string;
|
|
11277
|
-
};
|
|
11817
|
+
path?: never;
|
|
11278
11818
|
cookie?: never;
|
|
11279
11819
|
};
|
|
11280
11820
|
requestBody?: never;
|
|
11281
11821
|
responses: {
|
|
11282
|
-
/** @description
|
|
11283
|
-
|
|
11822
|
+
/** @description Organizaciones */
|
|
11823
|
+
200: {
|
|
11284
11824
|
headers: {
|
|
11285
11825
|
[name: string]: unknown;
|
|
11286
11826
|
};
|
|
11287
|
-
content
|
|
11827
|
+
content: {
|
|
11828
|
+
"application/json": components["schemas"]["OrganizationsResponse"];
|
|
11829
|
+
};
|
|
11288
11830
|
};
|
|
11289
11831
|
};
|
|
11290
11832
|
};
|
|
11291
|
-
"HablalaApiWeb.Orgs.OrganizationController.
|
|
11833
|
+
"HablalaApiWeb.Orgs.OrganizationController.create": {
|
|
11292
11834
|
parameters: {
|
|
11293
11835
|
query?: never;
|
|
11294
11836
|
header?: never;
|
|
11295
|
-
path
|
|
11296
|
-
id: string;
|
|
11297
|
-
};
|
|
11837
|
+
path?: never;
|
|
11298
11838
|
cookie?: never;
|
|
11299
11839
|
};
|
|
11300
|
-
/** @description Datos de la organización
|
|
11840
|
+
/** @description Datos de la organización */
|
|
11301
11841
|
requestBody?: {
|
|
11302
11842
|
content: {
|
|
11303
|
-
"application/json": components["schemas"]["
|
|
11843
|
+
"application/json": components["schemas"]["OrganizationRequest"];
|
|
11304
11844
|
};
|
|
11305
11845
|
};
|
|
11306
11846
|
responses: {
|
|
11307
|
-
/** @description Organización
|
|
11308
|
-
|
|
11847
|
+
/** @description Organización creada */
|
|
11848
|
+
201: {
|
|
11309
11849
|
headers: {
|
|
11310
11850
|
[name: string]: unknown;
|
|
11311
11851
|
};
|
|
@@ -11324,33 +11864,31 @@ interface operations {
|
|
|
11324
11864
|
};
|
|
11325
11865
|
};
|
|
11326
11866
|
};
|
|
11327
|
-
"HablalaApiWeb.Orgs.
|
|
11867
|
+
"HablalaApiWeb.Orgs.ClaimableOrganizationController.claim": {
|
|
11328
11868
|
parameters: {
|
|
11329
11869
|
query?: never;
|
|
11330
11870
|
header?: never;
|
|
11331
|
-
path
|
|
11332
|
-
id: string;
|
|
11333
|
-
};
|
|
11871
|
+
path?: never;
|
|
11334
11872
|
cookie?: never;
|
|
11335
11873
|
};
|
|
11336
|
-
/** @description
|
|
11874
|
+
/** @description El claim token */
|
|
11337
11875
|
requestBody?: {
|
|
11338
11876
|
content: {
|
|
11339
|
-
"application/json": components["schemas"]["
|
|
11877
|
+
"application/json": components["schemas"]["ClaimRequest"];
|
|
11340
11878
|
};
|
|
11341
11879
|
};
|
|
11342
11880
|
responses: {
|
|
11343
|
-
/** @description
|
|
11881
|
+
/** @description Transferencia consumada */
|
|
11344
11882
|
200: {
|
|
11345
11883
|
headers: {
|
|
11346
11884
|
[name: string]: unknown;
|
|
11347
11885
|
};
|
|
11348
11886
|
content: {
|
|
11349
|
-
"application/json": components["schemas"]["
|
|
11887
|
+
"application/json": components["schemas"]["ClaimResponse"];
|
|
11350
11888
|
};
|
|
11351
11889
|
};
|
|
11352
|
-
/** @description Sin
|
|
11353
|
-
|
|
11890
|
+
/** @description Sin sesión */
|
|
11891
|
+
401: {
|
|
11354
11892
|
headers: {
|
|
11355
11893
|
[name: string]: unknown;
|
|
11356
11894
|
};
|
|
@@ -11358,8 +11896,8 @@ interface operations {
|
|
|
11358
11896
|
"application/json": components["schemas"]["Error"];
|
|
11359
11897
|
};
|
|
11360
11898
|
};
|
|
11361
|
-
/** @description
|
|
11362
|
-
|
|
11899
|
+
/** @description Token inválido, vencido o ya reclamado */
|
|
11900
|
+
404: {
|
|
11363
11901
|
headers: {
|
|
11364
11902
|
[name: string]: unknown;
|
|
11365
11903
|
};
|
|
@@ -11369,20 +11907,253 @@ interface operations {
|
|
|
11369
11907
|
};
|
|
11370
11908
|
};
|
|
11371
11909
|
};
|
|
11372
|
-
"HablalaApiWeb.Orgs.
|
|
11910
|
+
"HablalaApiWeb.Orgs.ClaimableOrganizationController.create": {
|
|
11373
11911
|
parameters: {
|
|
11374
11912
|
query?: never;
|
|
11375
11913
|
header?: never;
|
|
11376
|
-
path
|
|
11377
|
-
id: string;
|
|
11378
|
-
};
|
|
11914
|
+
path?: never;
|
|
11379
11915
|
cookie?: never;
|
|
11380
11916
|
};
|
|
11381
|
-
|
|
11382
|
-
|
|
11383
|
-
|
|
11384
|
-
|
|
11385
|
-
|
|
11917
|
+
/** @description Datos de la organización */
|
|
11918
|
+
requestBody?: {
|
|
11919
|
+
content: {
|
|
11920
|
+
"application/json": components["schemas"]["ClaimableOrganizationRequest"];
|
|
11921
|
+
};
|
|
11922
|
+
};
|
|
11923
|
+
responses: {
|
|
11924
|
+
/** @description Organización provisionada (credenciales reveladas una única vez) */
|
|
11925
|
+
201: {
|
|
11926
|
+
headers: {
|
|
11927
|
+
[name: string]: unknown;
|
|
11928
|
+
};
|
|
11929
|
+
content: {
|
|
11930
|
+
"application/json": components["schemas"]["ClaimableOrganizationCreateResponse"];
|
|
11931
|
+
};
|
|
11932
|
+
};
|
|
11933
|
+
/** @description Error de validación */
|
|
11934
|
+
422: {
|
|
11935
|
+
headers: {
|
|
11936
|
+
[name: string]: unknown;
|
|
11937
|
+
};
|
|
11938
|
+
content: {
|
|
11939
|
+
"application/json": components["schemas"]["Error"];
|
|
11940
|
+
};
|
|
11941
|
+
};
|
|
11942
|
+
/** @description Cuota excedida */
|
|
11943
|
+
429: {
|
|
11944
|
+
headers: {
|
|
11945
|
+
[name: string]: unknown;
|
|
11946
|
+
};
|
|
11947
|
+
content: {
|
|
11948
|
+
"application/json": components["schemas"]["Error"];
|
|
11949
|
+
};
|
|
11950
|
+
};
|
|
11951
|
+
};
|
|
11952
|
+
};
|
|
11953
|
+
"HablalaApiWeb.Orgs.ClaimableOrganizationController.preview": {
|
|
11954
|
+
parameters: {
|
|
11955
|
+
query: {
|
|
11956
|
+
token: string;
|
|
11957
|
+
};
|
|
11958
|
+
header?: never;
|
|
11959
|
+
path?: never;
|
|
11960
|
+
cookie?: never;
|
|
11961
|
+
};
|
|
11962
|
+
requestBody?: never;
|
|
11963
|
+
responses: {
|
|
11964
|
+
/** @description Preview del claim */
|
|
11965
|
+
200: {
|
|
11966
|
+
headers: {
|
|
11967
|
+
[name: string]: unknown;
|
|
11968
|
+
};
|
|
11969
|
+
content: {
|
|
11970
|
+
"application/json": components["schemas"]["ClaimPreviewResponse"];
|
|
11971
|
+
};
|
|
11972
|
+
};
|
|
11973
|
+
};
|
|
11974
|
+
};
|
|
11975
|
+
"HablalaApiWeb.Orgs.OrganizationController.show": {
|
|
11976
|
+
parameters: {
|
|
11977
|
+
query?: never;
|
|
11978
|
+
header?: never;
|
|
11979
|
+
path: {
|
|
11980
|
+
id: string;
|
|
11981
|
+
};
|
|
11982
|
+
cookie?: never;
|
|
11983
|
+
};
|
|
11984
|
+
requestBody?: never;
|
|
11985
|
+
responses: {
|
|
11986
|
+
/** @description Organización */
|
|
11987
|
+
200: {
|
|
11988
|
+
headers: {
|
|
11989
|
+
[name: string]: unknown;
|
|
11990
|
+
};
|
|
11991
|
+
content: {
|
|
11992
|
+
"application/json": components["schemas"]["OrganizationResponse"];
|
|
11993
|
+
};
|
|
11994
|
+
};
|
|
11995
|
+
/** @description No encontrada */
|
|
11996
|
+
404: {
|
|
11997
|
+
headers: {
|
|
11998
|
+
[name: string]: unknown;
|
|
11999
|
+
};
|
|
12000
|
+
content: {
|
|
12001
|
+
"application/json": components["schemas"]["Error"];
|
|
12002
|
+
};
|
|
12003
|
+
};
|
|
12004
|
+
};
|
|
12005
|
+
};
|
|
12006
|
+
"HablalaApiWeb.Orgs.OrganizationController.update": {
|
|
12007
|
+
parameters: {
|
|
12008
|
+
query?: never;
|
|
12009
|
+
header?: never;
|
|
12010
|
+
path: {
|
|
12011
|
+
id: string;
|
|
12012
|
+
};
|
|
12013
|
+
cookie?: never;
|
|
12014
|
+
};
|
|
12015
|
+
/** @description Datos de la organización (el slug es inmutable, no se acepta aquí) */
|
|
12016
|
+
requestBody?: {
|
|
12017
|
+
content: {
|
|
12018
|
+
"application/json": components["schemas"]["OrganizationUpdateRequest"];
|
|
12019
|
+
};
|
|
12020
|
+
};
|
|
12021
|
+
responses: {
|
|
12022
|
+
/** @description Organización actualizada */
|
|
12023
|
+
200: {
|
|
12024
|
+
headers: {
|
|
12025
|
+
[name: string]: unknown;
|
|
12026
|
+
};
|
|
12027
|
+
content: {
|
|
12028
|
+
"application/json": components["schemas"]["OrganizationResponse"];
|
|
12029
|
+
};
|
|
12030
|
+
};
|
|
12031
|
+
/** @description Error de validación */
|
|
12032
|
+
422: {
|
|
12033
|
+
headers: {
|
|
12034
|
+
[name: string]: unknown;
|
|
12035
|
+
};
|
|
12036
|
+
content: {
|
|
12037
|
+
"application/json": components["schemas"]["Error"];
|
|
12038
|
+
};
|
|
12039
|
+
};
|
|
12040
|
+
};
|
|
12041
|
+
};
|
|
12042
|
+
"HablalaApiWeb.Orgs.OrganizationController.delete": {
|
|
12043
|
+
parameters: {
|
|
12044
|
+
query?: never;
|
|
12045
|
+
header?: never;
|
|
12046
|
+
path: {
|
|
12047
|
+
id: string;
|
|
12048
|
+
};
|
|
12049
|
+
cookie?: never;
|
|
12050
|
+
};
|
|
12051
|
+
requestBody?: never;
|
|
12052
|
+
responses: {
|
|
12053
|
+
/** @description Borrada */
|
|
12054
|
+
204: {
|
|
12055
|
+
headers: {
|
|
12056
|
+
[name: string]: unknown;
|
|
12057
|
+
};
|
|
12058
|
+
content?: never;
|
|
12059
|
+
};
|
|
12060
|
+
};
|
|
12061
|
+
};
|
|
12062
|
+
"HablalaApiWeb.Orgs.OrganizationController.update (2)": {
|
|
12063
|
+
parameters: {
|
|
12064
|
+
query?: never;
|
|
12065
|
+
header?: never;
|
|
12066
|
+
path: {
|
|
12067
|
+
id: string;
|
|
12068
|
+
};
|
|
12069
|
+
cookie?: never;
|
|
12070
|
+
};
|
|
12071
|
+
/** @description Datos de la organización (el slug es inmutable, no se acepta aquí) */
|
|
12072
|
+
requestBody?: {
|
|
12073
|
+
content: {
|
|
12074
|
+
"application/json": components["schemas"]["OrganizationUpdateRequest"];
|
|
12075
|
+
};
|
|
12076
|
+
};
|
|
12077
|
+
responses: {
|
|
12078
|
+
/** @description Organización actualizada */
|
|
12079
|
+
200: {
|
|
12080
|
+
headers: {
|
|
12081
|
+
[name: string]: unknown;
|
|
12082
|
+
};
|
|
12083
|
+
content: {
|
|
12084
|
+
"application/json": components["schemas"]["OrganizationResponse"];
|
|
12085
|
+
};
|
|
12086
|
+
};
|
|
12087
|
+
/** @description Error de validación */
|
|
12088
|
+
422: {
|
|
12089
|
+
headers: {
|
|
12090
|
+
[name: string]: unknown;
|
|
12091
|
+
};
|
|
12092
|
+
content: {
|
|
12093
|
+
"application/json": components["schemas"]["Error"];
|
|
12094
|
+
};
|
|
12095
|
+
};
|
|
12096
|
+
};
|
|
12097
|
+
};
|
|
12098
|
+
"HablalaApiWeb.Orgs.OrganizationController.request_verification": {
|
|
12099
|
+
parameters: {
|
|
12100
|
+
query?: never;
|
|
12101
|
+
header?: never;
|
|
12102
|
+
path: {
|
|
12103
|
+
id: string;
|
|
12104
|
+
};
|
|
12105
|
+
cookie?: never;
|
|
12106
|
+
};
|
|
12107
|
+
/** @description Datos legales del negocio */
|
|
12108
|
+
requestBody?: {
|
|
12109
|
+
content: {
|
|
12110
|
+
"application/json": components["schemas"]["VerificationRequest"];
|
|
12111
|
+
};
|
|
12112
|
+
};
|
|
12113
|
+
responses: {
|
|
12114
|
+
/** @description Organización (pending) */
|
|
12115
|
+
200: {
|
|
12116
|
+
headers: {
|
|
12117
|
+
[name: string]: unknown;
|
|
12118
|
+
};
|
|
12119
|
+
content: {
|
|
12120
|
+
"application/json": components["schemas"]["OrganizationResponse"];
|
|
12121
|
+
};
|
|
12122
|
+
};
|
|
12123
|
+
/** @description Sin permiso */
|
|
12124
|
+
403: {
|
|
12125
|
+
headers: {
|
|
12126
|
+
[name: string]: unknown;
|
|
12127
|
+
};
|
|
12128
|
+
content: {
|
|
12129
|
+
"application/json": components["schemas"]["Error"];
|
|
12130
|
+
};
|
|
12131
|
+
};
|
|
12132
|
+
/** @description Error de validación o transición */
|
|
12133
|
+
422: {
|
|
12134
|
+
headers: {
|
|
12135
|
+
[name: string]: unknown;
|
|
12136
|
+
};
|
|
12137
|
+
content: {
|
|
12138
|
+
"application/json": components["schemas"]["Error"];
|
|
12139
|
+
};
|
|
12140
|
+
};
|
|
12141
|
+
};
|
|
12142
|
+
};
|
|
12143
|
+
"HablalaApiWeb.Orgs.OrganizationController.approve_verification": {
|
|
12144
|
+
parameters: {
|
|
12145
|
+
query?: never;
|
|
12146
|
+
header?: never;
|
|
12147
|
+
path: {
|
|
12148
|
+
id: string;
|
|
12149
|
+
};
|
|
12150
|
+
cookie?: never;
|
|
12151
|
+
};
|
|
12152
|
+
requestBody?: never;
|
|
12153
|
+
responses: {
|
|
12154
|
+
/** @description Organización (verified) */
|
|
12155
|
+
200: {
|
|
12156
|
+
headers: {
|
|
11386
12157
|
[name: string]: unknown;
|
|
11387
12158
|
};
|
|
11388
12159
|
content: {
|
|
@@ -16992,14 +17763,9 @@ interface operations {
|
|
|
16992
17763
|
};
|
|
16993
17764
|
};
|
|
16994
17765
|
};
|
|
16995
|
-
"HablalaApiWeb.
|
|
17766
|
+
"HablalaApiWeb.Webhooks.WebhookController.index": {
|
|
16996
17767
|
parameters: {
|
|
16997
|
-
query?:
|
|
16998
|
-
/** @description Filtrar por definición (wfd_…). */
|
|
16999
|
-
workflowDefinitionId?: string;
|
|
17000
|
-
/** @description Filtrar por estado: running | completed | failed. */
|
|
17001
|
-
status?: string;
|
|
17002
|
-
};
|
|
17768
|
+
query?: never;
|
|
17003
17769
|
header?: never;
|
|
17004
17770
|
path: {
|
|
17005
17771
|
organization_id: string;
|
|
@@ -17008,38 +17774,315 @@ interface operations {
|
|
|
17008
17774
|
};
|
|
17009
17775
|
requestBody?: never;
|
|
17010
17776
|
responses: {
|
|
17011
|
-
/** @description
|
|
17777
|
+
/** @description Endpoints */
|
|
17012
17778
|
200: {
|
|
17013
17779
|
headers: {
|
|
17014
17780
|
[name: string]: unknown;
|
|
17015
17781
|
};
|
|
17016
17782
|
content: {
|
|
17017
|
-
"application/json": components["schemas"]["
|
|
17018
|
-
};
|
|
17019
|
-
};
|
|
17020
|
-
/** @description Sin permiso */
|
|
17021
|
-
403: {
|
|
17022
|
-
headers: {
|
|
17023
|
-
[name: string]: unknown;
|
|
17024
|
-
};
|
|
17025
|
-
content: {
|
|
17026
|
-
"application/json": components["schemas"]["Error"];
|
|
17783
|
+
"application/json": components["schemas"]["WebhookEndpointsResponse"];
|
|
17027
17784
|
};
|
|
17028
17785
|
};
|
|
17029
17786
|
};
|
|
17030
17787
|
};
|
|
17031
|
-
"HablalaApiWeb.
|
|
17788
|
+
"HablalaApiWeb.Webhooks.WebhookController.create": {
|
|
17032
17789
|
parameters: {
|
|
17033
17790
|
query?: never;
|
|
17034
17791
|
header?: never;
|
|
17035
17792
|
path: {
|
|
17036
17793
|
organization_id: string;
|
|
17037
|
-
id: string;
|
|
17038
17794
|
};
|
|
17039
17795
|
cookie?: never;
|
|
17040
17796
|
};
|
|
17041
|
-
|
|
17042
|
-
|
|
17797
|
+
/** @description Datos del endpoint */
|
|
17798
|
+
requestBody?: {
|
|
17799
|
+
content: {
|
|
17800
|
+
"application/json": components["schemas"]["WebhookEndpointRequest"];
|
|
17801
|
+
};
|
|
17802
|
+
};
|
|
17803
|
+
responses: {
|
|
17804
|
+
/** @description Endpoint creado (con secret) */
|
|
17805
|
+
201: {
|
|
17806
|
+
headers: {
|
|
17807
|
+
[name: string]: unknown;
|
|
17808
|
+
};
|
|
17809
|
+
content: {
|
|
17810
|
+
"application/json": components["schemas"]["WebhookEndpointWithSecretResponse"];
|
|
17811
|
+
};
|
|
17812
|
+
};
|
|
17813
|
+
/** @description Sin permiso */
|
|
17814
|
+
403: {
|
|
17815
|
+
headers: {
|
|
17816
|
+
[name: string]: unknown;
|
|
17817
|
+
};
|
|
17818
|
+
content: {
|
|
17819
|
+
"application/json": components["schemas"]["Error"];
|
|
17820
|
+
};
|
|
17821
|
+
};
|
|
17822
|
+
/** @description Error de validación */
|
|
17823
|
+
422: {
|
|
17824
|
+
headers: {
|
|
17825
|
+
[name: string]: unknown;
|
|
17826
|
+
};
|
|
17827
|
+
content: {
|
|
17828
|
+
"application/json": components["schemas"]["Error"];
|
|
17829
|
+
};
|
|
17830
|
+
};
|
|
17831
|
+
};
|
|
17832
|
+
};
|
|
17833
|
+
"HablalaApiWeb.Webhooks.WebhookController.show": {
|
|
17834
|
+
parameters: {
|
|
17835
|
+
query?: never;
|
|
17836
|
+
header?: never;
|
|
17837
|
+
path: {
|
|
17838
|
+
organization_id: string;
|
|
17839
|
+
id: string;
|
|
17840
|
+
};
|
|
17841
|
+
cookie?: never;
|
|
17842
|
+
};
|
|
17843
|
+
requestBody?: never;
|
|
17844
|
+
responses: {
|
|
17845
|
+
/** @description Endpoint */
|
|
17846
|
+
200: {
|
|
17847
|
+
headers: {
|
|
17848
|
+
[name: string]: unknown;
|
|
17849
|
+
};
|
|
17850
|
+
content: {
|
|
17851
|
+
"application/json": components["schemas"]["WebhookEndpointResponse"];
|
|
17852
|
+
};
|
|
17853
|
+
};
|
|
17854
|
+
/** @description No existe */
|
|
17855
|
+
404: {
|
|
17856
|
+
headers: {
|
|
17857
|
+
[name: string]: unknown;
|
|
17858
|
+
};
|
|
17859
|
+
content: {
|
|
17860
|
+
"application/json": components["schemas"]["Error"];
|
|
17861
|
+
};
|
|
17862
|
+
};
|
|
17863
|
+
};
|
|
17864
|
+
};
|
|
17865
|
+
"HablalaApiWeb.Webhooks.WebhookController.update": {
|
|
17866
|
+
parameters: {
|
|
17867
|
+
query?: never;
|
|
17868
|
+
header?: never;
|
|
17869
|
+
path: {
|
|
17870
|
+
organization_id: string;
|
|
17871
|
+
id: string;
|
|
17872
|
+
};
|
|
17873
|
+
cookie?: never;
|
|
17874
|
+
};
|
|
17875
|
+
/** @description Cambios */
|
|
17876
|
+
requestBody?: {
|
|
17877
|
+
content: {
|
|
17878
|
+
"application/json": components["schemas"]["WebhookEndpointRequest"];
|
|
17879
|
+
};
|
|
17880
|
+
};
|
|
17881
|
+
responses: {
|
|
17882
|
+
/** @description Endpoint actualizado */
|
|
17883
|
+
200: {
|
|
17884
|
+
headers: {
|
|
17885
|
+
[name: string]: unknown;
|
|
17886
|
+
};
|
|
17887
|
+
content: {
|
|
17888
|
+
"application/json": components["schemas"]["WebhookEndpointResponse"];
|
|
17889
|
+
};
|
|
17890
|
+
};
|
|
17891
|
+
/** @description Error de validación */
|
|
17892
|
+
422: {
|
|
17893
|
+
headers: {
|
|
17894
|
+
[name: string]: unknown;
|
|
17895
|
+
};
|
|
17896
|
+
content: {
|
|
17897
|
+
"application/json": components["schemas"]["Error"];
|
|
17898
|
+
};
|
|
17899
|
+
};
|
|
17900
|
+
};
|
|
17901
|
+
};
|
|
17902
|
+
"HablalaApiWeb.Webhooks.WebhookController.delete": {
|
|
17903
|
+
parameters: {
|
|
17904
|
+
query?: never;
|
|
17905
|
+
header?: never;
|
|
17906
|
+
path: {
|
|
17907
|
+
organization_id: string;
|
|
17908
|
+
id: string;
|
|
17909
|
+
};
|
|
17910
|
+
cookie?: never;
|
|
17911
|
+
};
|
|
17912
|
+
requestBody?: never;
|
|
17913
|
+
responses: {
|
|
17914
|
+
/** @description Borrado */
|
|
17915
|
+
204: {
|
|
17916
|
+
headers: {
|
|
17917
|
+
[name: string]: unknown;
|
|
17918
|
+
};
|
|
17919
|
+
content?: never;
|
|
17920
|
+
};
|
|
17921
|
+
/** @description Sin permiso */
|
|
17922
|
+
403: {
|
|
17923
|
+
headers: {
|
|
17924
|
+
[name: string]: unknown;
|
|
17925
|
+
};
|
|
17926
|
+
content: {
|
|
17927
|
+
"application/json": components["schemas"]["Error"];
|
|
17928
|
+
};
|
|
17929
|
+
};
|
|
17930
|
+
};
|
|
17931
|
+
};
|
|
17932
|
+
"HablalaApiWeb.Webhooks.WebhookController.update (2)": {
|
|
17933
|
+
parameters: {
|
|
17934
|
+
query?: never;
|
|
17935
|
+
header?: never;
|
|
17936
|
+
path: {
|
|
17937
|
+
organization_id: string;
|
|
17938
|
+
id: string;
|
|
17939
|
+
};
|
|
17940
|
+
cookie?: never;
|
|
17941
|
+
};
|
|
17942
|
+
/** @description Cambios */
|
|
17943
|
+
requestBody?: {
|
|
17944
|
+
content: {
|
|
17945
|
+
"application/json": components["schemas"]["WebhookEndpointRequest"];
|
|
17946
|
+
};
|
|
17947
|
+
};
|
|
17948
|
+
responses: {
|
|
17949
|
+
/** @description Endpoint actualizado */
|
|
17950
|
+
200: {
|
|
17951
|
+
headers: {
|
|
17952
|
+
[name: string]: unknown;
|
|
17953
|
+
};
|
|
17954
|
+
content: {
|
|
17955
|
+
"application/json": components["schemas"]["WebhookEndpointResponse"];
|
|
17956
|
+
};
|
|
17957
|
+
};
|
|
17958
|
+
/** @description Error de validación */
|
|
17959
|
+
422: {
|
|
17960
|
+
headers: {
|
|
17961
|
+
[name: string]: unknown;
|
|
17962
|
+
};
|
|
17963
|
+
content: {
|
|
17964
|
+
"application/json": components["schemas"]["Error"];
|
|
17965
|
+
};
|
|
17966
|
+
};
|
|
17967
|
+
};
|
|
17968
|
+
};
|
|
17969
|
+
"HablalaApiWeb.Webhooks.WebhookController.deliveries": {
|
|
17970
|
+
parameters: {
|
|
17971
|
+
query?: never;
|
|
17972
|
+
header?: never;
|
|
17973
|
+
path: {
|
|
17974
|
+
organization_id: string;
|
|
17975
|
+
id: string;
|
|
17976
|
+
};
|
|
17977
|
+
cookie?: never;
|
|
17978
|
+
};
|
|
17979
|
+
requestBody?: never;
|
|
17980
|
+
responses: {
|
|
17981
|
+
/** @description Deliveries */
|
|
17982
|
+
200: {
|
|
17983
|
+
headers: {
|
|
17984
|
+
[name: string]: unknown;
|
|
17985
|
+
};
|
|
17986
|
+
content: {
|
|
17987
|
+
"application/json": components["schemas"]["WebhookDeliveriesResponse"];
|
|
17988
|
+
};
|
|
17989
|
+
};
|
|
17990
|
+
};
|
|
17991
|
+
};
|
|
17992
|
+
"HablalaApiWeb.Webhooks.WebhookController.rotate": {
|
|
17993
|
+
parameters: {
|
|
17994
|
+
query?: never;
|
|
17995
|
+
header?: never;
|
|
17996
|
+
path: {
|
|
17997
|
+
organization_id: string;
|
|
17998
|
+
id: string;
|
|
17999
|
+
};
|
|
18000
|
+
cookie?: never;
|
|
18001
|
+
};
|
|
18002
|
+
requestBody?: never;
|
|
18003
|
+
responses: {
|
|
18004
|
+
/** @description Secret rotado */
|
|
18005
|
+
201: {
|
|
18006
|
+
headers: {
|
|
18007
|
+
[name: string]: unknown;
|
|
18008
|
+
};
|
|
18009
|
+
content: {
|
|
18010
|
+
"application/json": components["schemas"]["WebhookEndpointWithSecretResponse"];
|
|
18011
|
+
};
|
|
18012
|
+
};
|
|
18013
|
+
};
|
|
18014
|
+
};
|
|
18015
|
+
"HablalaApiWeb.Webhooks.WebhookController.secret": {
|
|
18016
|
+
parameters: {
|
|
18017
|
+
query?: never;
|
|
18018
|
+
header?: never;
|
|
18019
|
+
path: {
|
|
18020
|
+
organization_id: string;
|
|
18021
|
+
id: string;
|
|
18022
|
+
};
|
|
18023
|
+
cookie?: never;
|
|
18024
|
+
};
|
|
18025
|
+
requestBody?: never;
|
|
18026
|
+
responses: {
|
|
18027
|
+
/** @description Endpoint con secret */
|
|
18028
|
+
200: {
|
|
18029
|
+
headers: {
|
|
18030
|
+
[name: string]: unknown;
|
|
18031
|
+
};
|
|
18032
|
+
content: {
|
|
18033
|
+
"application/json": components["schemas"]["WebhookEndpointWithSecretResponse"];
|
|
18034
|
+
};
|
|
18035
|
+
};
|
|
18036
|
+
};
|
|
18037
|
+
};
|
|
18038
|
+
"HablalaApiWeb.Workflows.WorkflowExecutionController.index": {
|
|
18039
|
+
parameters: {
|
|
18040
|
+
query?: {
|
|
18041
|
+
/** @description Filtrar por definición (wfd_…). */
|
|
18042
|
+
workflowDefinitionId?: string;
|
|
18043
|
+
/** @description Filtrar por estado: running | completed | failed. */
|
|
18044
|
+
status?: string;
|
|
18045
|
+
};
|
|
18046
|
+
header?: never;
|
|
18047
|
+
path: {
|
|
18048
|
+
organization_id: string;
|
|
18049
|
+
};
|
|
18050
|
+
cookie?: never;
|
|
18051
|
+
};
|
|
18052
|
+
requestBody?: never;
|
|
18053
|
+
responses: {
|
|
18054
|
+
/** @description Ejecuciones */
|
|
18055
|
+
200: {
|
|
18056
|
+
headers: {
|
|
18057
|
+
[name: string]: unknown;
|
|
18058
|
+
};
|
|
18059
|
+
content: {
|
|
18060
|
+
"application/json": components["schemas"]["WorkflowExecutionsResponse"];
|
|
18061
|
+
};
|
|
18062
|
+
};
|
|
18063
|
+
/** @description Sin permiso */
|
|
18064
|
+
403: {
|
|
18065
|
+
headers: {
|
|
18066
|
+
[name: string]: unknown;
|
|
18067
|
+
};
|
|
18068
|
+
content: {
|
|
18069
|
+
"application/json": components["schemas"]["Error"];
|
|
18070
|
+
};
|
|
18071
|
+
};
|
|
18072
|
+
};
|
|
18073
|
+
};
|
|
18074
|
+
"HablalaApiWeb.Workflows.WorkflowExecutionController.show": {
|
|
18075
|
+
parameters: {
|
|
18076
|
+
query?: never;
|
|
18077
|
+
header?: never;
|
|
18078
|
+
path: {
|
|
18079
|
+
organization_id: string;
|
|
18080
|
+
id: string;
|
|
18081
|
+
};
|
|
18082
|
+
cookie?: never;
|
|
18083
|
+
};
|
|
18084
|
+
requestBody?: never;
|
|
18085
|
+
responses: {
|
|
17043
18086
|
/** @description Ejecución */
|
|
17044
18087
|
200: {
|
|
17045
18088
|
headers: {
|
|
@@ -19304,6 +20347,267 @@ interface operations {
|
|
|
19304
20347
|
};
|
|
19305
20348
|
};
|
|
19306
20349
|
};
|
|
20350
|
+
"HablalaApiWeb.Machine.WebhookController.index": {
|
|
20351
|
+
parameters: {
|
|
20352
|
+
query?: never;
|
|
20353
|
+
header?: never;
|
|
20354
|
+
path?: never;
|
|
20355
|
+
cookie?: never;
|
|
20356
|
+
};
|
|
20357
|
+
requestBody?: never;
|
|
20358
|
+
responses: {
|
|
20359
|
+
/** @description Endpoints */
|
|
20360
|
+
200: {
|
|
20361
|
+
headers: {
|
|
20362
|
+
[name: string]: unknown;
|
|
20363
|
+
};
|
|
20364
|
+
content: {
|
|
20365
|
+
"application/json": components["schemas"]["WebhookEndpointsResponse"];
|
|
20366
|
+
};
|
|
20367
|
+
};
|
|
20368
|
+
};
|
|
20369
|
+
};
|
|
20370
|
+
"HablalaApiWeb.Machine.WebhookController.create": {
|
|
20371
|
+
parameters: {
|
|
20372
|
+
query?: never;
|
|
20373
|
+
header?: never;
|
|
20374
|
+
path?: never;
|
|
20375
|
+
cookie?: never;
|
|
20376
|
+
};
|
|
20377
|
+
/** @description Datos del endpoint */
|
|
20378
|
+
requestBody?: {
|
|
20379
|
+
content: {
|
|
20380
|
+
"application/json": components["schemas"]["WebhookEndpointRequest"];
|
|
20381
|
+
};
|
|
20382
|
+
};
|
|
20383
|
+
responses: {
|
|
20384
|
+
/** @description Endpoint creado (con secret) */
|
|
20385
|
+
201: {
|
|
20386
|
+
headers: {
|
|
20387
|
+
[name: string]: unknown;
|
|
20388
|
+
};
|
|
20389
|
+
content: {
|
|
20390
|
+
"application/json": components["schemas"]["WebhookEndpointWithSecretResponse"];
|
|
20391
|
+
};
|
|
20392
|
+
};
|
|
20393
|
+
/** @description Sin permiso */
|
|
20394
|
+
403: {
|
|
20395
|
+
headers: {
|
|
20396
|
+
[name: string]: unknown;
|
|
20397
|
+
};
|
|
20398
|
+
content: {
|
|
20399
|
+
"application/json": components["schemas"]["Error"];
|
|
20400
|
+
};
|
|
20401
|
+
};
|
|
20402
|
+
/** @description Error de validación */
|
|
20403
|
+
422: {
|
|
20404
|
+
headers: {
|
|
20405
|
+
[name: string]: unknown;
|
|
20406
|
+
};
|
|
20407
|
+
content: {
|
|
20408
|
+
"application/json": components["schemas"]["Error"];
|
|
20409
|
+
};
|
|
20410
|
+
};
|
|
20411
|
+
};
|
|
20412
|
+
};
|
|
20413
|
+
"HablalaApiWeb.Machine.WebhookController.show": {
|
|
20414
|
+
parameters: {
|
|
20415
|
+
query?: never;
|
|
20416
|
+
header?: never;
|
|
20417
|
+
path: {
|
|
20418
|
+
id: string;
|
|
20419
|
+
};
|
|
20420
|
+
cookie?: never;
|
|
20421
|
+
};
|
|
20422
|
+
requestBody?: never;
|
|
20423
|
+
responses: {
|
|
20424
|
+
/** @description Endpoint */
|
|
20425
|
+
200: {
|
|
20426
|
+
headers: {
|
|
20427
|
+
[name: string]: unknown;
|
|
20428
|
+
};
|
|
20429
|
+
content: {
|
|
20430
|
+
"application/json": components["schemas"]["WebhookEndpointResponse"];
|
|
20431
|
+
};
|
|
20432
|
+
};
|
|
20433
|
+
/** @description No existe */
|
|
20434
|
+
404: {
|
|
20435
|
+
headers: {
|
|
20436
|
+
[name: string]: unknown;
|
|
20437
|
+
};
|
|
20438
|
+
content: {
|
|
20439
|
+
"application/json": components["schemas"]["Error"];
|
|
20440
|
+
};
|
|
20441
|
+
};
|
|
20442
|
+
};
|
|
20443
|
+
};
|
|
20444
|
+
"HablalaApiWeb.Machine.WebhookController.update": {
|
|
20445
|
+
parameters: {
|
|
20446
|
+
query?: never;
|
|
20447
|
+
header?: never;
|
|
20448
|
+
path: {
|
|
20449
|
+
id: string;
|
|
20450
|
+
};
|
|
20451
|
+
cookie?: never;
|
|
20452
|
+
};
|
|
20453
|
+
/** @description Cambios */
|
|
20454
|
+
requestBody?: {
|
|
20455
|
+
content: {
|
|
20456
|
+
"application/json": components["schemas"]["WebhookEndpointRequest"];
|
|
20457
|
+
};
|
|
20458
|
+
};
|
|
20459
|
+
responses: {
|
|
20460
|
+
/** @description Endpoint actualizado */
|
|
20461
|
+
200: {
|
|
20462
|
+
headers: {
|
|
20463
|
+
[name: string]: unknown;
|
|
20464
|
+
};
|
|
20465
|
+
content: {
|
|
20466
|
+
"application/json": components["schemas"]["WebhookEndpointResponse"];
|
|
20467
|
+
};
|
|
20468
|
+
};
|
|
20469
|
+
/** @description Error de validación */
|
|
20470
|
+
422: {
|
|
20471
|
+
headers: {
|
|
20472
|
+
[name: string]: unknown;
|
|
20473
|
+
};
|
|
20474
|
+
content: {
|
|
20475
|
+
"application/json": components["schemas"]["Error"];
|
|
20476
|
+
};
|
|
20477
|
+
};
|
|
20478
|
+
};
|
|
20479
|
+
};
|
|
20480
|
+
"HablalaApiWeb.Machine.WebhookController.delete": {
|
|
20481
|
+
parameters: {
|
|
20482
|
+
query?: never;
|
|
20483
|
+
header?: never;
|
|
20484
|
+
path: {
|
|
20485
|
+
id: string;
|
|
20486
|
+
};
|
|
20487
|
+
cookie?: never;
|
|
20488
|
+
};
|
|
20489
|
+
requestBody?: never;
|
|
20490
|
+
responses: {
|
|
20491
|
+
/** @description Borrado */
|
|
20492
|
+
204: {
|
|
20493
|
+
headers: {
|
|
20494
|
+
[name: string]: unknown;
|
|
20495
|
+
};
|
|
20496
|
+
content?: never;
|
|
20497
|
+
};
|
|
20498
|
+
/** @description Sin permiso */
|
|
20499
|
+
403: {
|
|
20500
|
+
headers: {
|
|
20501
|
+
[name: string]: unknown;
|
|
20502
|
+
};
|
|
20503
|
+
content: {
|
|
20504
|
+
"application/json": components["schemas"]["Error"];
|
|
20505
|
+
};
|
|
20506
|
+
};
|
|
20507
|
+
};
|
|
20508
|
+
};
|
|
20509
|
+
"HablalaApiWeb.Machine.WebhookController.update (2)": {
|
|
20510
|
+
parameters: {
|
|
20511
|
+
query?: never;
|
|
20512
|
+
header?: never;
|
|
20513
|
+
path: {
|
|
20514
|
+
id: string;
|
|
20515
|
+
};
|
|
20516
|
+
cookie?: never;
|
|
20517
|
+
};
|
|
20518
|
+
/** @description Cambios */
|
|
20519
|
+
requestBody?: {
|
|
20520
|
+
content: {
|
|
20521
|
+
"application/json": components["schemas"]["WebhookEndpointRequest"];
|
|
20522
|
+
};
|
|
20523
|
+
};
|
|
20524
|
+
responses: {
|
|
20525
|
+
/** @description Endpoint actualizado */
|
|
20526
|
+
200: {
|
|
20527
|
+
headers: {
|
|
20528
|
+
[name: string]: unknown;
|
|
20529
|
+
};
|
|
20530
|
+
content: {
|
|
20531
|
+
"application/json": components["schemas"]["WebhookEndpointResponse"];
|
|
20532
|
+
};
|
|
20533
|
+
};
|
|
20534
|
+
/** @description Error de validación */
|
|
20535
|
+
422: {
|
|
20536
|
+
headers: {
|
|
20537
|
+
[name: string]: unknown;
|
|
20538
|
+
};
|
|
20539
|
+
content: {
|
|
20540
|
+
"application/json": components["schemas"]["Error"];
|
|
20541
|
+
};
|
|
20542
|
+
};
|
|
20543
|
+
};
|
|
20544
|
+
};
|
|
20545
|
+
"HablalaApiWeb.Machine.WebhookController.deliveries": {
|
|
20546
|
+
parameters: {
|
|
20547
|
+
query?: never;
|
|
20548
|
+
header?: never;
|
|
20549
|
+
path: {
|
|
20550
|
+
id: string;
|
|
20551
|
+
};
|
|
20552
|
+
cookie?: never;
|
|
20553
|
+
};
|
|
20554
|
+
requestBody?: never;
|
|
20555
|
+
responses: {
|
|
20556
|
+
/** @description Deliveries */
|
|
20557
|
+
200: {
|
|
20558
|
+
headers: {
|
|
20559
|
+
[name: string]: unknown;
|
|
20560
|
+
};
|
|
20561
|
+
content: {
|
|
20562
|
+
"application/json": components["schemas"]["WebhookDeliveriesResponse"];
|
|
20563
|
+
};
|
|
20564
|
+
};
|
|
20565
|
+
};
|
|
20566
|
+
};
|
|
20567
|
+
"HablalaApiWeb.Machine.WebhookController.rotate": {
|
|
20568
|
+
parameters: {
|
|
20569
|
+
query?: never;
|
|
20570
|
+
header?: never;
|
|
20571
|
+
path: {
|
|
20572
|
+
id: string;
|
|
20573
|
+
};
|
|
20574
|
+
cookie?: never;
|
|
20575
|
+
};
|
|
20576
|
+
requestBody?: never;
|
|
20577
|
+
responses: {
|
|
20578
|
+
/** @description Secret rotado */
|
|
20579
|
+
201: {
|
|
20580
|
+
headers: {
|
|
20581
|
+
[name: string]: unknown;
|
|
20582
|
+
};
|
|
20583
|
+
content: {
|
|
20584
|
+
"application/json": components["schemas"]["WebhookEndpointWithSecretResponse"];
|
|
20585
|
+
};
|
|
20586
|
+
};
|
|
20587
|
+
};
|
|
20588
|
+
};
|
|
20589
|
+
"HablalaApiWeb.Machine.WebhookController.secret": {
|
|
20590
|
+
parameters: {
|
|
20591
|
+
query?: never;
|
|
20592
|
+
header?: never;
|
|
20593
|
+
path: {
|
|
20594
|
+
id: string;
|
|
20595
|
+
};
|
|
20596
|
+
cookie?: never;
|
|
20597
|
+
};
|
|
20598
|
+
requestBody?: never;
|
|
20599
|
+
responses: {
|
|
20600
|
+
/** @description Endpoint con secret */
|
|
20601
|
+
200: {
|
|
20602
|
+
headers: {
|
|
20603
|
+
[name: string]: unknown;
|
|
20604
|
+
};
|
|
20605
|
+
content: {
|
|
20606
|
+
"application/json": components["schemas"]["WebhookEndpointWithSecretResponse"];
|
|
20607
|
+
};
|
|
20608
|
+
};
|
|
20609
|
+
};
|
|
20610
|
+
};
|
|
19307
20611
|
"HablalaApiWeb.Machine.WhoamiController.show": {
|
|
19308
20612
|
parameters: {
|
|
19309
20613
|
query?: never;
|