@epilot/sdk 2.20.13 → 2.20.15

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.
Files changed (128) hide show
  1. package/definitions/access-token-runtime.json +1 -1
  2. package/definitions/access-token.json +208 -3
  3. package/dist/access-token-E2XEMQMG.cjs +7 -0
  4. package/dist/access-token-IBKEXWNA.js +7 -0
  5. package/dist/{access-token-runtime-B6Z7JLUS.cjs → access-token-runtime-3HQN34OF.cjs} +2 -2
  6. package/dist/{access-token-runtime-2PSLN2U3.js → access-token-runtime-MEKGPOGL.js} +1 -1
  7. package/dist/{access-token.d-BhRUc8I-.d.cts → access-token.d-OiCg1gnT.d.cts} +221 -3
  8. package/dist/{access-token.d-BhRUc8I-.d.ts → access-token.d-OiCg1gnT.d.ts} +221 -3
  9. package/dist/apis/access-token.cjs +8 -8
  10. package/dist/apis/access-token.d.cts +2 -2
  11. package/dist/apis/access-token.d.ts +2 -2
  12. package/dist/apis/access-token.js +2 -2
  13. package/dist/apis/address-suggestions.cjs +6 -6
  14. package/dist/apis/address-suggestions.js +1 -1
  15. package/dist/apis/address.cjs +6 -6
  16. package/dist/apis/address.js +1 -1
  17. package/dist/apis/ai-agents.cjs +6 -6
  18. package/dist/apis/ai-agents.js +1 -1
  19. package/dist/apis/app.cjs +6 -6
  20. package/dist/apis/app.js +1 -1
  21. package/dist/apis/audit-logs.cjs +6 -6
  22. package/dist/apis/audit-logs.js +1 -1
  23. package/dist/apis/automation.cjs +6 -6
  24. package/dist/apis/automation.js +1 -1
  25. package/dist/apis/billing.cjs +6 -6
  26. package/dist/apis/billing.js +1 -1
  27. package/dist/apis/blueprint-manifest.cjs +6 -6
  28. package/dist/apis/blueprint-manifest.js +1 -1
  29. package/dist/apis/calendar.cjs +6 -6
  30. package/dist/apis/calendar.js +1 -1
  31. package/dist/apis/configuration-hub.cjs +6 -6
  32. package/dist/apis/configuration-hub.js +1 -1
  33. package/dist/apis/consent.cjs +6 -6
  34. package/dist/apis/consent.js +1 -1
  35. package/dist/apis/customer-portal.cjs +6 -6
  36. package/dist/apis/customer-portal.js +1 -1
  37. package/dist/apis/dashboard.cjs +6 -6
  38. package/dist/apis/dashboard.js +1 -1
  39. package/dist/apis/data-governance.cjs +6 -6
  40. package/dist/apis/data-governance.js +1 -1
  41. package/dist/apis/deduplication.cjs +6 -6
  42. package/dist/apis/deduplication.js +1 -1
  43. package/dist/apis/design.cjs +6 -6
  44. package/dist/apis/design.js +1 -1
  45. package/dist/apis/document.cjs +6 -6
  46. package/dist/apis/document.js +1 -1
  47. package/dist/apis/email-settings.cjs +6 -6
  48. package/dist/apis/email-settings.js +1 -1
  49. package/dist/apis/email-template.cjs +6 -6
  50. package/dist/apis/email-template.js +1 -1
  51. package/dist/apis/entity-mapping.cjs +6 -6
  52. package/dist/apis/entity-mapping.js +1 -1
  53. package/dist/apis/entity.cjs +6 -6
  54. package/dist/apis/entity.js +1 -1
  55. package/dist/apis/environments.cjs +6 -6
  56. package/dist/apis/environments.js +1 -1
  57. package/dist/apis/event-catalog.cjs +6 -6
  58. package/dist/apis/event-catalog.js +1 -1
  59. package/dist/apis/file.cjs +6 -6
  60. package/dist/apis/file.js +1 -1
  61. package/dist/apis/iban.cjs +6 -6
  62. package/dist/apis/iban.js +1 -1
  63. package/dist/apis/integration-toolkit.cjs +221 -6
  64. package/dist/apis/integration-toolkit.d.cts +41 -3
  65. package/dist/apis/integration-toolkit.d.ts +41 -3
  66. package/dist/apis/integration-toolkit.js +216 -1
  67. package/dist/apis/journey.cjs +6 -6
  68. package/dist/apis/journey.js +1 -1
  69. package/dist/apis/kanban.cjs +6 -6
  70. package/dist/apis/kanban.js +1 -1
  71. package/dist/apis/message.cjs +6 -6
  72. package/dist/apis/message.js +1 -1
  73. package/dist/apis/metering.cjs +6 -6
  74. package/dist/apis/metering.js +1 -1
  75. package/dist/apis/notes.cjs +6 -6
  76. package/dist/apis/notes.js +1 -1
  77. package/dist/apis/notification.cjs +6 -6
  78. package/dist/apis/notification.js +1 -1
  79. package/dist/apis/organization.cjs +6 -6
  80. package/dist/apis/organization.js +1 -1
  81. package/dist/apis/partner-directory.cjs +6 -6
  82. package/dist/apis/partner-directory.js +1 -1
  83. package/dist/apis/permissions.cjs +6 -6
  84. package/dist/apis/permissions.js +1 -1
  85. package/dist/apis/pricing-tier.cjs +6 -6
  86. package/dist/apis/pricing-tier.js +1 -1
  87. package/dist/apis/pricing.cjs +6 -6
  88. package/dist/apis/pricing.js +1 -1
  89. package/dist/apis/purpose.cjs +6 -6
  90. package/dist/apis/purpose.js +1 -1
  91. package/dist/apis/query.cjs +6 -6
  92. package/dist/apis/query.js +1 -1
  93. package/dist/apis/sandbox.cjs +6 -6
  94. package/dist/apis/sandbox.js +1 -1
  95. package/dist/apis/sharing.cjs +6 -6
  96. package/dist/apis/sharing.js +1 -1
  97. package/dist/apis/snapshot.cjs +6 -6
  98. package/dist/apis/snapshot.js +1 -1
  99. package/dist/apis/submission.cjs +6 -6
  100. package/dist/apis/submission.js +1 -1
  101. package/dist/apis/target.cjs +6 -6
  102. package/dist/apis/target.js +1 -1
  103. package/dist/apis/targeting.cjs +6 -6
  104. package/dist/apis/targeting.js +1 -1
  105. package/dist/apis/template-variables.cjs +6 -6
  106. package/dist/apis/template-variables.js +1 -1
  107. package/dist/apis/user.cjs +6 -6
  108. package/dist/apis/user.js +1 -1
  109. package/dist/apis/validation-rules.cjs +6 -6
  110. package/dist/apis/validation-rules.js +1 -1
  111. package/dist/apis/webhooks.cjs +6 -6
  112. package/dist/apis/webhooks.js +1 -1
  113. package/dist/apis/workflow-definition.cjs +6 -6
  114. package/dist/apis/workflow-definition.js +1 -1
  115. package/dist/apis/workflow.cjs +6 -6
  116. package/dist/apis/workflow.js +1 -1
  117. package/dist/{chunk-ELW4V3ID.cjs → chunk-FXIH3QBV.cjs} +2 -2
  118. package/dist/{chunk-OHHHS4HH.js → chunk-TW4SUGOF.js} +1 -1
  119. package/dist/{chunk-FONJD6VA.js → chunk-YFFICVOA.js} +2 -2
  120. package/dist/{chunk-S5HBBTKM.cjs → chunk-ZMBA3WV4.cjs} +1 -1
  121. package/dist/index.cjs +10 -10
  122. package/dist/index.d.cts +1 -1
  123. package/dist/index.d.ts +1 -1
  124. package/dist/index.js +2 -2
  125. package/docs/access-token.md +135 -5
  126. package/package.json +1 -1
  127. package/dist/access-token-7Y2MDFZH.cjs +0 -7
  128. package/dist/access-token-NWN7UBUP.js +0 -7
