@epilot/sdk 2.18.25 → 2.18.26

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 (121) hide show
  1. package/definitions/customer-portal.json +56 -7
  2. package/dist/apis/access-token.cjs +6 -6
  3. package/dist/apis/access-token.js +1 -1
  4. package/dist/apis/address-suggestions.cjs +6 -6
  5. package/dist/apis/address-suggestions.js +1 -1
  6. package/dist/apis/address.cjs +6 -6
  7. package/dist/apis/address.js +1 -1
  8. package/dist/apis/ai-agents.cjs +6 -6
  9. package/dist/apis/ai-agents.js +1 -1
  10. package/dist/apis/app.cjs +6 -6
  11. package/dist/apis/app.js +1 -1
  12. package/dist/apis/audit-logs.cjs +6 -6
  13. package/dist/apis/audit-logs.js +1 -1
  14. package/dist/apis/automation.cjs +6 -6
  15. package/dist/apis/automation.js +1 -1
  16. package/dist/apis/billing.cjs +6 -6
  17. package/dist/apis/billing.js +1 -1
  18. package/dist/apis/blueprint-manifest.cjs +6 -6
  19. package/dist/apis/blueprint-manifest.js +1 -1
  20. package/dist/apis/calendar.cjs +6 -6
  21. package/dist/apis/calendar.js +1 -1
  22. package/dist/apis/configuration-hub.cjs +6 -6
  23. package/dist/apis/configuration-hub.js +1 -1
  24. package/dist/apis/consent.cjs +6 -6
  25. package/dist/apis/consent.js +1 -1
  26. package/dist/apis/customer-portal.cjs +6 -6
  27. package/dist/apis/customer-portal.d.cts +2 -2
  28. package/dist/apis/customer-portal.d.ts +2 -2
  29. package/dist/apis/customer-portal.js +1 -1
  30. package/dist/apis/dashboard.cjs +6 -6
  31. package/dist/apis/dashboard.js +1 -1
  32. package/dist/apis/data-governance.cjs +6 -6
  33. package/dist/apis/data-governance.js +1 -1
  34. package/dist/apis/deduplication.cjs +6 -6
  35. package/dist/apis/deduplication.js +1 -1
  36. package/dist/apis/design.cjs +6 -6
  37. package/dist/apis/design.js +1 -1
  38. package/dist/apis/document.cjs +6 -6
  39. package/dist/apis/document.js +1 -1
  40. package/dist/apis/email-settings.cjs +6 -6
  41. package/dist/apis/email-settings.js +1 -1
  42. package/dist/apis/email-template.cjs +6 -6
  43. package/dist/apis/email-template.js +1 -1
  44. package/dist/apis/entity-mapping.cjs +6 -6
  45. package/dist/apis/entity-mapping.js +1 -1
  46. package/dist/apis/entity.cjs +6 -6
  47. package/dist/apis/entity.js +1 -1
  48. package/dist/apis/environments.cjs +6 -6
  49. package/dist/apis/environments.js +1 -1
  50. package/dist/apis/event-catalog.cjs +6 -6
  51. package/dist/apis/event-catalog.js +1 -1
  52. package/dist/apis/file.cjs +6 -6
  53. package/dist/apis/file.js +1 -1
  54. package/dist/apis/iban.cjs +6 -6
  55. package/dist/apis/iban.js +1 -1
  56. package/dist/apis/integration-toolkit.cjs +6 -6
  57. package/dist/apis/integration-toolkit.js +1 -1
  58. package/dist/apis/journey.cjs +6 -6
  59. package/dist/apis/journey.js +1 -1
  60. package/dist/apis/kanban.cjs +6 -6
  61. package/dist/apis/kanban.js +1 -1
  62. package/dist/apis/message.cjs +6 -6
  63. package/dist/apis/message.js +1 -1
  64. package/dist/apis/metering.cjs +6 -6
  65. package/dist/apis/metering.js +1 -1
  66. package/dist/apis/notes.cjs +6 -6
  67. package/dist/apis/notes.js +1 -1
  68. package/dist/apis/notification.cjs +6 -6
  69. package/dist/apis/notification.js +1 -1
  70. package/dist/apis/organization.cjs +6 -6
  71. package/dist/apis/organization.js +1 -1
  72. package/dist/apis/partner-directory.cjs +6 -6
  73. package/dist/apis/partner-directory.js +1 -1
  74. package/dist/apis/permissions.cjs +6 -6
  75. package/dist/apis/permissions.js +1 -1
  76. package/dist/apis/pricing-tier.cjs +6 -6
  77. package/dist/apis/pricing-tier.js +1 -1
  78. package/dist/apis/pricing.cjs +6 -6
  79. package/dist/apis/pricing.js +1 -1
  80. package/dist/apis/purpose.cjs +6 -6
  81. package/dist/apis/purpose.js +1 -1
  82. package/dist/apis/query.cjs +6 -6
  83. package/dist/apis/query.js +1 -1
  84. package/dist/apis/sandbox.cjs +6 -6
  85. package/dist/apis/sandbox.js +1 -1
  86. package/dist/apis/sharing.cjs +6 -6
  87. package/dist/apis/sharing.js +1 -1
  88. package/dist/apis/snapshot.cjs +6 -6
  89. package/dist/apis/snapshot.js +1 -1
  90. package/dist/apis/submission.cjs +6 -6
  91. package/dist/apis/submission.js +1 -1
  92. package/dist/apis/target.cjs +6 -6
  93. package/dist/apis/target.js +1 -1
  94. package/dist/apis/targeting.cjs +6 -6
  95. package/dist/apis/targeting.js +1 -1
  96. package/dist/apis/template-variables.cjs +6 -6
  97. package/dist/apis/template-variables.js +1 -1
  98. package/dist/apis/user.cjs +6 -6
  99. package/dist/apis/user.js +1 -1
  100. package/dist/apis/validation-rules.cjs +6 -6
  101. package/dist/apis/validation-rules.js +1 -1
  102. package/dist/apis/webhooks.cjs +6 -6
  103. package/dist/apis/webhooks.js +1 -1
  104. package/dist/apis/workflow-definition.cjs +6 -6
  105. package/dist/apis/workflow-definition.js +1 -1
  106. package/dist/apis/workflow.cjs +6 -6
  107. package/dist/apis/workflow.js +1 -1
  108. package/dist/{chunk-6AESXD5D.cjs → chunk-5XEB5OBL.cjs} +1 -1
  109. package/dist/{chunk-XW3N5APN.js → chunk-CYNIYYYS.js} +1 -1
  110. package/dist/customer-portal-FCUPDA7V.cjs +7 -0
  111. package/dist/customer-portal-GRWXQYKT.js +7 -0
  112. package/dist/{customer-portal.d-D44zeiJ4.d.cts → customer-portal.d-DTnk0yQf.d.cts} +51 -9
  113. package/dist/{customer-portal.d-D44zeiJ4.d.ts → customer-portal.d-DTnk0yQf.d.ts} +51 -9
  114. package/dist/index.cjs +8 -8
  115. package/dist/index.d.cts +1 -1
  116. package/dist/index.d.ts +1 -1
  117. package/dist/index.js +1 -1
  118. package/docs/customer-portal.md +65 -3
  119. package/package.json +1 -1
  120. package/dist/customer-portal-FOLTI3GK.cjs +0 -7
  121. package/dist/customer-portal-HQ3DJCGO.js +0 -7