@@ -1 +1 @@
1
- {"s":"https://access-token.sls.epilot.io","o":[["createAccessToken","post","/v1/access-tokens",null,1],["listAccessTokens","get","/v1/access-tokens",[["token_type","q"]]],["revokeAccessToken","delete","/v1/access-tokens/{id}",[["id","p",true]]],["getAccessTokenJwks","get","/v1/access-tokens/.well-known/jwks.json"],["getAccessTokenOIDC","get","/v1/access-tokens/.well-known/openid-configuration"],["getPublicTokenJwks","get","/v1/access-tokens/public/.well-known/jwks.json"],["getPortalPreviewTokenJwks","get","/v1/access-tokens/portal-preview/.well-known/jwks.json"],["getPublicTokenOIDC","get","/v1/access-tokens/public/.well-known/openid-configuration"],["getPortalPreviewTokenOIDC","get","/v1/access-tokens/portal-preview/.well-known/openid-configuration"]],"v":"3.0.3"}
1
+ {"s":"https://access-token.sls.epilot.io","o":[["createAccessToken","post","/v1/access-tokens",null,1],["listAccessTokens","get","/v1/access-tokens",[["token_type","q"]]],["revokeAccessToken","delete","/v1/access-tokens/{id}",[["id","p",true]]],["getAccessTokenJwks","get","/v1/access-tokens/.well-known/jwks.json"],["getAccessTokenOIDC","get","/v1/access-tokens/.well-known/openid-configuration"],["getPublicTokenJwks","get","/v1/access-tokens/public/.well-known/jwks.json"],["getPortalPreviewTokenJwks","get","/v1/access-tokens/portal-preview/.well-known/jwks.json"],["getPublicTokenOIDC","get","/v1/access-tokens/public/.well-known/openid-configuration"],["getPortalPreviewTokenOIDC","get","/v1/access-tokens/portal-preview/.well-known/openid-configuration"],["getContactIdentificationTokenJwks","get","/v1/access-tokens/contact-identification/.well-known/jwks.json"],["getContactIdentificationTokenOIDC","get","/v1/access-tokens/contact-identification/.well-known/openid-configuration"]],"v":"3.0.3"}
@@ -86,6 +86,21 @@
86
86
  "739224:e5c1f9b1-e41d-421d-83c4-c5626e464430"
87
87
  ]
88
88
  }
89
+ },
90
+ "contact_identification": {
91
+ "value": {
92
+ "name": "Contact Identification Token",
93
+ "token_type": "contact_identification",
94
+ "portal_id": "portal_abc123",
95
+ "contact_id": "5da0a718-c822-403d-9f5d-20d4584e0528",
96
+ "surface_id": "website-journeys",
97
+ "origin": "END_CUSTOMER_PORTAL",
98
+ "allowed_operations": [
99
+ "getContact",
100
+ "getContracts"
101
+ ],
102
+ "expires_in": 300
103
+ }
89
104
  }
90
105
  }
91
106
  }
@@ -495,6 +510,98 @@
495
510
  }
496
511
  }
497
512
  }
513
+ },
514
+ "/v1/access-tokens/contact-identification/.well-known/jwks.json": {
515
+ "get": {
516
+ "operationId": "getContactIdentificationTokenJwks",
517
+ "summary": "getContactIdentificationTokenJwks",
518
+ "description": "Get jwks public key set to verify contact identification tokens generated by this API",
519
+ "tags": [
520
+ "Public"
521
+ ],
522
+ "security": [],
523
+ "responses": {
524
+ "200": {
525
+ "description": "Set of jwks",
526
+ "content": {
527
+ "application/json": {
528
+ "schema": {
529
+ "type": "object",
530
+ "properties": {
531
+ "keys": {
532
+ "type": "array",
533
+ "items": {
534
+ "type": "object",
535
+ "properties": {
536
+ "alg": {
537
+ "type": "string",
538
+ "example": "RS256"
539
+ },
540
+ "e": {
541
+ "type": "string",
542
+ "example": "AQAB"
543
+ },
544
+ "kid": {
545
+ "type": "string",
546
+ "example": "tXWU5mPMbRPczpbQwi6vbhLF4GgF3wlMDSyqo7pfeiw="
547
+ },
548
+ "kty": {
549
+ "type": "string",
550
+ "example": "RSA"
551
+ },
552
+ "n": {
553
+ "type": "string",
554
+ "example": "h_QDoCjZ8W_trtYXaP7_S22wf5r5Wd9XBLED78oT44bJjQXn8ddcFV8Hik65_4IYXVX_hTTU4zpxe3H8vx2j7-Zz3O59mYMp5S0MzODNEdf5Y_2o19eis0brmAJniixsNlQ9LlYkdrVamrgaxHu3ZpP_99zkfFybYeuYoQNzb3PyrT8xVnz_USs_nlFMHpGUxvvz7gfKPqxcLvgLJr4cwI9yzaSY9CD4qW181QVcnL_WzpQ8xx6AuhhHZQ1l_3GG4InTk8ahE7U2ZHVu8RrX6d01pMgc3piEcet9RgFLnhbTg3YIiKGoAbN42wJn_x3lgIAC42T9mbmTsHyUdS6nUQ"
555
+ },
556
+ "use": {
557
+ "type": "string",
558
+ "example": "sig"
559
+ }
560
+ }
561
+ }
562
+ }
563
+ }
564
+ }
565
+ }
566
+ }
567
+ }
568
+ }
569
+ }
570
+ },
571
+ "/v1/access-tokens/contact-identification/.well-known/openid-configuration": {
572
+ "get": {
573
+ "operationId": "getContactIdentificationTokenOIDC",
574
+ "summary": "getContactIdentificationTokenOIDC",
575
+ "description": "OpenID Connect configuration for Access Token API as a contact identification identity provider\n\nNote: This API is not a fully compliant OAuth2.0 / OIDC identity provider, but this endpoint is useful to\nautomate the process of verifying JWT tokens.\n",
576
+ "tags": [
577
+ "Public"
578
+ ],
579
+ "security": [],
580
+ "responses": {
581
+ "200": {
582
+ "description": "OpenID Configuration",
583
+ "content": {
584
+ "application/json": {
585
+ "schema": {
586
+ "type": "object",
587
+ "properties": {
588
+ "issuer": {
589
+ "type": "string",
590
+ "format": "uri",
591
+ "example": "https://access-token.sls.epilot.io/v1/access-tokens/contact-identification"
592
+ },
593
+ "jwks_uri": {
594
+ "type": "string",
595
+ "format": "uri",
596
+ "example": "https://access-token.sls.epilot.io/v1/access-tokens/contact-identification/.well-known/jwks.json"
597
+ }
598
+ }
599
+ }
600
+ }
601
+ }
602
+ }
603
+ }
604
+ }
498
605
  }
499
606
  },
500
607
  "components": {
@@ -535,7 +642,8 @@
535
642
  "portal",
536
643
  "assume",
537
644
  "app",
538
- "portal_preview"
645
+ "portal_preview",
646
+ "contact_identification"
539
647
  ],
540
648
  "description": "Access token type",
541
649
  "example": "api"
@@ -552,6 +660,30 @@
552
660
  "type": "string",
553
661
  "description": "Portal User ID for access token type \"portal_preview\""
554
662
  },
663
+ "ContactId": {
664
+ "type": "string",
665
+ "description": "Contact entity ID for access token type \"contact_identification\"",
666
+ "example": "5da0a718-c822-403d-9f5d-20d4584e0528"
667
+ },
668
+ "PortalOrigin": {
669
+ "type": "string",
670
+ "enum": [
671
+ "END_CUSTOMER_PORTAL",
672
+ "INSTALLER_PORTAL"
673
+ ],
674
+ "description": "Portal origin the token assumes, so the bearer is permission-masked the same way the corresponding portal role is."
675
+ },
676
+ "AllowedOperations": {
677
+ "type": "array",
678
+ "description": "openapi operationIds the token may call. Enforced by the API that consumes the token, which must additionally deny any operation not on this list. Baked into the token at issue time so widening the consumer's own allowlist later cannot retroactively widen a token that is already in circulation.",
679
+ "items": {
680
+ "type": "string"
681
+ },
682
+ "example": [
683
+ "getContact",
684
+ "getContracts"
685
+ ]
686
+ },
555
687
  "TokenParameters": {
556
688
  "anyOf": [
557
689
  {
@@ -571,6 +703,9 @@
571
703
  },
572
704
  {
573
705
  "$ref": "#/components/schemas/PortalPreviewTokenParameters"
706
+ },
707
+ {
708
+ "$ref": "#/components/schemas/ContactIdentificationTokenParameters"
574
709
  }
575
710
  ]
576
711
  },
@@ -579,10 +714,10 @@
579
714
  {
580
715
  "type": "integer",
581
716
  "format": "int32",
582
- "description": "Expiration time in seconds",
717
+ "description": "Expiration time in seconds. api tokens may live up to 365 days (31536000); all other token types are capped at 7 days (604800) server-side.",
583
718
  "example": 3600,
584
719
  "minimum": 30,
585
- "maximum": 604800
720
+ "maximum": 31536000
586
721
  },
587
722
  {
588
723
  "type": "string",
@@ -766,6 +901,61 @@
766
901
  "portal_user_id"
767
902
  ]
768
903
  },
904
+ "ContactIdentificationTokenParameters": {
905
+ "type": "object",
906
+ "additionalProperties": false,
907
+ "description": "A token that acts as one contact, issued after that contact was identified by a portal's registration identifiers rather than by logging in. Distinct from portal_preview, which impersonates an existing portal user for a 360 operator: this kind belongs to no user, is minted for an unauthenticated caller, and is therefore always short-lived and restricted to an explicit operation allowlist. Never stored, so it cannot be listed or revoked - keep expires_in short.",
908
+ "properties": {
909
+ "name": {
910
+ "$ref": "#/components/schemas/AccessTokenName"
911
+ },
912
+ "token_type": {
913
+ "type": "string",
914
+ "enum": [
915
+ "contact_identification"
916
+ ]
917
+ },
918
+ "portal_id": {
919
+ "$ref": "#/components/schemas/PortalId"
920
+ },
921
+ "contact_id": {
922
+ "$ref": "#/components/schemas/ContactId"
923
+ },
924
+ "surface_id": {
925
+ "type": "string",
926
+ "minLength": 1,
927
+ "maxLength": 64,
928
+ "description": "Portal surface the token is issued for (see `surfaces` on the portal config in customer-portal-api). Carried as the `custom:surface_id` claim; the consuming API resolves the surface's data access from the portal config on every request.",
929
+ "example": "website-journeys"
930
+ },
931
+ "origin": {
932
+ "$ref": "#/components/schemas/PortalOrigin"
933
+ },
934
+ "allowed_operations": {
935
+ "$ref": "#/components/schemas/AllowedOperations"
936
+ },
937
+ "expires_in": {
938
+ "type": "integer",
939
+ "format": "int32",
940
+ "minimum": 60,
941
+ "maximum": 900,
942
+ "description": "Lifetime in seconds. Integer only for this token type (no \"5m\" strings), and capped server-side by CONTACT_IDENTIFICATION_TOKEN_MAX_EXPIRATION_SECONDS - the value originates from portal configuration, so it is not trusted as-is.",
943
+ "example": 300
944
+ },
945
+ "email": {
946
+ "type": "string",
947
+ "description": "Optional. Carried as the `email` claim when the consumer needs it (e.g. to attribute an activity). Omit to keep the contact's email out of the token."
948
+ }
949
+ },
950
+ "required": [
951
+ "name",
952
+ "portal_id",
953
+ "contact_id",
954
+ "surface_id",
955
+ "allowed_operations",
956
+ "expires_in"
957
+ ]
958
+ },
769
959
  "AccessTokenItem": {
770
960
  "type": "object",
771
961
  "properties": {
@@ -791,6 +981,15 @@
791
981
  "portal_user_id": {
792
982
  "$ref": "#/components/schemas/PortalUserId"
793
983
  },
984
+ "contact_id": {
985
+ "$ref": "#/components/schemas/ContactId"
986
+ },
987
+ "origin": {
988
+ "$ref": "#/components/schemas/PortalOrigin"
989
+ },
990
+ "allowed_operations": {
991
+ "$ref": "#/components/schemas/AllowedOperations"
992
+ },
794
993
  "assignments": {
795
994
  "$ref": "#/components/schemas/Assignments"
796
995
  },
@@ -805,6 +1004,12 @@
805
1004
  "format": "date",
806
1005
  "description": "Last date the token was used (YYYY-MM-DD format, 1 day accuracy)",
807
1006
  "example": "2026-02-24"
1007
+ },
1008
+ "expires_at": {
1009
+ "type": "string",
1010
+ "format": "date-time",
1011
+ "description": "Timestamp when the token expires and stops being accepted (only set for tokens created with expires_in)",
1012
+ "example": "2026-03-01T12:00:00.000Z"
808
1013
  }
809
1014
  },