@@ -2766,7 +2766,7 @@ declare namespace Components {
2766
2766
  */
2767
2767
  fields?: string[];
2768
2768
  /**
2769
- * Template strings to parse and return as synthetic fields. Supports both string values and nested objects of strings.
2769
+ * DEPRECATED — client-supplied template strings to parse and return as synthetic fields. Supports both string values and nested objects of strings. Use `templates_ref` instead so templates are derived server-side from admin-authored portal configuration; ignored when `templates_ref` is present and rejected once the org has the `portals-reject-client-templates` flag enabled.
2770
2770
  * example:
2771
2771
  * {
2772
2772
  * "content_top_name": "Customer #{{contract.customer_number}}",
@@ -2783,6 +2783,10 @@ declare namespace Components {
2783
2783
  [name: string]: string;
2784
2784
  };
2785
2785
  };
2786
+ /**
2787
+ * Reference to the portal page (or a single block within it) whose admin-configured content provides the templates, derived server-side. With only `page_id`, the derived templates are a nested map keyed by block id, mirroring the entity detail page contract.
2788
+ */
2789
+ templates_ref?: /* Reference to admin-authored portal configuration (a page block or a global search configuration item) from which the API derives Handlebars templates server-side. This replaces client-supplied template strings so portal users can never submit arbitrary templates for resolution. When both a reference and raw `templates` are provided, the reference wins and the raw templates are ignored. */ TemplatesRef;
2786
2790
  /**
2787
2791
  * Additional filters to apply to the search query
2788
2792
  * example:
@@ -3141,7 +3145,7 @@ declare namespace Components {
3141
3145
  */
3142
3146
  group?: string;
3143
3147
  /**
3144
- * Template for group title using variables
3148
+ * DEPRECATED — client-supplied Handlebars template for the group title. Use `templates_ref` (global_search_config_id) instead; overridden when `templates_ref` derives a group title and rejected once the org has the `portals-reject-client-templates` flag enabled.
3145
3149
  * example:
3146
3150
  * {{customer[Primary].first_name}} {{customer[Primary].last_name}}
3147
3151
  */
@@ -3186,7 +3190,7 @@ declare namespace Components {
3186
3190
  */
3187
3191
  fields?: string[];
3188
3192
  /**
3189
- * Template strings to parse and return as synthetic fields
3193
+ * DEPRECATED — client-supplied template strings to parse and return as synthetic fields. Use `templates_ref` instead; ignored when `templates_ref` is present and rejected once the org has the `portals-reject-client-templates` flag enabled.
3190
3194
  * example:
3191
3195
  * {
3192
3196
  * "content_top_name": "Customer #{{contract.customer_number}}",
@@ -3197,6 +3201,10 @@ declare namespace Components {
3197
3201
  templates?: {
3198
3202
  [name: string]: string;
3199
3203
  };
3204
+ /**
3205
+ * Reference to admin-authored configuration providing the templates, derived server-side. For the global search block pass `global_search_config_id`; the derived templates also supply the group title template (overriding `group_title`).
3206
+ */
3207
+ templates_ref?: /* Reference to admin-authored portal configuration (a page block or a global search configuration item) from which the API derives Handlebars templates server-side. This replaces client-supplied template strings so portal users can never submit arbitrary templates for resolution. When both a reference and raw `templates` are provided, the reference wins and the raw templates are ignored. */ TemplatesRef;
3200
3208
  /**
3201
3209
  * Additional filters to apply to the search query
3202
3210
  * example:
@@ -3276,9 +3284,13 @@ declare namespace Components {
3276
3284
  */
3277
3285
  EntitySlug;
3278
3286
  targets?: string /* uuid */[];
3287
+ /**
3288
+ * DEPRECATED — client-supplied Handlebars templates. Use `templates_ref` instead so templates are derived server-side from admin-authored portal configuration. Ignored when `templates_ref` is present; rejected once the org has the `portals-reject-client-templates` flag enabled.
3289
+ */
3279
3290
  templates?: {
3280
3291
  [name: string]: string;
3281
3292
  };
3293
+ templates_ref?: /* Reference to admin-authored portal configuration (a page block or a global search configuration item) from which the API derives Handlebars templates server-side. This replaces client-supplied template strings so portal users can never submit arbitrary templates for resolution. When both a reference and raw `templates` are provided, the reference wins and the raw templates are ignored. */ TemplatesRef;
3282
3294
  }
3283
3295
  export interface EntityTemplates {
3284
3296
  /**
@@ -8293,6 +8305,27 @@ declare namespace Components {
8293
8305
  url?: string;
8294
8306
  };
8295
8307
  }
8308
+ /**
8309
+ * Reference to admin-authored portal configuration (a page block or a global search configuration item) from which the API derives Handlebars templates server-side. This replaces client-supplied template strings so portal users can never submit arbitrary templates for resolution. When both a reference and raw `templates` are provided, the reference wins and the raw templates are ignored.
8310
+ */
8311
+ export interface TemplatesRef {
8312
+ /**
8313
+ * ID of the portal page to derive templates from. When given without `block_id`, templates are derived from every block of the page and returned resolved as a nested map keyed by block id (the entity detail page contract).
8314
+ */
8315
+ page_id?: string;
8316
+ /**
8317
+ * ID of a block within the page. Templates are derived from the block's content according to its block type (e.g. meter_selector, meter_reading, entity_list).
8318
+ */
8319
+ block_id?: string;
8320
+ /**
8321
+ * For blocks carrying a per-schema configuration array (entity_list), the id of the configuration item to derive templates from. Requires `page_id` and `block_id`.
8322
+ */
8323
+ config_id?: string;
8324
+ /**
8325
+ * ID of the portal's `global_search` configuration item to derive search result templates and the group title template from. Mutually exclusive with `page_id`.
8326
+ */
8327
+ global_search_config_id?: string;
8328
+ }
8296
8329
  export interface TriggerPortalFlow {
8297
8330
  /**
8298
8331
  * Id of the activity
@@ -11495,11 +11528,15 @@ declare namespace Paths {
11495
11528
  }
11496
11529
  export interface RequestBody {
11497
11530
  /**
11498
- * Map of content field name to Handlebars template string. Each template is resolved per related meter and returned as templates_output on the meter.
11531
+ * DEPRECATED — client-supplied map of content field name to Handlebars template string, resolved per related meter and returned as templates_output on the meter. Use `templates_ref` instead; ignored when `templates_ref` is present and rejected once the org has the `portals-reject-client-templates` flag enabled.
11499
11532
  */
11500
11533
  templates?: {
11501
11534
  [name: string]: string;
11502
11535
  };
11536
+ /**
11537
+ * Reference to the meter selector block whose admin-configured content provides the templates, derived server-side.
11538
+ */
11539
+ templates_ref?: /* Reference to admin-authored portal configuration (a page block or a global search configuration item) from which the API derives Handlebars templates server-side. This replaces client-supplied template strings so portal users can never submit arbitrary templates for resolution. When both a reference and raw `templates` are provided, the reference wins and the raw templates are ignored. */ Components.Schemas.TemplatesRef;
11503
11540
  }
11504
11541
  namespace Responses {
11505
11542
  export interface $200 {
@@ -12756,17 +12793,21 @@ declare namespace Paths {
12756
12793
  from?: number;
12757
12794
  size?: number;
12758
12795
  /**
12759
- * Template map (key to Handlebars template string). Each template is resolved per reading.
12796
+ * DEPRECATED — client-supplied template map (key to Handlebars template string), resolved per reading. Use `templates_ref` instead; ignored when `templates_ref` is present and rejected once the org has the `portals-reject-client-templates` flag enabled.
12760
12797
  */
12761
12798
  templates?: {
12762
12799
  [name: string]: string;
12763
12800
  };
12764
12801
  /**
12765
- * Template map resolved against the counter entity.
12802
+ * DEPRECATED — client-supplied template map resolved against the counter entity. Use `templates_ref` instead; same deprecation rules as `templates`.
12766
12803
  */
12767
12804
  counter_templates?: {
12768
12805
  [name: string]: string;
12769
12806
  };
12807
+ /**
12808
+ * Reference to the meter reading block whose admin-configured content provides both the per-reading templates (content_top_name, main_content_name, content_bottom_name) and the counter templates (counter_title_name, counter_subtitle_name), derived server-side.
12809
+ */
12810
+ templates_ref?: /* Reference to admin-authored portal configuration (a page block or a global search configuration item) from which the API derives Handlebars templates server-side. This replaces client-supplied template strings so portal users can never submit arbitrary templates for resolution. When both a reference and raw `templates` are provided, the reference wins and the raw templates are ignored. */ Components.Schemas.TemplatesRef;
12770
12811
  }
12771
12812
  namespace Responses {
12772
12813
  export interface $200 {
@@ -18638,7 +18679,7 @@ interface OperationMethods {
18638
18679
  /**
18639
18680
  * interpolatePortalPages - interpolatePortalPages
18640
18681
  *
18641
- * Interpolate template variables in portal pages without reading from the database. Accepts pages in the request body and returns them with templates resolved.
18682
+ * Interpolate template variables in portal pages without reading from the database. Accepts pages in the request body and returns them with templates resolved. Portal Builder preview only: requires a 360 (epilot) token or a `portal_preview` token; plain portal user tokens get 403.
18642
18683
  */
18643
18684
  'interpolatePortalPages'(
18644
18685
  parameters?: Parameters<UnknownParamsObject> | null,
@@ -20673,7 +20714,7 @@ interface PathsDictionary {
20673
20714
  /**
20674
20715
  * interpolatePortalPages - interpolatePortalPages
20675
20716
  *
20676
- * Interpolate template variables in portal pages without reading from the database. Accepts pages in the request body and returns them with templates resolved.
20717
+ * Interpolate template variables in portal pages without reading from the database. Accepts pages in the request body and returns them with templates resolved. Portal Builder preview only: requires a 360 (epilot) token or a `portal_preview` token; plain portal user tokens get 403.
20677
20718
  */
20678
20719
  'post'(
20679
20720
  parameters?: Parameters<UnknownParamsObject> | null,
@@ -21239,6 +21280,7 @@ type Source = Components.Schemas.Source;
21239
21280
  type SwappableConfig = Components.Schemas.SwappableConfig;
21240
21281
  type TariffType = Components.Schemas.TariffType;
21241
21282
  type TeaserWidget = Components.Schemas.TeaserWidget;
21283
+ type TemplatesRef = Components.Schemas.TemplatesRef;
21242
21284
  type TriggerPortalFlow = Components.Schemas.TriggerPortalFlow;
21243
21285
  type UpdateOnlyPortalConfigAttributes = Components.Schemas.UpdateOnlyPortalConfigAttributes;
21244
21286
  type UpsertPortalConfig = Components.Schemas.UpsertPortalConfig;
@@ -21254,4 +21296,4 @@ type WorfklowIdentifier = Components.Schemas.WorfklowIdentifier;
21254
21296
  type WorkflowExecution = Components.Schemas.WorkflowExecution;
21255
21297
  type WorkflowStep = Components.Schemas.WorkflowStep;
21256
21298
 
21257
- export { type EntityItem as $, type AcceptanceDecision as A, type Balance as B, type Client as C, type CommonConfigAttributesV3 as D, type Contact as E, type ContactCountRequest as F, type ContactExistsRequest as G, type ContentWidget as H, type ContextEntities as I, type ContextEntity as J, type Contract as K, type ContractIdentifier as L, type CreateUserRequest as M, type Currency as N, type OperationMethods as O, Paths as P, type DataRetrievalItem as Q, DeleteEntityFile as R, type Direction as S, type DocumentWidget as T, type DomainSettings as U, type EmailTemplates as V, type Entity as W, type EntityEditRule as X, type EntityFileCount as Y, type EntityGetParams as Z, type EntityId as _, Components as a, type PaymentWidget as a$, type EntityMatchingConfig as a0, type EntityPortalWorkflows as a1, type EntityResponse as a2, type EntityResponseGroupedWithHits as a3, type EntityResponseWithHits as a4, type EntitySearchParams as a5, type EntitySlug as a6, type EntitySlugConfig as a7, type EntityTemplates as a8, type EntityWidget as a9, type IdentifierAttribute as aA, type InstallmentEvent as aB, type JourneyActions as aC, type JuiceSettings as aD, type Meter as aE, type MeterChartWidget as aF, type MeterReading as aG, type MeterReadingPhoto as aH, type MeterReadingPhotoData as aI, type MeterReadingWidget as aJ, type MobileBranding as aK, type MobileBuildStatus as aL, type MobileConfig as aM, type MobileConfigUpdate as aN, type MobileOtaConfig as aO, type MoblieOIDCConfig as aP, type NotificationTriggerConfig as aQ, type OIDCProviderConfig as aR, type OIDCProviderMetadata as aS, type Opportunity as aT, type Order as aU, type OrganizationSettings as aV, type Origin as aW, type OtaPortal as aX, type OutstandingTask as aY, type Page as aZ, type PageRequest as a_, type ErrorResp as aa, type Exists as ab, type Extension as ac, type ExtensionAuthBlock as ad, type ExtensionConfig as ae, type ExtensionHook as af, type ExtensionHookChangeEmail as ag, type ExtensionHookChangePassword as ah, type ExtensionHookConsumptionDataRetrieval as ai, type ExtensionHookContractIdentification as aj, type ExtensionHookCostDataRetrieval as ak, type ExtensionHookDataExport as al, type ExtensionHookDeleteAccount as am, type ExtensionHookMeterReadingPlausibilityCheck as an, type ExtensionHookPriceDataRetrieval as ao, type ExtensionHookRegistrationIdentifiersCheck as ap, type ExtensionHookSelection as aq, type ExtensionHookVisualizationMetadata as ar, type ExtensionSeamlessLink as as, type ExternalLink as at, type ExtraSchemaAttributes as au, type FailedRuleErrorResp as av, type File as aw, type FileItem as ax, type FilePreviewResult as ay, type Grant as az, type PathsDictionary as b, type PortalConfig as b0, type PortalConfigV3 as b1, type PortalDataExportColumn as b2, type PortalId as b3, type PortalNotification as b4, type PortalTaskConfig as b5, type PortalUser as b6, type PortalUserRegistrationStatus as b7, type PortalWidget as b8, type PortalWorkflow as b9, type SSOLoginToken as bA, SaveEntityFile as bB, type SavePortalFile as bC, type Schema as bD, type SearchIncludes as bE, type SecureProxyConfig as bF, type Source as bG, type SwappableConfig as bH, type TariffType as bI, type TeaserWidget as bJ, type TriggerPortalFlow as bK, type UpdateOnlyPortalConfigAttributes as bL, type UpsertPortalConfig as bM, type UpsertPortalConfigV3 as bN, UpsertPortalWidget as bO, type UserRequest as bP, type VisualizationDataRange as bQ, type VisualizationMetadata as bR, type VisualizationTypeOption as bS, type WidgetAction as bT, type WidgetBase as bU, type WorfklowIdentifier as bV, type WorkflowExecution as bW, type WorkflowStep as bX, type PortalWorkflowTask as ba, type Product as bb, type ProductRecommendationsWidget as bc, type ProviderConfig as bd, type ProviderDisplayName as be, type ProviderPublicConfig as bf, type ProviderSlug as bg, type PublicAppDetails as bh, type PublicChangeEmailDetails as bi, type PublicChangePasswordDetails as bj, type PublicContractIdentificationDetails as bk, type PublicDataRetrievalHookDetails as bl, type PublicDeleteAccountDetails as bm, type PublicExtensionCapabilities as bn, type PublicExtensionDetails as bo, type PublicMeterReadingPlausibilityCheckDetails as bp, type PublicSelfManagementExplanation as bq, type ReadBy as br, type ReadingStatus as bs, type Reason as bt, type RegistrationIdentifier as bu, type ReimbursementEvent as bv, type Rule as bw, type SAMLProviderConfig as bx, type SSOCallbackRequest as by, type SSOCallbackResponse as bz, type AccountExistsRequest as c, type ActionLabel as d, type ActionWidget as e, type Activity as f, type ActivityCallerContext as g, type ActivityId as h, type ActivityItem as i, type AdditionalContactAttribute as j, type AdminUser as k, type AllowedFileExtensions as l, type AttributeMappingConfig as m, type AuthConfig as n, type BaseBillingEvent as o, type BaseEntity as p, type BillingAccount as q, type BillingEvent as r, type Block as s, type BlockId as t, type BlockProps as u, type BlockRequest as v, type BlockType as w, type BusinessPartnerItem as x, type CampaignWidget as y, type CommonConfigAttributes as z };
21299
+ export { type EntityItem as $, type AcceptanceDecision as A, type Balance as B, type Client as C, type CommonConfigAttributesV3 as D, type Contact as E, type ContactCountRequest as F, type ContactExistsRequest as G, type ContentWidget as H, type ContextEntities as I, type ContextEntity as J, type Contract as K, type ContractIdentifier as L, type CreateUserRequest as M, type Currency as N, type OperationMethods as O, Paths as P, type DataRetrievalItem as Q, DeleteEntityFile as R, type Direction as S, type DocumentWidget as T, type DomainSettings as U, type EmailTemplates as V, type Entity as W, type EntityEditRule as X, type EntityFileCount as Y, type EntityGetParams as Z, type EntityId as _, Components as a, type PaymentWidget as a$, type EntityMatchingConfig as a0, type EntityPortalWorkflows as a1, type EntityResponse as a2, type EntityResponseGroupedWithHits as a3, type EntityResponseWithHits as a4, type EntitySearchParams as a5, type EntitySlug as a6, type EntitySlugConfig as a7, type EntityTemplates as a8, type EntityWidget as a9, type IdentifierAttribute as aA, type InstallmentEvent as aB, type JourneyActions as aC, type JuiceSettings as aD, type Meter as aE, type MeterChartWidget as aF, type MeterReading as aG, type MeterReadingPhoto as aH, type MeterReadingPhotoData as aI, type MeterReadingWidget as aJ, type MobileBranding as aK, type MobileBuildStatus as aL, type MobileConfig as aM, type MobileConfigUpdate as aN, type MobileOtaConfig as aO, type MoblieOIDCConfig as aP, type NotificationTriggerConfig as aQ, type OIDCProviderConfig as aR, type OIDCProviderMetadata as aS, type Opportunity as aT, type Order as aU, type OrganizationSettings as aV, type Origin as aW, type OtaPortal as aX, type OutstandingTask as aY, type Page as aZ, type PageRequest as a_, type ErrorResp as aa, type Exists as ab, type Extension as ac, type ExtensionAuthBlock as ad, type ExtensionConfig as ae, type ExtensionHook as af, type ExtensionHookChangeEmail as ag, type ExtensionHookChangePassword as ah, type ExtensionHookConsumptionDataRetrieval as ai, type ExtensionHookContractIdentification as aj, type ExtensionHookCostDataRetrieval as ak, type ExtensionHookDataExport as al, type ExtensionHookDeleteAccount as am, type ExtensionHookMeterReadingPlausibilityCheck as an, type ExtensionHookPriceDataRetrieval as ao, type ExtensionHookRegistrationIdentifiersCheck as ap, type ExtensionHookSelection as aq, type ExtensionHookVisualizationMetadata as ar, type ExtensionSeamlessLink as as, type ExternalLink as at, type ExtraSchemaAttributes as au, type FailedRuleErrorResp as av, type File as aw, type FileItem as ax, type FilePreviewResult as ay, type Grant as az, type PathsDictionary as b, type PortalConfig as b0, type PortalConfigV3 as b1, type PortalDataExportColumn as b2, type PortalId as b3, type PortalNotification as b4, type PortalTaskConfig as b5, type PortalUser as b6, type PortalUserRegistrationStatus as b7, type PortalWidget as b8, type PortalWorkflow as b9, type SSOLoginToken as bA, SaveEntityFile as bB, type SavePortalFile as bC, type Schema as bD, type SearchIncludes as bE, type SecureProxyConfig as bF, type Source as bG, type SwappableConfig as bH, type TariffType as bI, type TeaserWidget as bJ, type TemplatesRef as bK, type TriggerPortalFlow as bL, type UpdateOnlyPortalConfigAttributes as bM, type UpsertPortalConfig as bN, type UpsertPortalConfigV3 as bO, UpsertPortalWidget as bP, type UserRequest as bQ, type VisualizationDataRange as bR, type VisualizationMetadata as bS, type VisualizationTypeOption as bT, type WidgetAction as bU, type WidgetBase as bV, type WorfklowIdentifier as bW, type WorkflowExecution as bX, type WorkflowStep as bY, type PortalWorkflowTask as ba, type Product as bb, type ProductRecommendationsWidget as bc, type ProviderConfig as bd, type ProviderDisplayName as be, type ProviderPublicConfig as bf, type ProviderSlug as bg, type PublicAppDetails as bh, type PublicChangeEmailDetails as bi, type PublicChangePasswordDetails as bj, type PublicContractIdentificationDetails as bk, type PublicDataRetrievalHookDetails as bl, type PublicDeleteAccountDetails as bm, type PublicExtensionCapabilities as bn, type PublicExtensionDetails as bo, type PublicMeterReadingPlausibilityCheckDetails as bp, type PublicSelfManagementExplanation as bq, type ReadBy as br, type ReadingStatus as bs, type Reason as bt, type RegistrationIdentifier as bu, type ReimbursementEvent as bv, type Rule as bw, type SAMLProviderConfig as bx, type SSOCallbackRequest as by, type SSOCallbackResponse as bz, type AccountExistsRequest as c, type ActionLabel as d, type ActionWidget as e, type Activity as f, type ActivityCallerContext as g, type ActivityId as h, type ActivityItem as i, type AdditionalContactAttribute as j, type AdminUser as k, type AllowedFileExtensions as l, type AttributeMappingConfig as m, type AuthConfig as n, type BaseBillingEvent as o, type BaseEntity as p, type BillingAccount as q, type BillingEvent as r, type Block as s, type BlockId as t, type BlockProps as u, type BlockRequest as v, type BlockType as w, type BusinessPartnerItem as x, type CampaignWidget as y, type CommonConfigAttributes as z };
@@ -2766,7 +2766,7 @@ declare namespace Components {
2766
2766
  */
2767
2767
  fields?: string[];
2768
2768
  /**
2769
- * Template strings to parse and return as synthetic fields. Supports both string values and nested objects of strings.
2769
+ * DEPRECATED — client-supplied template strings to parse and return as synthetic fields. Supports both string values and nested objects of strings. Use `templates_ref` instead so templates are derived server-side from admin-authored portal configuration; ignored when `templates_ref` is present and rejected once the org has the `portals-reject-client-templates` flag enabled.
2770
2770
  * example:
2771
2771
  * {
2772
2772
  * "content_top_name": "Customer #{{contract.customer_number}}",
@@ -2783,6 +2783,10 @@ declare namespace Components {
2783
2783
  [name: string]: string;
2784
2784
  };
2785
2785
  };
2786
+ /**
2787
+ * Reference to the portal page (or a single block within it) whose admin-configured content provides the templates, derived server-side. With only `page_id`, the derived templates are a nested map keyed by block id, mirroring the entity detail page contract.
2788
+ */
2789
+ templates_ref?: /* Reference to admin-authored portal configuration (a page block or a global search configuration item) from which the API derives Handlebars templates server-side. This replaces client-supplied template strings so portal users can never submit arbitrary templates for resolution. When both a reference and raw `templates` are provided, the reference wins and the raw templates are ignored. */ TemplatesRef;
2786
2790
  /**
2787
2791
  * Additional filters to apply to the search query
2788
2792
  * example:
@@ -3141,7 +3145,7 @@ declare namespace Components {
3141
3145
  */
3142
3146
  group?: string;
3143
3147
  /**
3144
- * Template for group title using variables
3148
+ * DEPRECATED — client-supplied Handlebars template for the group title. Use `templates_ref` (global_search_config_id) instead; overridden when `templates_ref` derives a group title and rejected once the org has the `portals-reject-client-templates` flag enabled.
3145
3149
  * example:
3146
3150
  * {{customer[Primary].first_name}} {{customer[Primary].last_name}}
3147
3151
  */
@@ -3186,7 +3190,7 @@ declare namespace Components {
3186
3190
  */
3187
3191
  fields?: string[];
3188
3192
  /**
3189
- * Template strings to parse and return as synthetic fields
3193
+ * DEPRECATED — client-supplied template strings to parse and return as synthetic fields. Use `templates_ref` instead; ignored when `templates_ref` is present and rejected once the org has the `portals-reject-client-templates` flag enabled.
3190
3194
  * example:
3191
3195
  * {
3192
3196
  * "content_top_name": "Customer #{{contract.customer_number}}",
@@ -3197,6 +3201,10 @@ declare namespace Components {
3197
3201
  templates?: {
3198
3202
  [name: string]: string;
3199
3203
  };
3204
+ /**
3205
+ * Reference to admin-authored configuration providing the templates, derived server-side. For the global search block pass `global_search_config_id`; the derived templates also supply the group title template (overriding `group_title`).
3206
+ */
3207
+ templates_ref?: /* Reference to admin-authored portal configuration (a page block or a global search configuration item) from which the API derives Handlebars templates server-side. This replaces client-supplied template strings so portal users can never submit arbitrary templates for resolution. When both a reference and raw `templates` are provided, the reference wins and the raw templates are ignored. */ TemplatesRef;
3200
3208
  /**
3201
3209
  * Additional filters to apply to the search query
3202
3210
  * example:
@@ -3276,9 +3284,13 @@ declare namespace Components {
3276
3284
  */
3277
3285
  EntitySlug;
3278
3286
  targets?: string /* uuid */[];
3287
+ /**
3288
+ * DEPRECATED — client-supplied Handlebars templates. Use `templates_ref` instead so templates are derived server-side from admin-authored portal configuration. Ignored when `templates_ref` is present; rejected once the org has the `portals-reject-client-templates` flag enabled.
3289
+ */
3279
3290
  templates?: {
3280
3291
  [name: string]: string;
3281
3292
  };
3293
+ templates_ref?: /* Reference to admin-authored portal configuration (a page block or a global search configuration item) from which the API derives Handlebars templates server-side. This replaces client-supplied template strings so portal users can never submit arbitrary templates for resolution. When both a reference and raw `templates` are provided, the reference wins and the raw templates are ignored. */ TemplatesRef;
3282
3294
  }
3283
3295
  export interface EntityTemplates {
3284
3296
  /**
@@ -8293,6 +8305,27 @@ declare namespace Components {
8293
8305
  url?: string;
8294
8306
  };
8295
8307
  }
8308
+ /**
8309
+ * Reference to admin-authored portal configuration (a page block or a global search configuration item) from which the API derives Handlebars templates server-side. This replaces client-supplied template strings so portal users can never submit arbitrary templates for resolution. When both a reference and raw `templates` are provided, the reference wins and the raw templates are ignored.
8310
+ */
8311
+ export interface TemplatesRef {
8312
+ /**
8313
+ * ID of the portal page to derive templates from. When given without `block_id`, templates are derived from every block of the page and returned resolved as a nested map keyed by block id (the entity detail page contract).
8314
+ */
8315
+ page_id?: string;
8316
+ /**
8317
+ * ID of a block within the page. Templates are derived from the block's content according to its block type (e.g. meter_selector, meter_reading, entity_list).
8318
+ */
8319
+ block_id?: string;
8320
+ /**
8321
+ * For blocks carrying a per-schema configuration array (entity_list), the id of the configuration item to derive templates from. Requires `page_id` and `block_id`.
8322
+ */
8323
+ config_id?: string;
8324
+ /**
8325
+ * ID of the portal's `global_search` configuration item to derive search result templates and the group title template from. Mutually exclusive with `page_id`.
8326
+ */
8327
+ global_search_config_id?: string;
8328
+ }
8296
8329
  export interface TriggerPortalFlow {
8297
8330
  /**
8298
8331
  * Id of the activity
@@ -11495,11 +11528,15 @@ declare namespace Paths {
11495
11528
  }
11496
11529
  export interface RequestBody {
11497
11530
  /**
11498
- * Map of content field name to Handlebars template string. Each template is resolved per related meter and returned as templates_output on the meter.
11531
+ * DEPRECATED — client-supplied map of content field name to Handlebars template string, resolved per related meter and returned as templates_output on the meter. Use `templates_ref` instead; ignored when `templates_ref` is present and rejected once the org has the `portals-reject-client-templates` flag enabled.
11499
11532
  */
11500
11533
  templates?: {
11501
11534
  [name: string]: string;
11502
11535
  };
11536
+ /**
11537
+ * Reference to the meter selector block whose admin-configured content provides the templates, derived server-side.
11538
+ */
11539
+ templates_ref?: /* Reference to admin-authored portal configuration (a page block or a global search configuration item) from which the API derives Handlebars templates server-side. This replaces client-supplied template strings so portal users can never submit arbitrary templates for resolution. When both a reference and raw `templates` are provided, the reference wins and the raw templates are ignored. */ Components.Schemas.TemplatesRef;
11503
11540
  }
11504
11541
  namespace Responses {
11505
11542
  export interface $200 {
@@ -12756,17 +12793,21 @@ declare namespace Paths {
12756
12793
  from?: number;
12757
12794
  size?: number;
12758
12795
  /**
12759
- * Template map (key to Handlebars template string). Each template is resolved per reading.
12796
+ * DEPRECATED — client-supplied template map (key to Handlebars template string), resolved per reading. Use `templates_ref` instead; ignored when `templates_ref` is present and rejected once the org has the `portals-reject-client-templates` flag enabled.
12760
12797
  */
12761
12798
  templates?: {
12762
12799
  [name: string]: string;
12763
12800
  };
12764
12801
  /**
12765
- * Template map resolved against the counter entity.
12802
+ * DEPRECATED — client-supplied template map resolved against the counter entity. Use `templates_ref` instead; same deprecation rules as `templates`.
12766
12803
  */
12767
12804
  counter_templates?: {
12768
12805
  [name: string]: string;
12769
12806
  };
12807
+ /**
12808
+ * Reference to the meter reading block whose admin-configured content provides both the per-reading templates (content_top_name, main_content_name, content_bottom_name) and the counter templates (counter_title_name, counter_subtitle_name), derived server-side.
12809
+ */
12810
+ templates_ref?: /* Reference to admin-authored portal configuration (a page block or a global search configuration item) from which the API derives Handlebars templates server-side. This replaces client-supplied template strings so portal users can never submit arbitrary templates for resolution. When both a reference and raw `templates` are provided, the reference wins and the raw templates are ignored. */ Components.Schemas.TemplatesRef;
12770
12811
  }
12771
12812
  namespace Responses {
12772
12813
  export interface $200 {
@@ -18638,7 +18679,7 @@ interface OperationMethods {
18638
18679
  /**
18639
18680
  * interpolatePortalPages - interpolatePortalPages
18640
18681
  *
18641
- * Interpolate template variables in portal pages without reading from the database. Accepts pages in the request body and returns them with templates resolved.
18682
+ * Interpolate template variables in portal pages without reading from the database. Accepts pages in the request body and returns them with templates resolved. Portal Builder preview only: requires a 360 (epilot) token or a `portal_preview` token; plain portal user tokens get 403.
18642
18683
  */
18643
18684
  'interpolatePortalPages'(
18644
18685
  parameters?: Parameters<UnknownParamsObject> | null,
@@ -20673,7 +20714,7 @@ interface PathsDictionary {
20673
20714
  /**
20674
20715
  * interpolatePortalPages - interpolatePortalPages
20675
20716
  *
20676
- * Interpolate template variables in portal pages without reading from the database. Accepts pages in the request body and returns them with templates resolved.
20717
+ * Interpolate template variables in portal pages without reading from the database. Accepts pages in the request body and returns them with templates resolved. Portal Builder preview only: requires a 360 (epilot) token or a `portal_preview` token; plain portal user tokens get 403.
20677
20718
  */
20678
20719
  'post'(
20679
20720
  parameters?: Parameters<UnknownParamsObject> | null,
@@ -21239,6 +21280,7 @@ type Source = Components.Schemas.Source;
21239
21280
  type SwappableConfig = Components.Schemas.SwappableConfig;
21240
21281
  type TariffType = Components.Schemas.TariffType;
21241
21282
  type TeaserWidget = Components.Schemas.TeaserWidget;
21283
+ type TemplatesRef = Components.Schemas.TemplatesRef;
21242
21284
  type TriggerPortalFlow = Components.Schemas.TriggerPortalFlow;
21243
21285
  type UpdateOnlyPortalConfigAttributes = Components.Schemas.UpdateOnlyPortalConfigAttributes;
21244
21286
  type UpsertPortalConfig = Components.Schemas.UpsertPortalConfig;
@@ -21254,4 +21296,4 @@ type WorfklowIdentifier = Components.Schemas.WorfklowIdentifier;
21254
21296
  type WorkflowExecution = Components.Schemas.WorkflowExecution;
21255
21297
  type WorkflowStep = Components.Schemas.WorkflowStep;
21256
21298
 
21257
- export { type EntityItem as $, type AcceptanceDecision as A, type Balance as B, type Client as C, type CommonConfigAttributesV3 as D, type Contact as E, type ContactCountRequest as F, type ContactExistsRequest as G, type ContentWidget as H, type ContextEntities as I, type ContextEntity as J, type Contract as K, type ContractIdentifier as L, type CreateUserRequest as M, type Currency as N, type OperationMethods as O, Paths as P, type DataRetrievalItem as Q, DeleteEntityFile as R, type Direction as S, type DocumentWidget as T, type DomainSettings as U, type EmailTemplates as V, type Entity as W, type EntityEditRule as X, type EntityFileCount as Y, type EntityGetParams as Z, type EntityId as _, Components as a, type PaymentWidget as a$, type EntityMatchingConfig as a0, type EntityPortalWorkflows as a1, type EntityResponse as a2, type EntityResponseGroupedWithHits as a3, type EntityResponseWithHits as a4, type EntitySearchParams as a5, type EntitySlug as a6, type EntitySlugConfig as a7, type EntityTemplates as a8, type EntityWidget as a9, type IdentifierAttribute as aA, type InstallmentEvent as aB, type JourneyActions as aC, type JuiceSettings as aD, type Meter as aE, type MeterChartWidget as aF, type MeterReading as aG, type MeterReadingPhoto as aH, type MeterReadingPhotoData as aI, type MeterReadingWidget as aJ, type MobileBranding as aK, type MobileBuildStatus as aL, type MobileConfig as aM, type MobileConfigUpdate as aN, type MobileOtaConfig as aO, type MoblieOIDCConfig as aP, type NotificationTriggerConfig as aQ, type OIDCProviderConfig as aR, type OIDCProviderMetadata as aS, type Opportunity as aT, type Order as aU, type OrganizationSettings as aV, type Origin as aW, type OtaPortal as aX, type OutstandingTask as aY, type Page as aZ, type PageRequest as a_, type ErrorResp as aa, type Exists as ab, type Extension as ac, type ExtensionAuthBlock as ad, type ExtensionConfig as ae, type ExtensionHook as af, type ExtensionHookChangeEmail as ag, type ExtensionHookChangePassword as ah, type ExtensionHookConsumptionDataRetrieval as ai, type ExtensionHookContractIdentification as aj, type ExtensionHookCostDataRetrieval as ak, type ExtensionHookDataExport as al, type ExtensionHookDeleteAccount as am, type ExtensionHookMeterReadingPlausibilityCheck as an, type ExtensionHookPriceDataRetrieval as ao, type ExtensionHookRegistrationIdentifiersCheck as ap, type ExtensionHookSelection as aq, type ExtensionHookVisualizationMetadata as ar, type ExtensionSeamlessLink as as, type ExternalLink as at, type ExtraSchemaAttributes as au, type FailedRuleErrorResp as av, type File as aw, type FileItem as ax, type FilePreviewResult as ay, type Grant as az, type PathsDictionary as b, type PortalConfig as b0, type PortalConfigV3 as b1, type PortalDataExportColumn as b2, type PortalId as b3, type PortalNotification as b4, type PortalTaskConfig as b5, type PortalUser as b6, type PortalUserRegistrationStatus as b7, type PortalWidget as b8, type PortalWorkflow as b9, type SSOLoginToken as bA, SaveEntityFile as bB, type SavePortalFile as bC, type Schema as bD, type SearchIncludes as bE, type SecureProxyConfig as bF, type Source as bG, type SwappableConfig as bH, type TariffType as bI, type TeaserWidget as bJ, type TriggerPortalFlow as bK, type UpdateOnlyPortalConfigAttributes as bL, type UpsertPortalConfig as bM, type UpsertPortalConfigV3 as bN, UpsertPortalWidget as bO, type UserRequest as bP, type VisualizationDataRange as bQ, type VisualizationMetadata as bR, type VisualizationTypeOption as bS, type WidgetAction as bT, type WidgetBase as bU, type WorfklowIdentifier as bV, type WorkflowExecution as bW, type WorkflowStep as bX, type PortalWorkflowTask as ba, type Product as bb, type ProductRecommendationsWidget as bc, type ProviderConfig as bd, type ProviderDisplayName as be, type ProviderPublicConfig as bf, type ProviderSlug as bg, type PublicAppDetails as bh, type PublicChangeEmailDetails as bi, type PublicChangePasswordDetails as bj, type PublicContractIdentificationDetails as bk, type PublicDataRetrievalHookDetails as bl, type PublicDeleteAccountDetails as bm, type PublicExtensionCapabilities as bn, type PublicExtensionDetails as bo, type PublicMeterReadingPlausibilityCheckDetails as bp, type PublicSelfManagementExplanation as bq, type ReadBy as br, type ReadingStatus as bs, type Reason as bt, type RegistrationIdentifier as bu, type ReimbursementEvent as bv, type Rule as bw, type SAMLProviderConfig as bx, type SSOCallbackRequest as by, type SSOCallbackResponse as bz, type AccountExistsRequest as c, type ActionLabel as d, type ActionWidget as e, type Activity as f, type ActivityCallerContext as g, type ActivityId as h, type ActivityItem as i, type AdditionalContactAttribute as j, type AdminUser as k, type AllowedFileExtensions as l, type AttributeMappingConfig as m, type AuthConfig as n, type BaseBillingEvent as o, type BaseEntity as p, type BillingAccount as q, type BillingEvent as r, type Block as s, type BlockId as t, type BlockProps as u, type BlockRequest as v, type BlockType as w, type BusinessPartnerItem as x, type CampaignWidget as y, type CommonConfigAttributes as z };
21299
+ export { type EntityItem as $, type AcceptanceDecision as A, type Balance as B, type Client as C, type CommonConfigAttributesV3 as D, type Contact as E, type ContactCountRequest as F, type ContactExistsRequest as G, type ContentWidget as H, type ContextEntities as I, type ContextEntity as J, type Contract as K, type ContractIdentifier as L, type CreateUserRequest as M, type Currency as N, type OperationMethods as O, Paths as P, type DataRetrievalItem as Q, DeleteEntityFile as R, type Direction as S, type DocumentWidget as T, type DomainSettings as U, type EmailTemplates as V, type Entity as W, type EntityEditRule as X, type EntityFileCount as Y, type EntityGetParams as Z, type EntityId as _, Components as a, type PaymentWidget as a$, type EntityMatchingConfig as a0, type EntityPortalWorkflows as a1, type EntityResponse as a2, type EntityResponseGroupedWithHits as a3, type EntityResponseWithHits as a4, type EntitySearchParams as a5, type EntitySlug as a6, type EntitySlugConfig as a7, type EntityTemplates as a8, type EntityWidget as a9, type IdentifierAttribute as aA, type InstallmentEvent as aB, type JourneyActions as aC, type JuiceSettings as aD, type Meter as aE, type MeterChartWidget as aF, type MeterReading as aG, type MeterReadingPhoto as aH, type MeterReadingPhotoData as aI, type MeterReadingWidget as aJ, type MobileBranding as aK, type MobileBuildStatus as aL, type MobileConfig as aM, type MobileConfigUpdate as aN, type MobileOtaConfig as aO, type MoblieOIDCConfig as aP, type NotificationTriggerConfig as aQ, type OIDCProviderConfig as aR, type OIDCProviderMetadata as aS, type Opportunity as aT, type Order as aU, type OrganizationSettings as aV, type Origin as aW, type OtaPortal as aX, type OutstandingTask as aY, type Page as aZ, type PageRequest as a_, type ErrorResp as aa, type Exists as ab, type Extension as ac, type ExtensionAuthBlock as ad, type ExtensionConfig as ae, type ExtensionHook as af, type ExtensionHookChangeEmail as ag, type ExtensionHookChangePassword as ah, type ExtensionHookConsumptionDataRetrieval as ai, type ExtensionHookContractIdentification as aj, type ExtensionHookCostDataRetrieval as ak, type ExtensionHookDataExport as al, type ExtensionHookDeleteAccount as am, type ExtensionHookMeterReadingPlausibilityCheck as an, type ExtensionHookPriceDataRetrieval as ao, type ExtensionHookRegistrationIdentifiersCheck as ap, type ExtensionHookSelection as aq, type ExtensionHookVisualizationMetadata as ar, type ExtensionSeamlessLink as as, type ExternalLink as at, type ExtraSchemaAttributes as au, type FailedRuleErrorResp as av, type File as aw, type FileItem as ax, type FilePreviewResult as ay, type Grant as az, type PathsDictionary as b, type PortalConfig as b0, type PortalConfigV3 as b1, type PortalDataExportColumn as b2, type PortalId as b3, type PortalNotification as b4, type PortalTaskConfig as b5, type PortalUser as b6, type PortalUserRegistrationStatus as b7, type PortalWidget as b8, type PortalWorkflow as b9, type SSOLoginToken as bA, SaveEntityFile as bB, type SavePortalFile as bC, type Schema as bD, type SearchIncludes as bE, type SecureProxyConfig as bF, type Source as bG, type SwappableConfig as bH, type TariffType as bI, type TeaserWidget as bJ, type TemplatesRef as bK, type TriggerPortalFlow as bL, type UpdateOnlyPortalConfigAttributes as bM, type UpsertPortalConfig as bN, type UpsertPortalConfigV3 as bO, UpsertPortalWidget as bP, type UserRequest as bQ, type VisualizationDataRange as bR, type VisualizationMetadata as bS, type VisualizationTypeOption as bT, type WidgetAction as bU, type WidgetBase as bV, type WorfklowIdentifier as bW, type WorkflowExecution as bX, type WorkflowStep as bY, type PortalWorkflowTask as ba, type Product as bb, type ProductRecommendationsWidget as bc, type ProviderConfig as bd, type ProviderDisplayName as be, type ProviderPublicConfig as bf, type ProviderSlug as bg, type PublicAppDetails as bh, type PublicChangeEmailDetails as bi, type PublicChangePasswordDetails as bj, type PublicContractIdentificationDetails as bk, type PublicDataRetrievalHookDetails as bl, type PublicDeleteAccountDetails as bm, type PublicExtensionCapabilities as bn, type PublicExtensionDetails as bo, type PublicMeterReadingPlausibilityCheckDetails as bp, type PublicSelfManagementExplanation as bq, type ReadBy as br, type ReadingStatus as bs, type Reason as bt, type RegistrationIdentifier as bu, type ReimbursementEvent as bv, type Rule as bw, type SAMLProviderConfig as bx, type SSOCallbackRequest as by, type SSOCallbackResponse as bz, type AccountExistsRequest as c, type ActionLabel as d, type ActionWidget as e, type Activity as f, type ActivityCallerContext as g, type ActivityId as h, type ActivityItem as i, type AdditionalContactAttribute as j, type AdminUser as k, type AllowedFileExtensions as l, type AttributeMappingConfig as m, type AuthConfig as n, type BaseBillingEvent as o, type BaseEntity as p, type BillingAccount as q, type BillingEvent as r, type Block as s, type BlockId as t, type BlockProps as u, type BlockRequest as v, type BlockType as w, type BusinessPartnerItem as x, type CampaignWidget as y, type CommonConfigAttributes as z };
package/dist/index.cjs CHANGED
@@ -158,7 +158,7 @@ var _chunkADSWGLIVcjs = require('./chunk-ADSWGLIV.cjs');
158
158
 
159
159
 
160
160
 
161
- var _chunk6AESXD5Dcjs = require('./chunk-6AESXD5D.cjs');
161
+ var _chunk5XEB5OBLcjs = require('./chunk-5XEB5OBL.cjs');
162
162
 
163
163
 
164
164
  var _chunkNJK5F5TFcjs = require('./chunk-NJK5F5TF.cjs');
@@ -225,7 +225,7 @@ var resolveClient = (params) => {
225
225
  }
226
226
  if (!entry.instance) {
227
227
  const definition = entry.loader();
228
- entry.instance = _chunk6AESXD5Dcjs.createApiClient.call(void 0, {
228
+ entry.instance = _chunk5XEB5OBLcjs.createApiClient.call(void 0, {
229
229
  definition,
230
230
  token: state.token,
231
231
  headers: state.globalHeaders,
@@ -258,7 +258,7 @@ var resetAllClients = (registry) => {
258
258
  };
259
259
 
260
260
  // src/apis/_registry.ts
261
- var expandDef = (mod) => _chunk6AESXD5Dcjs.expand.call(void 0, _nullishCoalesce(mod.default, () => ( mod)));
261
+ var expandDef = (mod) => _chunk5XEB5OBLcjs.expand.call(void 0, _nullishCoalesce(mod.default, () => ( mod)));
262
262
  var registerBuiltinApis = (registry) => {
263
263
  registerApi({
264
264
  registry,
@@ -601,9 +601,9 @@ var createSDK = () => {
601
601
  const available = [...registry.keys()].join(", ");
602
602
  throw new Error(`Unknown API: "${name}". Available: ${available}`);
603
603
  }
604
- return _chunk6AESXD5Dcjs.createApiHandle.call(void 0, {
604
+ return _chunk5XEB5OBLcjs.createApiHandle.call(void 0, {
605
605
  resolveClient: () => resolveClient({ registry, name, state }),
606
- createClient: () => _chunk6AESXD5Dcjs.createApiClient.call(void 0, { definition: entry.loader(), apiName: name }),
606
+ createClient: () => _chunk5XEB5OBLcjs.createApiClient.call(void 0, { definition: entry.loader(), apiName: name }),
607
607
  apiName: name
608
608
  });
609
609
  };
@@ -651,9 +651,9 @@ var createSDK = () => {
651
651
  return interceptorUse;
652
652
  }
653
653
  case "help":
654
- return (apiName) => _chunk6AESXD5Dcjs.help.call(void 0, apiName);
654
+ return (apiName) => _chunk5XEB5OBLcjs.help.call(void 0, apiName);
655
655
  case "openapi":
656
- return (apiName) => _chunk6AESXD5Dcjs.openapi.call(void 0, apiName);
656
+ return (apiName) => _chunk5XEB5OBLcjs.openapi.call(void 0, apiName);
657
657
  case "then":
658
658
  case "catch":
659
659
  case "finally":
@@ -683,4 +683,4 @@ var epilot = createSDK();
683
683
 
684
684
 
685
685
 
686
- exports.applyLargeResponseInterceptor = applyLargeResponseInterceptor; exports.applyRetryInterceptor = applyRetryInterceptor; exports.authorize = _chunk6AESXD5Dcjs.authorize; exports.createSDK = createSDK; exports.epilot = epilot; exports.help = _chunk6AESXD5Dcjs.help; exports.openapi = _chunk6AESXD5Dcjs.openapi;
686
+ exports.applyLargeResponseInterceptor = applyLargeResponseInterceptor; exports.applyRetryInterceptor = applyRetryInterceptor; exports.authorize = _chunk5XEB5OBLcjs.authorize; exports.createSDK = createSDK; exports.epilot = epilot; exports.help = _chunk5XEB5OBLcjs.help; exports.openapi = _chunk5XEB5OBLcjs.openapi;
package/dist/index.d.cts CHANGED
@@ -15,7 +15,7 @@ import { C as Client$8 } from './blueprint-manifest.d-CjsI-JqR.cjs';
15
15
  import { C as Client$9 } from './calendar.d-mk-ltGpk.cjs';
16
16
  import { C as Client$a } from './configuration-hub.d-Dv41yC3b.cjs';
17
17
  import { C as Client$b } from './consent.d-C2PROHhX.cjs';
18
- import { C as Client$c } from './customer-portal.d-D44zeiJ4.cjs';
18
+ import { C as Client$c } from './customer-portal.d-DTnk0yQf.cjs';
19
19
  import { C as Client$d } from './dashboard.d-BSevFHjf.cjs';
20
20
  import { C as Client$e } from './data-governance.d-BbZ466j5.cjs';
21
21
  import { C as Client$f } from './deduplication.d-Cueh8bDD.cjs';
package/dist/index.d.ts CHANGED
@@ -15,7 +15,7 @@ import { C as Client$8 } from './blueprint-manifest.d-CjsI-JqR.js';
15
15
  import { C as Client$9 } from './calendar.d-mk-ltGpk.js';
16
16
  import { C as Client$a } from './configuration-hub.d-Dv41yC3b.js';
17
17
  import { C as Client$b } from './consent.d-C2PROHhX.js';
18
- import { C as Client$c } from './customer-portal.d-D44zeiJ4.js';
18
+ import { C as Client$c } from './customer-portal.d-DTnk0yQf.js';
19
19
  import { C as Client$d } from './dashboard.d-BSevFHjf.js';
20
20
  import { C as Client$e } from './data-governance.d-BbZ466j5.js';
21
21
  import { C as Client$f } from './deduplication.d-Cueh8bDD.js';
package/dist/index.js CHANGED
@@ -158,7 +158,7 @@ import {
158
158
  expand,
159
159
  help,
160
160
  openapi
161
- } from "./chunk-XW3N5APN.js";
161
+ } from "./chunk-CYNIYYYS.js";
162
162
  import {
163
163
  __require
164
164
  } from "./chunk-YPSWSI3M.js";
@@ -229,6 +229,7 @@ const { data } = await customerPortalClient.upsertPortal(...)
229
229
  - [`Exists`](#exists)
230
230
  - [`EntitySlug`](#entityslug)
231
231
  - [`EntitySlugConfig`](#entityslugconfig)
232
+ - [`TemplatesRef`](#templatesref)
232
233
  - [`EntityId`](#entityid)
233
234
  - [`BaseEntity`](#baseentity)
234
235
  - [`Schema`](#schema)
@@ -5285,7 +5286,13 @@ const { data } = await client.getContractWithTemplates(
5285
5286
  id: '123e4567-e89b-12d3-a456-426614174000',
5286
5287
  },
5287
5288
  {
5288
- templates: {}
5289
+ templates: {},
5290
+ templates_ref: {
5291
+ page_id: 'string',
5292
+ block_id: 'string',
5293
+ config_id: 'string',
5294
+ global_search_config_id: 'string'
5295
+ }
5289
5296
  },
5290
5297
  )
5291
5298
  ```
@@ -6217,6 +6224,12 @@ const { data } = await client.getPortalUserEntity(
6217
6224
  subtitle: '{{contract.contract_number}}'
6218
6225
  }
6219
6226
  },
6227
+ templates_ref: {
6228
+ page_id: 'string',
6229
+ block_id: 'string',
6230
+ config_id: 'string',
6231
+ global_search_config_id: 'string'
6232
+ },
6220
6233
  filters: [
6221
6234
  {
6222
6235
  term: {
@@ -6310,6 +6323,12 @@ const { data } = await client.searchPortalUserEntities(
6310
6323
  main_content_name: '{{contract.contract_name}} ({{contract.contract_number}})',
6311
6324
  content_bottom_name: '{{custom_contract_delivery_address}}'
6312
6325
  },
6326
+ templates_ref: {
6327
+ page_id: 'string',
6328
+ block_id: 'string',
6329
+ config_id: 'string',
6330
+ global_search_config_id: 'string'
6331
+ },
6313
6332
  filters: [
6314
6333
  {
6315
6334
  term: {
@@ -6939,7 +6958,13 @@ const { data } = await client.getMeterReadings(
6939
6958
  from: 0,
6940
6959
  size: 10,
6941
6960
  templates: {},
6942
- counter_templates: {}
6961
+ counter_templates: {},
6962
+ templates_ref: {
6963
+ page_id: 'string',
6964
+ block_id: 'string',
6965
+ config_id: 'string',
6966
+ global_search_config_id: 'string'
6967
+ }
6943
6968
  },
6944
6969
  )
6945
6970
  ```
@@ -7493,7 +7518,7 @@ const { data } = await client.getPublicPages({
7493
7518
 
7494
7519
  ### `interpolatePortalPages`
7495
7520
 
7496
- Interpolate template variables in portal pages without reading from the database. Accepts pages in the request body and returns them with templates resolved.
7521
+ Interpolate template variables in portal pages without reading from the database. Accepts pages in the request body and returns them with templates resolved. Portal Builder preview only: requires a 36
7497
7522
 
7498
7523
  `POST /v2/portal/pages/interpolate`
7499
7524
 
@@ -11834,6 +11859,25 @@ type EntitySlugConfig = {
11834
11859
  slug: string
11835
11860
  targets?: string // uuid[]
11836
11861
  templates?: Record<string, string>
11862
+ templates_ref?: {
11863
+ page_id?: string
11864
+ block_id?: string
11865
+ config_id?: string
11866
+ global_search_config_id?: string
11867
+ }
11868
+ }
11869
+ ```
11870
+
11871
+ ### `TemplatesRef`
11872
+
11873
+ Reference to admin-authored portal configuration (a page block or a global search configuration item) from which the API derives Handlebars templates server-side. This replaces client-supplied template strings so portal users can never submit arbitrary templates for resolution. When both a reference
11874
+
11875
+ ```ts
11876
+ type TemplatesRef = {
11877
+ page_id?: string
11878
+ block_id?: string
11879
+ config_id?: string
11880
+ global_search_config_id?: string
11837
11881
  }
11838
11882
  ```
11839
11883
 
@@ -12753,6 +12797,12 @@ type EntityGetParams = {
12753
12797
  hydrate?: boolean
12754
12798
  fields?: string[]
12755
12799
  templates?: Record<string, string | Record<string, string>>
12800
+ templates_ref?: {
12801
+ page_id?: string
12802
+ block_id?: string
12803
+ config_id?: string
12804
+ global_search_config_id?: string
12805
+ }
12756
12806
  filters?: object[]
12757
12807
  filters_context?: Record<string, boolean | string>[]
12758
12808
  targets?: string // uuid[]
@@ -12767,6 +12817,12 @@ type EntitySearchParams = {
12767
12817
  slug: string
12768
12818
  targets?: string // uuid[]
12769
12819
  templates?: Record<string, string>
12820
+ templates_ref?: {
12821
+ page_id?: { ... }
12822
+ block_id?: { ... }
12823
+ config_id?: { ... }
12824
+ global_search_config_id?: { ... }
12825
+ }
12770
12826
  }>
12771
12827
  q?: string
12772
12828
  q_fields?: string[]
@@ -12781,6 +12837,12 @@ type EntitySearchParams = {
12781
12837
  hydrate?: boolean
12782
12838
  fields?: string[]
12783
12839
  templates?: Record<string, string>
12840
+ templates_ref?: {
12841
+ page_id?: string
12842
+ block_id?: string
12843
+ config_id?: string
12844
+ global_search_config_id?: string
12845
+ }
12784
12846
  filters?: object[]
12785
12847
  filters_context?: Record<string, boolean | string>[]
12786
12848
  targets?: string // uuid[]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/sdk",
3
- "version": "2.18.25",
3
+ "version": "2.18.26",
4
4
  "description": "JavaScript/TypeScript SDK for epilot APIs",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",