810
1015
  "required": [
@@ -0,0 +1,7 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
2
+
3
+ // src/docs/access-token.json
4
+ var access_token_default = '# Access Token API\n\n- **Base URL:** `https://access-token.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/access-token](https://docs.epilot.io/api/access-token)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.accessToken.createAccessToken(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/access-token\'\n\nconst accessTokenClient = getClient()\nauthorize(accessTokenClient, () => \'<token>\')\nconst { data } = await accessTokenClient.createAccessToken(...)\n```\n\n## Operations\n\n**Access Tokens**\n- [`createAccessToken`](#createaccesstoken)\n- [`listAccessTokens`](#listaccesstokens)\n- [`revokeAccessToken`](#revokeaccesstoken)\n\n**Public**\n- [`getAccessTokenJwks`](#getaccesstokenjwks)\n- [`getAccessTokenOIDC`](#getaccesstokenoidc)\n- [`getPublicTokenJwks`](#getpublictokenjwks)\n- [`getPortalPreviewTokenJwks`](#getportalpreviewtokenjwks)\n- [`getPublicTokenOIDC`](#getpublictokenoidc)\n- [`getPortalPreviewTokenOIDC`](#getportalpreviewtokenoidc)\n- [`getContactIdentificationTokenJwks`](#getcontactidentificationtokenjwks)\n- [`getContactIdentificationTokenOIDC`](#getcontactidentificationtokenoidc)\n\n**Schemas**\n- [`AccessToken`](#accesstoken)\n- [`AccessTokenId`](#accesstokenid)\n- [`AccessTokenName`](#accesstokenname)\n- [`AccessTokenType`](#accesstokentype)\n- [`AccessTokenJourneyId`](#accesstokenjourneyid)\n- [`PortalId`](#portalid)\n- [`PortalUserId`](#portaluserid)\n- [`ContactId`](#contactid)\n- [`PortalOrigin`](#portalorigin)\n- [`AllowedOperations`](#allowedoperations)\n- [`TokenParameters`](#tokenparameters)\n- [`ExpiresIn`](#expiresin)\n- [`ReadOnly`](#readonly)\n- [`Anonymize`](#anonymize)\n- [`AccessTokenParameters`](#accesstokenparameters)\n- [`JourneyTokenParameters`](#journeytokenparameters)\n- [`PortalTokenParameters`](#portaltokenparameters)\n- [`AssumeTokenParameters`](#assumetokenparameters)\n- [`AppTokenParameters`](#apptokenparameters)\n- [`PortalPreviewTokenParameters`](#portalpreviewtokenparameters)\n- [`ContactIdentificationTokenParameters`](#contactidentificationtokenparameters)\n- [`AccessTokenItem`](#accesstokenitem)\n- [`RoleId`](#roleid)\n- [`Assignments`](#assignments)\n\n### `createAccessToken`\n\n**Access Token type: `API`** (default if not specified):\n\n`POST /v1/access-tokens`\n\n```ts\nconst { data } = await client.createAccessToken(\n null,\n {\n name: \'Postman Access Token\',\n token_type: \'api\',\n assignments: [\'123:owner\'],\n expires_in: 3600,\n read_only: true,\n anonymize: true\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6Ikp...",\n "id": "api_5ZugdRXasLfWBypHi93Fk",\n "created_at": "1970-01-01T00:00:00.000Z",\n "name": "Postman Access Token",\n "token_type": "api",\n "journey_id": "string",\n "portal_id": "string",\n "portal_user_id": "string",\n "contact_id": "5da0a718-c822-403d-9f5d-20d4584e0528",\n "origin": "END_CUSTOMER_PORTAL",\n "allowed_operations": ["getContact", "getContracts"],\n "assignments": ["123:owner"],\n "read_only": true,\n "anonymize": true,\n "last_used": "2026-02-24",\n "expires_at": "2026-03-01T12:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `listAccessTokens`\n\nLists all Access Tokens for current user (by default excludes system generated tokens)\n\n`GET /v1/access-tokens`\n\n```ts\nconst { data } = await client.listAccessTokens({\n token_type: [\'...\'],\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "api_5ZugdRXasLfWBypHi93Fk",\n "created_at": "1970-01-01T00:00:00.000Z",\n "name": "Postman Access Token",\n "token_type": "api",\n "journey_id": "string",\n "portal_id": "string",\n "portal_user_id": "string",\n "contact_id": "5da0a718-c822-403d-9f5d-20d4584e0528",\n "origin": "END_CUSTOMER_PORTAL",\n "allowed_operations": ["getContact", "getContracts"],\n "assignments": ["123:owner"],\n "read_only": true,\n "anonymize": true,\n "last_used": "2026-02-24",\n "expires_at": "2026-03-01T12:00:00.000Z"\n }\n]\n```\n\n</details>\n\n---\n\n### `revokeAccessToken`\n\nRevokes an Access Token so it can\'t be used anymore.\n\n`DELETE /v1/access-tokens/{id}`\n\n```ts\nconst { data } = await client.revokeAccessToken({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "api_5ZugdRXasLfWBypHi93Fk",\n "created_at": "1970-01-01T00:00:00.000Z",\n "name": "Postman Access Token",\n "token_type": "api",\n "journey_id": "string",\n "portal_id": "string",\n "portal_user_id": "string",\n "contact_id": "5da0a718-c822-403d-9f5d-20d4584e0528",\n "origin": "END_CUSTOMER_PORTAL",\n "allowed_operations": ["getContact", "getContracts"],\n "assignments": ["123:owner"],\n "read_only": true,\n "anonymize": true,\n "last_used": "2026-02-24",\n "expires_at": "2026-03-01T12:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `getAccessTokenJwks`\n\nGet jwks public key set to verify access tokens generated by this API\n\n`GET /v1/access-tokens/.well-known/jwks.json`\n\n```ts\nconst { data } = await client.getAccessTokenJwks()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "keys": [\n {\n "alg": "RS256",\n "e": "AQAB",\n "kid": "tXWU5mPMbRPczpbQwi6vbhLF4GgF3wlMDSyqo7pfeiw=",\n "kty": "RSA",\n "n": "h_QDoCjZ8W_trtYXaP7_S22wf5r5Wd9XBLED78oT44bJjQXn8ddcFV8Hik65_4IYXVX_hTTU4zpxe3H8vx2j7-Zz3O59mYMp5S0MzODNEdf5Y_2o19eis0brmAJniixsNlQ9LlYkdrVamrgaxHu3ZpP_99zkfFybYeuYoQNzb3PyrT8xVnz_USs_nlFMHpGUxvvz7gfKPqxcLvgLJr4cwI9yzaSY9CD4qW181QVcnL_WzpQ8xx6AuhhHZQ1l_3GG4InTk8ahE7U2ZHVu8RrX6d01pMgc3piEcet9RgFLnhbTg3YIiKGoAbN42wJn_x3lgIAC42T9mbmTsHyUdS6nUQ",\n "use": "sig"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getAccessTokenOIDC`\n\nOpenID Connect configuration for Access Token API as identity provider\n\n`GET /v1/access-tokens/.well-known/openid-configuration`\n\n```ts\nconst { data } = await client.getAccessTokenOIDC()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "issuer": "https://access-token.sls.epilot.io/v1/access-tokens",\n "jwks_uri": "https://access-token.sls.epilot.io/v1/access-tokens/.well-known/jwks.json"\n}\n```\n\n</details>\n\n---\n\n### `getPublicTokenJwks`\n\nGet jwks public key set to verify public tokens generated by this API\n\n`GET /v1/access-tokens/public/.well-known/jwks.json`\n\n```ts\nconst { data } = await client.getPublicTokenJwks()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "keys": [\n {\n "alg": "RS256",\n "e": "AQAB",\n "kid": "tXWU5mPMbRPczpbQwi6vbhLF4GgF3wlMDSyqo7pfeiw=",\n "kty": "RSA",\n "n": "h_QDoCjZ8W_trtYXaP7_S22wf5r5Wd9XBLED78oT44bJjQXn8ddcFV8Hik65_4IYXVX_hTTU4zpxe3H8vx2j7-Zz3O59mYMp5S0MzODNEdf5Y_2o19eis0brmAJniixsNlQ9LlYkdrVamrgaxHu3ZpP_99zkfFybYeuYoQNzb3PyrT8xVnz_USs_nlFMHpGUxvvz7gfKPqxcLvgLJr4cwI9yzaSY9CD4qW181QVcnL_WzpQ8xx6AuhhHZQ1l_3GG4InTk8ahE7U2ZHVu8RrX6d01pMgc3piEcet9RgFLnhbTg3YIiKGoAbN42wJn_x3lgIAC42T9mbmTsHyUdS6nUQ",\n "use": "sig"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getPortalPreviewTokenJwks`\n\nGet jwks public key set to verify portal preview tokens generated by this API\n\n`GET /v1/access-tokens/portal-preview/.well-known/jwks.json`\n\n```ts\nconst { data } = await client.getPortalPreviewTokenJwks()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "keys": [\n {\n "alg": "RS256",\n "e": "AQAB",\n "kid": "tXWU5mPMbRPczpbQwi6vbhLF4GgF3wlMDSyqo7pfeiw=",\n "kty": "RSA",\n "n": "h_QDoCjZ8W_trtYXaP7_S22wf5r5Wd9XBLED78oT44bJjQXn8ddcFV8Hik65_4IYXVX_hTTU4zpxe3H8vx2j7-Zz3O59mYMp5S0MzODNEdf5Y_2o19eis0brmAJniixsNlQ9LlYkdrVamrgaxHu3ZpP_99zkfFybYeuYoQNzb3PyrT8xVnz_USs_nlFMHpGUxvvz7gfKPqxcLvgLJr4cwI9yzaSY9CD4qW181QVcnL_WzpQ8xx6AuhhHZQ1l_3GG4InTk8ahE7U2ZHVu8RrX6d01pMgc3piEcet9RgFLnhbTg3YIiKGoAbN42wJn_x3lgIAC42T9mbmTsHyUdS6nUQ",\n "use": "sig"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getPublicTokenOIDC`\n\nOpenID Connect configuration for Access Token API a a public identity provider\n\n`GET /v1/access-tokens/public/.well-known/openid-configuration`\n\n```ts\nconst { data } = await client.getPublicTokenOIDC()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "issuer": "https://access-token.sls.epilot.io/v1/access-tokens",\n "jwks_uri": "https://access-token.sls.epilot.io/v1/access-tokens/.well-known/jwks.json"\n}\n```\n\n</details>\n\n---\n\n### `getPortalPreviewTokenOIDC`\n\nOpenID Connect configuration for Access Token API a a portal preview identity provider\n\n`GET /v1/access-tokens/portal-preview/.well-known/openid-configuration`\n\n```ts\nconst { data } = await client.getPortalPreviewTokenOIDC()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "issuer": "https://access-token.sls.epilot.io/v1/access-tokens/portal-preview",\n "jwks_uri": "https://access-token.sls.epilot.io/v1/access-tokens/portal-preview/.well-known/jwks.json"\n}\n```\n\n</details>\n\n---\n\n### `getContactIdentificationTokenJwks`\n\nGet jwks public key set to verify contact identification tokens generated by this API\n\n`GET /v1/access-tokens/contact-identification/.well-known/jwks.json`\n\n```ts\nconst { data } = await client.getContactIdentificationTokenJwks()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "keys": [\n {\n "alg": "RS256",\n "e": "AQAB",\n "kid": "tXWU5mPMbRPczpbQwi6vbhLF4GgF3wlMDSyqo7pfeiw=",\n "kty": "RSA",\n "n": "h_QDoCjZ8W_trtYXaP7_S22wf5r5Wd9XBLED78oT44bJjQXn8ddcFV8Hik65_4IYXVX_hTTU4zpxe3H8vx2j7-Zz3O59mYMp5S0MzODNEdf5Y_2o19eis0brmAJniixsNlQ9LlYkdrVamrgaxHu3ZpP_99zkfFybYeuYoQNzb3PyrT8xVnz_USs_nlFMHpGUxvvz7gfKPqxcLvgLJr4cwI9yzaSY9CD4qW181QVcnL_WzpQ8xx6AuhhHZQ1l_3GG4InTk8ahE7U2ZHVu8RrX6d01pMgc3piEcet9RgFLnhbTg3YIiKGoAbN42wJn_x3lgIAC42T9mbmTsHyUdS6nUQ",\n "use": "sig"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getContactIdentificationTokenOIDC`\n\nOpenID Connect configuration for Access Token API as a contact identification identity provider\n\n`GET /v1/access-tokens/contact-identification/.well-known/openid-configuration`\n\n```ts\nconst { data } = await client.getContactIdentificationTokenOIDC()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "issuer": "https://access-token.sls.epilot.io/v1/access-tokens/contact-identification",\n "jwks_uri": "https://access-token.sls.epilot.io/v1/access-tokens/contact-identification/.well-known/jwks.json"\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `AccessToken`\n\nA JWT Access Token\n\n```ts\ntype AccessToken = string\n```\n\n### `AccessTokenId`\n\n```ts\ntype AccessTokenId = string\n```\n\n### `AccessTokenName`\n\nHuman readable name for access token\n\n```ts\ntype AccessTokenName = string\n```\n\n### `AccessTokenType`\n\nAccess token type\n\n```ts\ntype AccessTokenType = "api" | "journey" | "portal" | "assume" | "app" | "portal_preview" | "contact_identification"\n```\n\n### `AccessTokenJourneyId`\n\nJourney ID for access token type "journey"\n\n```ts\ntype AccessTokenJourneyId = string\n```\n\n### `PortalId`\n\nPortal ID for access token type "portal"\n\n```ts\ntype PortalId = string\n```\n\n### `PortalUserId`\n\nPortal User ID for access token type "portal_preview"\n\n```ts\ntype PortalUserId = string\n```\n\n### `ContactId`\n\nContact entity ID for access token type "contact_identification"\n\n```ts\ntype ContactId = string\n```\n\n### `PortalOrigin`\n\nPortal origin the token assumes, so the bearer is permission-masked the same way the corresponding portal role is.\n\n```ts\ntype PortalOrigin = "END_CUSTOMER_PORTAL" | "INSTALLER_PORTAL"\n```\n\n### `AllowedOperations`\n\nopenapi operationIds the token may call. Enforced by the API that consumes the token, which must additionally deny any operation not on this list. Baked into the token at issue time so widening the consumer\'s own allowlist later cannot retroactively widen a token that is already in circulation.\n\n```ts\ntype AllowedOperations = string[]\n```\n\n### `TokenParameters`\n\n```ts\ntype TokenParameters = {\n name: string\n token_type?: "api"\n assignments?: string[]\n expires_in?: number | string\n read_only?: boolean\n anonymize?: boolean\n} | {\n name: string\n token_type?: "journey"\n journey_id: string\n expires_in?: number | string\n} | {\n name: string\n token_type?: "portal"\n portal_id: string\n expires_in?: number | string\n} | {\n name: string\n token_type?: "assume"\n assignments?: string[]\n read_only?: boolean\n anonymize?: boolean\n} | {\n name: string\n token_type?: "app"\n assignments?: string[]\n expires_in?: number | string\n read_only?: boolean\n anonymize?: boolean\n} | {\n name: string\n token_type?: "portal_preview"\n portal_id: string\n portal_user_id: string\n} | {\n name: string\n token_type?: "contact_identification"\n portal_id: string\n contact_id: string\n surface_id: string\n origin?: "END_CUSTOMER_PORTAL" | "INSTALLER_PORTAL"\n allowed_operations: string[]\n expires_in: number\n email?: string\n}\n```\n\n### `ExpiresIn`\n\n```ts\ntype ExpiresIn = number | string\n```\n\n### `ReadOnly`\n\nWhen true, the issued token may only perform read-only actions. Any action guarded by permissions that is not read-only (i.e. not a view/export/download action) is denied, regardless of the roles the token carries.\n\n```ts\ntype ReadOnly = boolean\n```\n\n### `Anonymize`\n\nForces PII anonymization on all entity data returned to this token. Cannot be disabled by the token bearer. See entity-api anonymized responses.\n\n```ts\ntype Anonymize = boolean\n```\n\n### `AccessTokenParameters`\n\n```ts\ntype AccessTokenParameters = {\n name: string\n token_type?: "api"\n assignments?: string[]\n expires_in?: number | string\n read_only?: boolean\n anonymize?: boolean\n}\n```\n\n### `JourneyTokenParameters`\n\n```ts\ntype JourneyTokenParameters = {\n name: string\n token_type?: "journey"\n journey_id: string\n expires_in?: number | string\n}\n```\n\n### `PortalTokenParameters`\n\n```ts\ntype PortalTokenParameters = {\n name: string\n token_type?: "portal"\n portal_id: string\n expires_in?: number | string\n}\n```\n\n### `AssumeTokenParameters`\n\n```ts\ntype AssumeTokenParameters = {\n name: string\n token_type?: "assume"\n assignments?: string[]\n read_only?: boolean\n anonymize?: boolean\n}\n```\n\n### `AppTokenParameters`\n\n```ts\ntype AppTokenParameters = {\n name: string\n token_type?: "app"\n assignments?: string[]\n expires_in?: number | string\n read_only?: boolean\n anonymize?: boolean\n}\n```\n\n### `PortalPreviewTokenParameters`\n\n```ts\ntype PortalPreviewTokenParameters = {\n name: string\n token_type?: "portal_preview"\n portal_id: string\n portal_user_id: string\n}\n```\n\n### `ContactIdentificationTokenParameters`\n\nA token that acts as one contact, issued after that contact was identified by a portal\'s registration identifiers rather than by logging in. Distinct from portal_preview, which impersonates an existing portal user for a 360 operator: this kind belongs to no user, is minted for an unauthenticated cal\n\n```ts\ntype ContactIdentificationTokenParameters = {\n name: string\n token_type?: "contact_identification"\n portal_id: string\n contact_id: string\n surface_id: string\n origin?: "END_CUSTOMER_PORTAL" | "INSTALLER_PORTAL"\n allowed_operations: string[]\n expires_in: number\n email?: string\n}\n```\n\n### `AccessTokenItem`\n\n```ts\ntype AccessTokenItem = {\n id: string\n created_at: string // date-time\n name: string\n token_type?: "api" | "journey" | "portal" | "assume" | "app" | "portal_preview" | "contact_identification"\n journey_id?: string\n portal_id?: string\n portal_user_id?: string\n contact_id?: string\n origin?: "END_CUSTOMER_PORTAL" | "INSTALLER_PORTAL"\n allowed_operations?: string[]\n assignments?: string[]\n read_only?: boolean\n anonymize?: boolean\n last_used?: string // date\n expires_at?: string // date-time\n}\n```\n\n### `RoleId`\n\nFormat: `<organization_id>`:`<slug>`\n\n```ts\ntype RoleId = string\n```\n\n### `Assignments`\n\nList of role ids attached to an user\n\n```ts\ntype Assignments = string[]\n```\n';
5
+
6
+
7
+ exports.default = access_token_default;
@@ -0,0 +1,7 @@
1
+ import "./chunk-YPSWSI3M.js";
2
+
3
+ // src/docs/access-token.json
4
+ var access_token_default = '# Access Token API\n\n- **Base URL:** `https://access-token.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/access-token](https://docs.epilot.io/api/access-token)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.accessToken.createAccessToken(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/access-token\'\n\nconst accessTokenClient = getClient()\nauthorize(accessTokenClient, () => \'<token>\')\nconst { data } = await accessTokenClient.createAccessToken(...)\n```\n\n## Operations\n\n**Access Tokens**\n- [`createAccessToken`](#createaccesstoken)\n- [`listAccessTokens`](#listaccesstokens)\n- [`revokeAccessToken`](#revokeaccesstoken)\n\n**Public**\n- [`getAccessTokenJwks`](#getaccesstokenjwks)\n- [`getAccessTokenOIDC`](#getaccesstokenoidc)\n- [`getPublicTokenJwks`](#getpublictokenjwks)\n- [`getPortalPreviewTokenJwks`](#getportalpreviewtokenjwks)\n- [`getPublicTokenOIDC`](#getpublictokenoidc)\n- [`getPortalPreviewTokenOIDC`](#getportalpreviewtokenoidc)\n- [`getContactIdentificationTokenJwks`](#getcontactidentificationtokenjwks)\n- [`getContactIdentificationTokenOIDC`](#getcontactidentificationtokenoidc)\n\n**Schemas**\n- [`AccessToken`](#accesstoken)\n- [`AccessTokenId`](#accesstokenid)\n- [`AccessTokenName`](#accesstokenname)\n- [`AccessTokenType`](#accesstokentype)\n- [`AccessTokenJourneyId`](#accesstokenjourneyid)\n- [`PortalId`](#portalid)\n- [`PortalUserId`](#portaluserid)\n- [`ContactId`](#contactid)\n- [`PortalOrigin`](#portalorigin)\n- [`AllowedOperations`](#allowedoperations)\n- [`TokenParameters`](#tokenparameters)\n- [`ExpiresIn`](#expiresin)\n- [`ReadOnly`](#readonly)\n- [`Anonymize`](#anonymize)\n- [`AccessTokenParameters`](#accesstokenparameters)\n- [`JourneyTokenParameters`](#journeytokenparameters)\n- [`PortalTokenParameters`](#portaltokenparameters)\n- [`AssumeTokenParameters`](#assumetokenparameters)\n- [`AppTokenParameters`](#apptokenparameters)\n- [`PortalPreviewTokenParameters`](#portalpreviewtokenparameters)\n- [`ContactIdentificationTokenParameters`](#contactidentificationtokenparameters)\n- [`AccessTokenItem`](#accesstokenitem)\n- [`RoleId`](#roleid)\n- [`Assignments`](#assignments)\n\n### `createAccessToken`\n\n**Access Token type: `API`** (default if not specified):\n\n`POST /v1/access-tokens`\n\n```ts\nconst { data } = await client.createAccessToken(\n null,\n {\n name: \'Postman Access Token\',\n token_type: \'api\',\n assignments: [\'123:owner\'],\n expires_in: 3600,\n read_only: true,\n anonymize: true\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6Ikp...",\n "id": "api_5ZugdRXasLfWBypHi93Fk",\n "created_at": "1970-01-01T00:00:00.000Z",\n "name": "Postman Access Token",\n "token_type": "api",\n "journey_id": "string",\n "portal_id": "string",\n "portal_user_id": "string",\n "contact_id": "5da0a718-c822-403d-9f5d-20d4584e0528",\n "origin": "END_CUSTOMER_PORTAL",\n "allowed_operations": ["getContact", "getContracts"],\n "assignments": ["123:owner"],\n "read_only": true,\n "anonymize": true,\n "last_used": "2026-02-24",\n "expires_at": "2026-03-01T12:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `listAccessTokens`\n\nLists all Access Tokens for current user (by default excludes system generated tokens)\n\n`GET /v1/access-tokens`\n\n```ts\nconst { data } = await client.listAccessTokens({\n token_type: [\'...\'],\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "api_5ZugdRXasLfWBypHi93Fk",\n "created_at": "1970-01-01T00:00:00.000Z",\n "name": "Postman Access Token",\n "token_type": "api",\n "journey_id": "string",\n "portal_id": "string",\n "portal_user_id": "string",\n "contact_id": "5da0a718-c822-403d-9f5d-20d4584e0528",\n "origin": "END_CUSTOMER_PORTAL",\n "allowed_operations": ["getContact", "getContracts"],\n "assignments": ["123:owner"],\n "read_only": true,\n "anonymize": true,\n "last_used": "2026-02-24",\n "expires_at": "2026-03-01T12:00:00.000Z"\n }\n]\n```\n\n</details>\n\n---\n\n### `revokeAccessToken`\n\nRevokes an Access Token so it can\'t be used anymore.\n\n`DELETE /v1/access-tokens/{id}`\n\n```ts\nconst { data } = await client.revokeAccessToken({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "api_5ZugdRXasLfWBypHi93Fk",\n "created_at": "1970-01-01T00:00:00.000Z",\n "name": "Postman Access Token",\n "token_type": "api",\n "journey_id": "string",\n "portal_id": "string",\n "portal_user_id": "string",\n "contact_id": "5da0a718-c822-403d-9f5d-20d4584e0528",\n "origin": "END_CUSTOMER_PORTAL",\n "allowed_operations": ["getContact", "getContracts"],\n "assignments": ["123:owner"],\n "read_only": true,\n "anonymize": true,\n "last_used": "2026-02-24",\n "expires_at": "2026-03-01T12:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `getAccessTokenJwks`\n\nGet jwks public key set to verify access tokens generated by this API\n\n`GET /v1/access-tokens/.well-known/jwks.json`\n\n```ts\nconst { data } = await client.getAccessTokenJwks()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "keys": [\n {\n "alg": "RS256",\n "e": "AQAB",\n "kid": "tXWU5mPMbRPczpbQwi6vbhLF4GgF3wlMDSyqo7pfeiw=",\n "kty": "RSA",\n "n": "h_QDoCjZ8W_trtYXaP7_S22wf5r5Wd9XBLED78oT44bJjQXn8ddcFV8Hik65_4IYXVX_hTTU4zpxe3H8vx2j7-Zz3O59mYMp5S0MzODNEdf5Y_2o19eis0brmAJniixsNlQ9LlYkdrVamrgaxHu3ZpP_99zkfFybYeuYoQNzb3PyrT8xVnz_USs_nlFMHpGUxvvz7gfKPqxcLvgLJr4cwI9yzaSY9CD4qW181QVcnL_WzpQ8xx6AuhhHZQ1l_3GG4InTk8ahE7U2ZHVu8RrX6d01pMgc3piEcet9RgFLnhbTg3YIiKGoAbN42wJn_x3lgIAC42T9mbmTsHyUdS6nUQ",\n "use": "sig"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getAccessTokenOIDC`\n\nOpenID Connect configuration for Access Token API as identity provider\n\n`GET /v1/access-tokens/.well-known/openid-configuration`\n\n```ts\nconst { data } = await client.getAccessTokenOIDC()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "issuer": "https://access-token.sls.epilot.io/v1/access-tokens",\n "jwks_uri": "https://access-token.sls.epilot.io/v1/access-tokens/.well-known/jwks.json"\n}\n```\n\n</details>\n\n---\n\n### `getPublicTokenJwks`\n\nGet jwks public key set to verify public tokens generated by this API\n\n`GET /v1/access-tokens/public/.well-known/jwks.json`\n\n```ts\nconst { data } = await client.getPublicTokenJwks()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "keys": [\n {\n "alg": "RS256",\n "e": "AQAB",\n "kid": "tXWU5mPMbRPczpbQwi6vbhLF4GgF3wlMDSyqo7pfeiw=",\n "kty": "RSA",\n "n": "h_QDoCjZ8W_trtYXaP7_S22wf5r5Wd9XBLED78oT44bJjQXn8ddcFV8Hik65_4IYXVX_hTTU4zpxe3H8vx2j7-Zz3O59mYMp5S0MzODNEdf5Y_2o19eis0brmAJniixsNlQ9LlYkdrVamrgaxHu3ZpP_99zkfFybYeuYoQNzb3PyrT8xVnz_USs_nlFMHpGUxvvz7gfKPqxcLvgLJr4cwI9yzaSY9CD4qW181QVcnL_WzpQ8xx6AuhhHZQ1l_3GG4InTk8ahE7U2ZHVu8RrX6d01pMgc3piEcet9RgFLnhbTg3YIiKGoAbN42wJn_x3lgIAC42T9mbmTsHyUdS6nUQ",\n "use": "sig"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getPortalPreviewTokenJwks`\n\nGet jwks public key set to verify portal preview tokens generated by this API\n\n`GET /v1/access-tokens/portal-preview/.well-known/jwks.json`\n\n```ts\nconst { data } = await client.getPortalPreviewTokenJwks()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "keys": [\n {\n "alg": "RS256",\n "e": "AQAB",\n "kid": "tXWU5mPMbRPczpbQwi6vbhLF4GgF3wlMDSyqo7pfeiw=",\n "kty": "RSA",\n "n": "h_QDoCjZ8W_trtYXaP7_S22wf5r5Wd9XBLED78oT44bJjQXn8ddcFV8Hik65_4IYXVX_hTTU4zpxe3H8vx2j7-Zz3O59mYMp5S0MzODNEdf5Y_2o19eis0brmAJniixsNlQ9LlYkdrVamrgaxHu3ZpP_99zkfFybYeuYoQNzb3PyrT8xVnz_USs_nlFMHpGUxvvz7gfKPqxcLvgLJr4cwI9yzaSY9CD4qW181QVcnL_WzpQ8xx6AuhhHZQ1l_3GG4InTk8ahE7U2ZHVu8RrX6d01pMgc3piEcet9RgFLnhbTg3YIiKGoAbN42wJn_x3lgIAC42T9mbmTsHyUdS6nUQ",\n "use": "sig"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getPublicTokenOIDC`\n\nOpenID Connect configuration for Access Token API a a public identity provider\n\n`GET /v1/access-tokens/public/.well-known/openid-configuration`\n\n```ts\nconst { data } = await client.getPublicTokenOIDC()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "issuer": "https://access-token.sls.epilot.io/v1/access-tokens",\n "jwks_uri": "https://access-token.sls.epilot.io/v1/access-tokens/.well-known/jwks.json"\n}\n```\n\n</details>\n\n---\n\n### `getPortalPreviewTokenOIDC`\n\nOpenID Connect configuration for Access Token API a a portal preview identity provider\n\n`GET /v1/access-tokens/portal-preview/.well-known/openid-configuration`\n\n```ts\nconst { data } = await client.getPortalPreviewTokenOIDC()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "issuer": "https://access-token.sls.epilot.io/v1/access-tokens/portal-preview",\n "jwks_uri": "https://access-token.sls.epilot.io/v1/access-tokens/portal-preview/.well-known/jwks.json"\n}\n```\n\n</details>\n\n---\n\n### `getContactIdentificationTokenJwks`\n\nGet jwks public key set to verify contact identification tokens generated by this API\n\n`GET /v1/access-tokens/contact-identification/.well-known/jwks.json`\n\n```ts\nconst { data } = await client.getContactIdentificationTokenJwks()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "keys": [\n {\n "alg": "RS256",\n "e": "AQAB",\n "kid": "tXWU5mPMbRPczpbQwi6vbhLF4GgF3wlMDSyqo7pfeiw=",\n "kty": "RSA",\n "n": "h_QDoCjZ8W_trtYXaP7_S22wf5r5Wd9XBLED78oT44bJjQXn8ddcFV8Hik65_4IYXVX_hTTU4zpxe3H8vx2j7-Zz3O59mYMp5S0MzODNEdf5Y_2o19eis0brmAJniixsNlQ9LlYkdrVamrgaxHu3ZpP_99zkfFybYeuYoQNzb3PyrT8xVnz_USs_nlFMHpGUxvvz7gfKPqxcLvgLJr4cwI9yzaSY9CD4qW181QVcnL_WzpQ8xx6AuhhHZQ1l_3GG4InTk8ahE7U2ZHVu8RrX6d01pMgc3piEcet9RgFLnhbTg3YIiKGoAbN42wJn_x3lgIAC42T9mbmTsHyUdS6nUQ",\n "use": "sig"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getContactIdentificationTokenOIDC`\n\nOpenID Connect configuration for Access Token API as a contact identification identity provider\n\n`GET /v1/access-tokens/contact-identification/.well-known/openid-configuration`\n\n```ts\nconst { data } = await client.getContactIdentificationTokenOIDC()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "issuer": "https://access-token.sls.epilot.io/v1/access-tokens/contact-identification",\n "jwks_uri": "https://access-token.sls.epilot.io/v1/access-tokens/contact-identification/.well-known/jwks.json"\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `AccessToken`\n\nA JWT Access Token\n\n```ts\ntype AccessToken = string\n```\n\n### `AccessTokenId`\n\n```ts\ntype AccessTokenId = string\n```\n\n### `AccessTokenName`\n\nHuman readable name for access token\n\n```ts\ntype AccessTokenName = string\n```\n\n### `AccessTokenType`\n\nAccess token type\n\n```ts\ntype AccessTokenType = "api" | "journey" | "portal" | "assume" | "app" | "portal_preview" | "contact_identification"\n```\n\n### `AccessTokenJourneyId`\n\nJourney ID for access token type "journey"\n\n```ts\ntype AccessTokenJourneyId = string\n```\n\n### `PortalId`\n\nPortal ID for access token type "portal"\n\n```ts\ntype PortalId = string\n```\n\n### `PortalUserId`\n\nPortal User ID for access token type "portal_preview"\n\n```ts\ntype PortalUserId = string\n```\n\n### `ContactId`\n\nContact entity ID for access token type "contact_identification"\n\n```ts\ntype ContactId = string\n```\n\n### `PortalOrigin`\n\nPortal origin the token assumes, so the bearer is permission-masked the same way the corresponding portal role is.\n\n```ts\ntype PortalOrigin = "END_CUSTOMER_PORTAL" | "INSTALLER_PORTAL"\n```\n\n### `AllowedOperations`\n\nopenapi operationIds the token may call. Enforced by the API that consumes the token, which must additionally deny any operation not on this list. Baked into the token at issue time so widening the consumer\'s own allowlist later cannot retroactively widen a token that is already in circulation.\n\n```ts\ntype AllowedOperations = string[]\n```\n\n### `TokenParameters`\n\n```ts\ntype TokenParameters = {\n name: string\n token_type?: "api"\n assignments?: string[]\n expires_in?: number | string\n read_only?: boolean\n anonymize?: boolean\n} | {\n name: string\n token_type?: "journey"\n journey_id: string\n expires_in?: number | string\n} | {\n name: string\n token_type?: "portal"\n portal_id: string\n expires_in?: number | string\n} | {\n name: string\n token_type?: "assume"\n assignments?: string[]\n read_only?: boolean\n anonymize?: boolean\n} | {\n name: string\n token_type?: "app"\n assignments?: string[]\n expires_in?: number | string\n read_only?: boolean\n anonymize?: boolean\n} | {\n name: string\n token_type?: "portal_preview"\n portal_id: string\n portal_user_id: string\n} | {\n name: string\n token_type?: "contact_identification"\n portal_id: string\n contact_id: string\n surface_id: string\n origin?: "END_CUSTOMER_PORTAL" | "INSTALLER_PORTAL"\n allowed_operations: string[]\n expires_in: number\n email?: string\n}\n```\n\n### `ExpiresIn`\n\n```ts\ntype ExpiresIn = number | string\n```\n\n### `ReadOnly`\n\nWhen true, the issued token may only perform read-only actions. Any action guarded by permissions that is not read-only (i.e. not a view/export/download action) is denied, regardless of the roles the token carries.\n\n```ts\ntype ReadOnly = boolean\n```\n\n### `Anonymize`\n\nForces PII anonymization on all entity data returned to this token. Cannot be disabled by the token bearer. See entity-api anonymized responses.\n\n```ts\ntype Anonymize = boolean\n```\n\n### `AccessTokenParameters`\n\n```ts\ntype AccessTokenParameters = {\n name: string\n token_type?: "api"\n assignments?: string[]\n expires_in?: number | string\n read_only?: boolean\n anonymize?: boolean\n}\n```\n\n### `JourneyTokenParameters`\n\n```ts\ntype JourneyTokenParameters = {\n name: string\n token_type?: "journey"\n journey_id: string\n expires_in?: number | string\n}\n```\n\n### `PortalTokenParameters`\n\n```ts\ntype PortalTokenParameters = {\n name: string\n token_type?: "portal"\n portal_id: string\n expires_in?: number | string\n}\n```\n\n### `AssumeTokenParameters`\n\n```ts\ntype AssumeTokenParameters = {\n name: string\n token_type?: "assume"\n assignments?: string[]\n read_only?: boolean\n anonymize?: boolean\n}\n```\n\n### `AppTokenParameters`\n\n```ts\ntype AppTokenParameters = {\n name: string\n token_type?: "app"\n assignments?: string[]\n expires_in?: number | string\n read_only?: boolean\n anonymize?: boolean\n}\n```\n\n### `PortalPreviewTokenParameters`\n\n```ts\ntype PortalPreviewTokenParameters = {\n name: string\n token_type?: "portal_preview"\n portal_id: string\n portal_user_id: string\n}\n```\n\n### `ContactIdentificationTokenParameters`\n\nA token that acts as one contact, issued after that contact was identified by a portal\'s registration identifiers rather than by logging in. Distinct from portal_preview, which impersonates an existing portal user for a 360 operator: this kind belongs to no user, is minted for an unauthenticated cal\n\n```ts\ntype ContactIdentificationTokenParameters = {\n name: string\n token_type?: "contact_identification"\n portal_id: string\n contact_id: string\n surface_id: string\n origin?: "END_CUSTOMER_PORTAL" | "INSTALLER_PORTAL"\n allowed_operations: string[]\n expires_in: number\n email?: string\n}\n```\n\n### `AccessTokenItem`\n\n```ts\ntype AccessTokenItem = {\n id: string\n created_at: string // date-time\n name: string\n token_type?: "api" | "journey" | "portal" | "assume" | "app" | "portal_preview" | "contact_identification"\n journey_id?: string\n portal_id?: string\n portal_user_id?: string\n contact_id?: string\n origin?: "END_CUSTOMER_PORTAL" | "INSTALLER_PORTAL"\n allowed_operations?: string[]\n assignments?: string[]\n read_only?: boolean\n anonymize?: boolean\n last_used?: string // date\n expires_at?: string // date-time\n}\n```\n\n### `RoleId`\n\nFormat: `<organization_id>`:`<slug>`\n\n```ts\ntype RoleId = string\n```\n\n### `Assignments`\n\nList of role ids attached to an user\n\n```ts\ntype Assignments = string[]\n```\n';
5
+ export {
6
+ access_token_default as default
7
+ };
@@ -1,5 +1,5 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkS5HBBTKMcjs = require('./chunk-S5HBBTKM.cjs');
3
+ var _chunkZMBA3WV4cjs = require('./chunk-ZMBA3WV4.cjs');
4
4
  require('./chunk-NJK5F5TF.cjs');
5
- exports. default = _chunkS5HBBTKMcjs.require_access_token_runtime.call(void 0, );
5
+ exports. default = _chunkZMBA3WV4cjs.require_access_token_runtime.call(void 0, );
@@ -1,5 +1,5 @@
1
1
  import {
2
2
  require_access_token_runtime
3
- } from "./chunk-OHHHS4HH.js";
3
+ } from "./chunk-TW4SUGOF.js";
4
4
  import "./chunk-YPSWSI3M.js";
5
5
  export default require_access_token_runtime();