@wix/auto_sdk_online-programs_sections 1.0.34 → 1.0.36

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/online-programs-v3-section-sections.universal.ts","../../src/online-programs-v3-section-sections.http.ts"],"sourcesContent":["import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport { queryBuilder } from '@wix/sdk-runtime/query-builder';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport {\n HttpClient,\n HttpResponse,\n NonNullablePaths,\n QuerySpec,\n Query as QuerySdkType,\n} from '@wix/sdk-types';\nimport * as ambassadorWixOnlineProgramsV3Section from './online-programs-v3-section-sections.http.js';\n// @ts-ignore\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { createQueryUtils } from '@wix/sdk-runtime/query-builder-utils';\n\n/**\n * A section groups related steps within an online program.\n *\n * Sections have no separate draft or publish lifecycle. They can be reordered and made available after a delay counted from the program's start date for scheduled programs, or from the participant's enrollment date for self-paced programs.\n */\nexport interface Section {\n /**\n * Section ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the section is updated. To prevent conflicting changes, the current `revision` must be passed when updating the section.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the section was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the section was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Program ID of the parent program. Provide it when creating a section. After creation, this value can't be changed.\n * @format GUID\n * @readonly\n * @immutable\n */\n programId?: string;\n /** Section title. */\n description?: Description;\n /**\n * @internal\n * @deprecated\n * @targetRemovalDate 2026-12-01\n */\n state?: StateWithLiterals;\n /**\n * Total number of steps in the section.\n * @readonly\n */\n totalSteps?: number | null;\n /**\n * Position rank used to order sections within a program. To reorder sections, call Move Section.\n * @readonly\n */\n ordering?: number;\n /**\n * Number of days before the section becomes available. The count starts from the program's start date for scheduled programs, or from the participant's enrollment date for self-paced ones. Someone joining a scheduled program after it began may find several sections already open. Use `0` for a section available from the start.\n * @max 5000\n */\n delayInDays?: number;\n /** Custom field data for the section. [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls. */\n extendedFields?: ExtendedFields;\n}\n\nexport interface Description {\n /** @maxLength 500 */\n title?: string;\n}\n\nexport enum State {\n /** Retained for backward compatibility. Doesn't affect whether the section is served. */\n DRAFT = 'DRAFT',\n /** Default state for new sections. */\n PUBLISHED = 'PUBLISHED',\n}\n\n/** @enumType */\nexport type StateWithLiterals = State | 'DRAFT' | 'PUBLISHED';\n\nexport interface ExtendedFields {\n /**\n * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n * The value of each key is structured according to the schema defined when the extended fields were configured.\n *\n * You can only access fields for which you have the appropriate permissions.\n *\n * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n */\n namespaces?: Record<string, Record<string, any>>;\n}\n\nexport interface UpdateDocumentsEvent\n extends UpdateDocumentsEventOperationOneOf {\n /** insert/update documents */\n update?: DocumentUpdateOperation;\n /** delete by document ids */\n deleteByIds?: DeleteByIdsOperation;\n /** delete documents matching filter */\n deleteByFilter?: DeleteByFilterOperation;\n /** update documents matching filter */\n updateByFilter?: UpdateByFilterOperation;\n /** update only existing documents */\n updateExisting?: UpdateExistingOperation;\n /**\n * application which owns documents\n * @minLength 2\n */\n appDefId?: string | null;\n /**\n * type of the documents\n * @minLength 2\n */\n documentType?: string | null;\n /**\n * language of the documents\n * @minLength 2\n */\n language?: string | null;\n /**\n * site documents belong to\n * @minLength 2\n */\n msId?: string | null;\n}\n\n/** @oneof */\nexport interface UpdateDocumentsEventOperationOneOf {\n /** insert/update documents */\n update?: DocumentUpdateOperation;\n /** delete by document ids */\n deleteByIds?: DeleteByIdsOperation;\n /** delete documents matching filter */\n deleteByFilter?: DeleteByFilterOperation;\n /** update documents matching filter */\n updateByFilter?: UpdateByFilterOperation;\n /** update only existing documents */\n updateExisting?: UpdateExistingOperation;\n}\n\nexport interface DocumentUpdateOperation {\n /** documents to index or update */\n documents?: IndexDocument[];\n}\n\nexport interface IndexDocument {\n /** data bag with non-searchable fields (url, image) */\n payload?: DocumentPayload;\n /** what type of users should documents be visible to */\n exposure?: EnumWithLiterals;\n /** document with mandatory fields (id, title, description) and with fields specific to the type of the document */\n document?: Record<string, any> | null;\n /** what member groups is the document exposed to. Used only with GROUP_PROTECTED exposure */\n permittedMemberGroups?: string[];\n /** if true SEO is disabled for this document */\n seoHidden?: boolean | null;\n /** if true the page is a lightbox popup */\n isPopup?: boolean | null;\n}\n\nexport interface DocumentPayload {\n /** url of the page representing the document */\n url?: string | null;\n /** image which represents the document */\n documentImage?: DocumentImage;\n}\n\nexport interface DocumentImage {\n /** the name of the image */\n name?: string;\n /** the width of the image */\n width?: number;\n /** the height of the image */\n height?: number;\n}\n\nexport enum Enum {\n /** Default value. Means that permission not set */\n UNKNOWN = 'UNKNOWN',\n /** Protected exposure. Exposed to members and owners */\n PROTECTED = 'PROTECTED',\n /** Private exposure. Exposed to owners */\n PRIVATE = 'PRIVATE',\n /** Public exposure. Visible to everyone */\n PUBLIC = 'PUBLIC',\n /** Used for partial updates, to state that exposure is not changing */\n UNCHANGED = 'UNCHANGED',\n /** Protected to members of permitted groups and owners */\n GROUP_PROTECTED = 'GROUP_PROTECTED',\n}\n\n/** @enumType */\nexport type EnumWithLiterals =\n | Enum\n | 'UNKNOWN'\n | 'PROTECTED'\n | 'PRIVATE'\n | 'PUBLIC'\n | 'UNCHANGED'\n | 'GROUP_PROTECTED';\n\nexport interface DeleteByIdsOperation {\n /** ids of the documents to delete */\n documentIds?: string[];\n}\n\nexport interface DeleteByFilterOperation {\n /** documents matching this filter wil be deleted. only filterable documents defined in document_type can be used for filtering */\n filter?: Record<string, any> | null;\n}\n\nexport interface UpdateByFilterOperation {\n /** documents matching this filter will be updated */\n filter?: Record<string, any> | null;\n /** partial document to apply */\n document?: IndexDocument;\n}\n\nexport interface UpdateExistingOperation {\n /** documents to update */\n documents?: IndexDocument[];\n}\n\n/** Payload for the Section Updated event. */\nexport interface SectionUpdated {\n /** Section before the update. */\n previous?: Section;\n /** Section after the update. */\n current?: Section;\n}\n\n/** Payload for the Section Deleted event. */\nexport interface SectionDeleted {\n /** Section that was deleted. */\n section?: Section;\n}\n\n/** Payload for the Section Cloned event. */\nexport interface SectionCloned {\n /** Source section used for cloning. */\n prototype?: Section;\n /** Cloned section. Steps are cloned asynchronously after this event is sent, so `totalSteps` may not reflect the eventual number of cloned steps. Retrieve the section later for the current count. */\n cloned?: Section;\n}\n\nexport interface SectionMoved {\n /**\n * ID of the moved section.\n * @format GUID\n */\n sectionId?: string;\n /** New ordering rank assigned to the moved section. */\n newSectionPositionRank?: number;\n}\n\nexport interface CreateSectionRequest {\n /** Section to create. Must include `section.programId`. */\n section: Section;\n /**\n * Deprecated: `total_steps` is always returned. This field is ignored.\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport enum RequestedFields {\n /** return total number of steps in this section. */\n TOTAL_STEPS = 'TOTAL_STEPS',\n}\n\n/** @enumType */\nexport type RequestedFieldsWithLiterals = RequestedFields | 'TOTAL_STEPS';\n\nexport interface CreateSectionResponse {\n /** Created section. */\n section?: Section;\n}\n\nexport interface BulkCreateSectionsRequest {\n /**\n * List of sections to create. Each section must include `programId`, and all sections must belong to the same program.\n * @minSize 1\n * @maxSize 100\n */\n sections: Section[];\n /**\n * Deprecated: This field is ignored.\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface BulkCreateSectionsResponse {\n /** Results for the bulk create operation. */\n results?: BulkSectionResult[];\n /** Summary of the bulk create operation. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkSectionResult {\n /** Metadata for the bulk operation result. */\n itemMetadata?: ItemMetadata;\n /**\n * Internal placeholder. Use `item_metadata` to identify the created section.\n * @internal\n */\n item?: Section;\n /** Action associated with the bulk result. */\n action?: BulkActionTypeWithLiterals;\n}\n\nexport interface ItemMetadata {\n /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n _id?: string | null;\n /** Index of the item within the request array. Allows for correlation between request and response items. */\n originalIndex?: number;\n /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n success?: boolean;\n /** Details about the error in case of failure. */\n error?: ApplicationError;\n}\n\nexport interface ApplicationError {\n /** Error code. */\n code?: string;\n /** Description of the error. */\n description?: string;\n /** Data related to the error. */\n data?: Record<string, any> | null;\n}\n\nexport enum BulkActionType {\n UNKNOWN_ACTION_TYPE = 'UNKNOWN_ACTION_TYPE',\n INSERT = 'INSERT',\n UPDATE = 'UPDATE',\n DELETE = 'DELETE',\n}\n\n/** @enumType */\nexport type BulkActionTypeWithLiterals =\n | BulkActionType\n | 'UNKNOWN_ACTION_TYPE'\n | 'INSERT'\n | 'UPDATE'\n | 'DELETE';\n\nexport interface BulkActionMetadata {\n /** Number of items that were successfully processed. */\n totalSuccesses?: number;\n /** Number of items that couldn't be processed. */\n totalFailures?: number;\n /** Number of failures without details because detailed failure threshold was exceeded. */\n undetailedFailures?: number;\n}\n\nexport interface BulkCreateSectionRequest {\n /**\n * List of sections to create. Each section must include `programId`, and all sections must belong to the same program.\n * @minSize 1\n * @maxSize 100\n */\n sections?: Section[];\n /**\n * Deprecated: This field is ignored.\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface BulkCreateSectionResponse {\n /** Results for the bulk create operation. */\n results?: BulkSectionResult[];\n /** Summary of the bulk create operation. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface GetSectionRequest {\n /**\n * ID of the Section to retrieve.\n * @format GUID\n */\n sectionId: string;\n /**\n * Deprecated: Current section responses always include the section title. This field is ignored.\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n descriptionFieldSet?: DescriptionFieldSetWithLiterals;\n /**\n * Deprecated: `total_steps` is always returned. This field is ignored.\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport enum DescriptionFieldSet {\n /** Retained for backward compatibility. Current section responses return the section title. */\n STANDARD = 'STANDARD',\n /** Retained for backward compatibility. Current section responses return the section title. */\n EXTENDED = 'EXTENDED',\n}\n\n/** @enumType */\nexport type DescriptionFieldSetWithLiterals =\n | DescriptionFieldSet\n | 'STANDARD'\n | 'EXTENDED';\n\nexport interface GetSectionResponse {\n /** Retrieved section. */\n section?: Section;\n}\n\nexport interface UpdateSectionRequest {\n /** Section to update. Include `section.id`, `section.revision`, and the fields to update. */\n section?: Section;\n /**\n * Fields to update.\n * @internal\n */\n fieldMask?: string[];\n /**\n * Deprecated: `total_steps` is always returned. This field is ignored.\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface UpdateSectionResponse {\n /** Updated section. */\n section?: Section;\n}\n\nexport interface DeleteSectionRequest {\n /**\n * ID of the section to delete.\n * @format GUID\n */\n sectionId: string;\n}\n\nexport interface DeleteSectionResponse {}\n\nexport interface DeleteAllProgramSectionsRequest {\n /**\n * Program ID to delete sections from.\n * @format GUID\n */\n programId?: string;\n}\n\nexport interface DeleteAllProgramSectionsResponse {\n /** Total number of sections in the program. */\n sectionsTotal?: number;\n /** Number of sections that were deleted successfully. */\n successfulCount?: number;\n /** Number of sections that couldn't be deleted. */\n failedCount?: number;\n}\n\nexport interface QuerySectionsRequest {\n /** WQL expression. */\n query?: CursorQuery;\n /**\n * Deprecated: Current section responses always include the section title. This field is ignored.\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n descriptionFieldSet?: DescriptionFieldSetWithLiterals;\n /**\n * Deprecated: `total_steps` is always returned. This field is ignored.\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface CursorQuery extends CursorQueryPagingMethodOneOf {\n /**\n * Cursor paging options.\n *\n * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n */\n cursorPaging?: CursorPaging;\n /**\n * Filter object.\n *\n * Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).\n */\n filter?: Record<string, any> | null;\n /**\n * Sort object.\n *\n * Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting).\n * @maxSize 5\n */\n sort?: Sorting[];\n}\n\n/** @oneof */\nexport interface CursorQueryPagingMethodOneOf {\n /**\n * Cursor paging options.\n *\n * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n */\n cursorPaging?: CursorPaging;\n}\n\nexport interface Sorting {\n /**\n * Name of the field to sort by.\n * @maxLength 512\n */\n fieldName?: string;\n /** Sort order. */\n order?: SortOrderWithLiterals;\n /**\n * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n *\n * If multiple filters are provided, they are combined with AND operator.\n *\n * Example:\n * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n * @internal\n * @maxSize 10\n */\n selectItemsBy?: Record<string, any>[] | null;\n /**\n * Origin point for geo-distance sorting on a GEO field\n * results are ordered by distance from this point (ASC = nearest first, DESC = farthest first).\n */\n origin?: AddressLocation;\n}\n\nexport enum SortOrder {\n ASC = 'ASC',\n DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface AddressLocation {\n /** Address latitude. */\n latitude?: number | null;\n /** Address longitude. */\n longitude?: number | null;\n}\n\nexport interface CursorPaging {\n /**\n * Maximum number of items to return in the results.\n * @max 100\n */\n limit?: number | null;\n /**\n * Pointer to the next or previous page in the list of results.\n *\n * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n * Not relevant for the first request.\n * @maxLength 16000\n */\n cursor?: string | null;\n}\n\nexport interface QuerySectionsResponse {\n /** Matching sections. */\n sections?: Section[];\n /** Paging metadata. */\n pagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface CursorPagingMetadata {\n /** Number of items returned in current page. */\n count?: number | null;\n /** Cursor strings that point to the next page, previous page, or both. */\n cursors?: Cursors;\n /**\n * Whether there are more pages to retrieve following the current page.\n *\n * + `true`: Another page of results can be retrieved.\n * + `false`: This is the last page.\n */\n hasNext?: boolean | null;\n /**\n * Total number of items matching the filter.\n * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n * @internal\n */\n total?: number | null;\n}\n\nexport interface Cursors {\n /**\n * Cursor string pointing to the next page in the list of results.\n * @maxLength 16000\n */\n next?: string | null;\n /**\n * Cursor pointing to the previous page in the list of results.\n * @maxLength 16000\n */\n prev?: string | null;\n}\n\nexport interface ListSectionsRequest {\n /**\n * Program ID to list sections for.\n * @format GUID\n */\n programId: string;\n /**\n * Deprecated: Current section responses always include the section title. This field is ignored.\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n descriptionFieldSet?: DescriptionFieldSetWithLiterals;\n /**\n * Deprecated: `total_steps` is always returned. This field is ignored.\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface ListSectionsResponse {\n /**\n * Sections in the requested program.\n * @maxSize 1000\n */\n sections?: Section[];\n}\n\nexport interface CloneSectionRequest {\n /**\n * ID of the section to clone.\n * @format GUID\n */\n sectionId: string;\n /**\n * Deprecated: `total_steps` is always returned. This field is ignored.\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface CloneSectionResponse {\n /** Cloned section. */\n section?: Section;\n}\n\nexport interface MoveSectionRequest {\n /**\n * ID of the section to move.\n * @format GUID\n */\n sectionId: string;\n /**\n * ID of the section that the moved section should be placed after. Leave empty to move the section to the beginning of the program.\n * @format GUID\n */\n afterSectionId?: string | null;\n /** Current revision of the section. When provided, it must match the current revision to protect against conflicting updates. */\n revision?: string;\n /**\n * Deprecated: `total_steps` is always returned. This field is ignored.\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface MoveSectionResponse {\n /** Moved section. */\n section?: Section;\n}\n\nexport interface BulkCloneSectionRequest {\n /**\n * ID of the program that was cloned.\n * @format GUID\n */\n prototypeProgramId?: string;\n /**\n * ID of the program created by the clone operation.\n * @format GUID\n */\n clonedProgramId?: string;\n}\n\nexport interface BulkCloneSectionResponse {\n /**\n * ID of the program that was cloned.\n * @format GUID\n */\n prototypeProgramId?: string;\n /**\n * ID of the program created by the clone operation.\n * @format GUID\n */\n clonedProgramId?: string;\n /** Mapping from original section IDs to cloned section IDs. */\n prototypeIdToClonedId?: Record<string, string>;\n}\n\nexport interface RestoreSectionFromTrashRequest {\n /**\n * ID of the section to restore.\n * @format GUID\n */\n sectionId?: string;\n /**\n * Deprecated: `total_steps` is always returned. This field is ignored.\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface RestoreSectionFromTrashResponse {\n /** Restored section. */\n section?: Section;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface Empty {}\n\nexport interface SearchIndexingNotification {\n /** new state of indexing for the site specified in ms_id */\n indexState?: SearchIndexingNotificationStateWithLiterals;\n /** type of the document the notification is targeted for. Applies to all types if not provided */\n documentType?: string | null;\n /** languaInternalDocumentUpdateByFilterOperationge the notification is targeted for. Applies to all languages if not provided */\n language?: string | null;\n /**\n * site for which notification is targeted\n * @minLength 2\n */\n msId?: string | null;\n}\n\nexport enum SearchIndexingNotificationState {\n /** default state */\n Unknown = 'Unknown',\n /** metasite does not require site search indexing */\n Off = 'Off',\n /** metasite requires site search indexing */\n On = 'On',\n}\n\n/** @enumType */\nexport type SearchIndexingNotificationStateWithLiterals =\n | SearchIndexingNotificationState\n | 'Unknown'\n | 'Off'\n | 'On';\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\nexport interface BaseEventMetadata {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface EventMetadata extends BaseEventMetadata {\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n accountInfo?: AccountInfoMetadata;\n}\n\nexport interface AccountInfoMetadata {\n /** ID of the Wix account associated with the event */\n accountId: string;\n /** ID of the Wix site associated with the event. Only included when the event is tied to a specific site. */\n siteId?: string;\n /** ID of the parent Wix account. Only included when 'accountId' belongs to a child account. */\n parentAccountId?: string;\n}\n\nexport interface SectionClonedEnvelope {\n data: SectionCloned;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when a section is cloned.\n * @permissionScope Manage Online Programs\n * @permissionScopeId SCOPE.CHALLENGES.MANAGE\n * @permissionId ONLINE_PROGRAMS.SECTION_READ\n * @webhook\n * @eventType wix.online_programs.v3.section_cloned\n * @slug cloned\n * @documentationMaturity preview\n */\nexport declare function onSectionCloned(\n handler: (event: SectionClonedEnvelope) => void | Promise<void>\n): void;\n\nexport interface SectionCreatedEnvelope {\n entity: Section;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when a section is created.\n * @permissionScope Manage Online Programs\n * @permissionScopeId SCOPE.CHALLENGES.MANAGE\n * @permissionId ONLINE_PROGRAMS.SECTION_READ\n * @webhook\n * @eventType wix.online_programs.v3.section_created\n * @slug created\n * @documentationMaturity preview\n */\nexport declare function onSectionCreated(\n handler: (event: SectionCreatedEnvelope) => void | Promise<void>\n): void;\n\nexport interface SectionDeletedEnvelope {\n entity: Section;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when a section is deleted.\n * @permissionScope Manage Online Programs\n * @permissionScopeId SCOPE.CHALLENGES.MANAGE\n * @permissionId ONLINE_PROGRAMS.SECTION_READ\n * @webhook\n * @eventType wix.online_programs.v3.section_deleted\n * @slug deleted\n * @documentationMaturity preview\n */\nexport declare function onSectionDeleted(\n handler: (event: SectionDeletedEnvelope) => void | Promise<void>\n): void;\n\nexport interface SectionUpdatedEnvelope {\n entity: Section;\n metadata: EventMetadata;\n /** @hidden */\n modifiedFields: Record<string, any>;\n}\n\n/**\n * Triggered when a section is updated.\n * @permissionScope Manage Online Programs\n * @permissionScopeId SCOPE.CHALLENGES.MANAGE\n * @permissionId ONLINE_PROGRAMS.SECTION_READ\n * @webhook\n * @eventType wix.online_programs.v3.section_updated\n * @slug updated\n * @documentationMaturity preview\n */\nexport declare function onSectionUpdated(\n handler: (event: SectionUpdatedEnvelope) => void | Promise<void>\n): void;\n\n/**\n * Creates a section.\n *\n * The section is added to the program identified by `section.programId`. Specify that program ID in the request. Set `section.description.title` for the section title. The stored ordering value is assigned automatically.\n *\n * A program can contain up to 1,000 sections. This call fails if creating the section would exceed that limit.\n *\n * To create multiple sections in a single API call, call [Bulk Create Sections](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/bulk-create-sections).\n * @param section - Section to create. Must include `section.programId`.\n * @public\n * @documentationMaturity preview\n * @requiredField section\n * @requiredField section.programId\n * @permissionId ONLINE_PROGRAMS.SECTION_CREATE\n * @applicableIdentity APP\n * @returns Created section.\n * @fqn wix.onlineprograms.sections.v3.SectionsService.CreateSection\n */\nexport async function createSection(\n section: NonNullablePaths<Section, `programId`, 0>,\n options?: CreateSectionOptions\n): Promise<\n NonNullablePaths<\n Section,\n `programId` | `description.title` | `ordering` | `delayInDays`,\n 1\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n section: section,\n fields: options?.fields,\n });\n\n const reqOpts = ambassadorWixOnlineProgramsV3Section.createSection(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.section!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { section: '$[0]', fields: '$[1].fields' },\n singleArgumentUnchanged: false,\n },\n ['section', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CreateSectionOptions {\n /**\n * Deprecated: `total_steps` is always returned. This field is ignored.\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\n/**\n * Creates up to 100 sections in a single API call.\n *\n * All sections in the request must include `programId` and belong to the same program. Set `description.title` for each section title. The stored ordering values are assigned automatically.\n *\n * A program can contain up to 1,000 sections. This call fails if creating the requested sections would exceed that limit.\n *\n * To create a single section, call [Create Section](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/create-section).\n * @param sections - List of sections to create. Each section must include `programId`, and all sections must belong to the same program.\n * @public\n * @documentationMaturity preview\n * @requiredField sections\n * @requiredField sections.programId\n * @permissionId ONLINE_PROGRAMS.SECTION_CREATE\n * @applicableIdentity APP\n * @fqn wix.onlineprograms.sections.v3.SectionsService.BulkCreateSections\n */\nexport async function bulkCreateSections(\n sections: NonNullablePaths<Section, `programId`, 0>[],\n options?: BulkCreateSectionsOptions\n): Promise<\n NonNullablePaths<\n BulkCreateSectionsResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `results.${number}.action`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n sections: sections,\n fields: options?.fields,\n });\n\n const reqOpts =\n ambassadorWixOnlineProgramsV3Section.bulkCreateSections(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { sections: '$[0]', fields: '$[1].fields' },\n singleArgumentUnchanged: false,\n },\n ['sections', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkCreateSectionsOptions {\n /**\n * Deprecated: This field is ignored.\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\n/**\n * Retrieves a section.\n * @param sectionId - ID of the Section to retrieve.\n * @public\n * @documentationMaturity preview\n * @requiredField sectionId\n * @permissionId ONLINE_PROGRAMS.SECTION_READ\n * @applicableIdentity APP\n * @returns Retrieved section.\n * @fqn wix.onlineprograms.sections.v3.SectionsService.GetSection\n */\nexport async function getSection(\n sectionId: string,\n options?: GetSectionOptions\n): Promise<\n NonNullablePaths<\n Section,\n `programId` | `description.title` | `ordering` | `delayInDays`,\n 1\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n sectionId: sectionId,\n descriptionFieldSet: options?.descriptionFieldSet,\n fields: options?.fields,\n });\n\n const reqOpts = ambassadorWixOnlineProgramsV3Section.getSection(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.section!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n sectionId: '$[0]',\n descriptionFieldSet: '$[1].descriptionFieldSet',\n fields: '$[1].fields',\n },\n singleArgumentUnchanged: false,\n },\n ['sectionId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GetSectionOptions {\n /**\n * Deprecated: Current section responses always include the section title. This field is ignored.\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n descriptionFieldSet?: DescriptionFieldSetWithLiterals;\n /**\n * Deprecated: `total_steps` is always returned. This field is ignored.\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\n/**\n * Updates a section.\n *\n * Each time the section is updated, `revision` increments by 1. The current `revision` must be passed when updating the section. This ensures you're working with the latest section and prevents unintended overwrites.\n *\n * Use this method to update section content and settings. To reorder a section, call [Move Section](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/move-section).\n * @param _id - Section ID.\n * @public\n * @documentationMaturity preview\n * @requiredField _id\n * @requiredField options.section.revision\n * @permissionId ONLINE_PROGRAMS.SECTION_UPDATE\n * @applicableIdentity APP\n * @returns Updated section.\n * @fqn wix.onlineprograms.sections.v3.SectionsService.UpdateSection\n */\nexport async function updateSection(\n _id: string,\n options?: NonNullablePaths<UpdateSectionOptions, `section.revision`, 1>\n): Promise<\n NonNullablePaths<\n Section,\n `programId` | `description.title` | `ordering` | `delayInDays`,\n 1\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n section: { ...options?.section, id: _id },\n fields: options?.fields,\n });\n\n const reqOpts = ambassadorWixOnlineProgramsV3Section.updateSection(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.section!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: { section: '$[1].section' },\n explicitPathsToArguments: {\n 'section.id': '$[0]',\n fields: '$[1].fields',\n },\n singleArgumentUnchanged: false,\n },\n ['_id', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateSectionOptions {\n section?: {\n /**\n * Section ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the section is updated. To prevent conflicting changes, the current `revision` must be passed when updating the section.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the section was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the section was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Program ID of the parent program. Provide it when creating a section. After creation, this value can't be changed.\n * @format GUID\n * @readonly\n * @immutable\n */\n programId?: string;\n /** Section title. */\n description?: Description;\n /**\n * @internal\n * @deprecated\n * @targetRemovalDate 2026-12-01\n */\n state?: StateWithLiterals;\n /**\n * Total number of steps in the section.\n * @readonly\n */\n totalSteps?: number | null;\n /**\n * Position rank used to order sections within a program. To reorder sections, call Move Section.\n * @readonly\n */\n ordering?: number;\n /**\n * Number of days before the section becomes available. The count starts from the program's start date for scheduled programs, or from the participant's enrollment date for self-paced ones. Someone joining a scheduled program after it began may find several sections already open. Use `0` for a section available from the start.\n * @max 5000\n */\n delayInDays?: number;\n /** Custom field data for the section. [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls. */\n extendedFields?: ExtendedFields;\n };\n /**\n * Deprecated: `total_steps` is always returned. This field is ignored.\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\n/**\n * Permanently deletes a section from the public API.\n *\n * Deleted sections aren't returned by standard retrieval and list methods. The public API doesn't expose trash-bin or restore operations.\n * @param sectionId - ID of the section to delete.\n * @public\n * @documentationMaturity preview\n * @requiredField sectionId\n * @permissionId ONLINE_PROGRAMS.SECTION_DELETE\n * @applicableIdentity APP\n * @fqn wix.onlineprograms.sections.v3.SectionsService.DeleteSection\n */\nexport async function deleteSection(sectionId: string): Promise<void> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n sectionId: sectionId,\n });\n\n const reqOpts = ambassadorWixOnlineProgramsV3Section.deleteSection(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { sectionId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['sectionId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves a list of up to 1,000 sections, given the provided paging, filtering, and sorting.\n *\n * Use this method when you need to filter sections, apply custom sorting or paging, or query across programs.\n * When you know the program ID and need all sections in program order, call [List Sections](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/list-sections).\n *\n * Query Sections runs with these defaults, which you can override:\n *\n * - `createdDate` is sorted in `DESC` order.\n * - `paging.limit` is `1000`.\n * - `paging.offset` is `0`.\n *\n * Supported filter fields are `programId`, `id`, and `delayInDays`.\n * Supported sorting fields are `id`, `delayInDays`, `createdDate`, and `ordering`. When sorting by a field other than `programId`, also filter by `programId`.\n * Section extended fields aren't supported for filtering or sorting. Queries that reference them are rejected.\n *\n * To learn about working with Query methods, see [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language), [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging), and [Field Projection](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-field-projection).\n * @public\n * @documentationMaturity preview\n * @permissionId ONLINE_PROGRAMS.SECTION_READ\n * @applicableIdentity APP\n * @fqn wix.onlineprograms.sections.v3.SectionsService.QuerySections\n */\nexport function querySections(\n options?: QuerySectionsOptions\n): SectionsQueryBuilder {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n return queryBuilder<\n Section,\n 'CURSOR',\n QuerySectionsRequest,\n QuerySectionsResponse\n >({\n func: async (payload: QuerySectionsRequest) => {\n const reqOpts = ambassadorWixOnlineProgramsV3Section.querySections({\n ...payload,\n ...(options ?? {}),\n });\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n return result;\n } catch (err) {\n sideEffects?.onError?.(err);\n throw err;\n }\n },\n requestTransformer: (query: QuerySectionsRequest['query']) => {\n const args = [query, options] as [\n QuerySectionsRequest['query'],\n QuerySectionsOptions\n ];\n return renameKeysFromSDKRequestToRESTRequest({\n ...args?.[1],\n query: args?.[0],\n });\n },\n responseTransformer: ({ data }: HttpResponse<QuerySectionsResponse>) => {\n const transformedData = renameKeysFromRESTResponseToSDKResponse(\n transformPaths(data, [])\n );\n\n return {\n items: transformedData?.sections,\n pagingMetadata: transformedData?.pagingMetadata,\n };\n },\n errorTransformer: (err: unknown) => {\n const transformedError = sdkTransformError(err, {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n });\n\n throw transformedError;\n },\n pagingMethod: 'CURSOR',\n transformationPaths: {},\n });\n}\n\nexport interface QuerySectionsOptions {\n /**\n * Deprecated: Current section responses always include the section title. This field is ignored.\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n descriptionFieldSet?: DescriptionFieldSetWithLiterals | undefined;\n /**\n * Deprecated: `total_steps` is always returned. This field is ignored.\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[] | undefined;\n}\n\ninterface QueryCursorResult {\n cursors: Cursors;\n hasNext: () => boolean;\n hasPrev: () => boolean;\n length: number;\n pageSize: number;\n}\n\nexport interface SectionsQueryResult extends QueryCursorResult {\n items: Section[];\n query: SectionsQueryBuilder;\n next: () => Promise<SectionsQueryResult>;\n prev: () => Promise<SectionsQueryResult>;\n}\n\nexport interface SectionsQueryBuilder {\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n eq: (\n propertyName: '_id' | 'programId' | 'delayInDays',\n value: any\n ) => SectionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n ne: (propertyName: '_id' | 'delayInDays', value: any) => SectionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n ge: (propertyName: '_id' | 'delayInDays', value: any) => SectionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n gt: (propertyName: '_id' | 'delayInDays', value: any) => SectionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n le: (propertyName: '_id' | 'delayInDays', value: any) => SectionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n lt: (propertyName: '_id' | 'delayInDays', value: any) => SectionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `string`.\n * @param string - String to compare against. Case-insensitive.\n * @documentationMaturity preview\n */\n startsWith: (propertyName: '_id', value: string) => SectionsQueryBuilder;\n /** @documentationMaturity preview */\n in: (propertyName: '_id' | 'delayInDays', value: any) => SectionsQueryBuilder;\n /** @documentationMaturity preview */\n exists: (\n propertyName: '_id' | 'delayInDays',\n value: boolean\n ) => SectionsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n * @documentationMaturity preview\n */\n ascending: (\n ...propertyNames: Array<\n '_id' | '_createdDate' | 'state' | 'ordering' | 'delayInDays'\n >\n ) => SectionsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n * @documentationMaturity preview\n */\n descending: (\n ...propertyNames: Array<\n '_id' | '_createdDate' | 'state' | 'ordering' | 'delayInDays'\n >\n ) => SectionsQueryBuilder;\n /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n * @documentationMaturity preview\n */\n limit: (limit: number) => SectionsQueryBuilder;\n /** @param cursor - A pointer to specific record\n * @documentationMaturity preview\n */\n skipTo: (cursor: string) => SectionsQueryBuilder;\n /** @documentationMaturity preview */\n find: () => Promise<SectionsQueryResult>;\n}\n\n/**\n * @hidden\n * @fqn wix.onlineprograms.sections.v3.SectionsService.QuerySections\n * @requiredField query\n */\nexport async function typedQuerySections(\n query: SectionQuery,\n options?: QuerySectionsOptions\n): Promise<\n NonNullablePaths<\n QuerySectionsResponse,\n | `sections`\n | `sections.${number}.programId`\n | `sections.${number}.description.title`\n | `sections.${number}.ordering`\n | `sections.${number}.delayInDays`,\n 3\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n query: query,\n ...options,\n });\n\n const reqOpts = ambassadorWixOnlineProgramsV3Section.querySections(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['query', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface SectionQuerySpec extends QuerySpec {\n paging: 'cursor';\n wql: [\n {\n fields: ['programId'];\n operators: ['$eq'];\n sort: 'NONE';\n },\n {\n fields: ['_id', 'delayInDays'];\n operators: '*';\n sort: 'BOTH';\n },\n {\n fields: ['_createdDate', 'ordering'];\n operators: [];\n sort: 'BOTH';\n }\n ];\n}\n\nexport type CommonQueryWithEntityContext = QuerySdkType<\n Section,\n SectionQuerySpec\n>;\nexport type SectionQuery = {\n /** \n Cursor paging options.\n\n Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging). \n */\n cursorPaging?: {\n /** \n Maximum number of items to return in the results. \n @max: 100 \n */\n limit?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['limit']\n | null;\n /** \n Pointer to the next or previous page in the list of results.\n\n Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n Not relevant for the first request. \n @maxLength: 16000 \n */\n cursor?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['cursor']\n | null;\n };\n /** \n Filter object.\n\n Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters). \n */\n filter?: CommonQueryWithEntityContext['filter'] | null;\n /** \n Sort object.\n\n Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting). \n @maxSize: 5 \n */\n sort?: {\n /** \n Name of the field to sort by. \n @maxLength: 512 \n */\n fieldName?: NonNullable<\n CommonQueryWithEntityContext['sort']\n >[number]['fieldName'];\n /** \n Sort order. \n */\n order?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['order'];\n /** \n When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n\n If multiple filters are provided, they are combined with AND operator.\n\n Example:\n Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] } \n @internal: undefined,\n @maxSize: 10 \n */\n selectItemsBy?:\n | NonNullable<\n CommonQueryWithEntityContext['sort']\n >[number]['selectItemsBy']\n | null;\n /** \n Origin point for geo-distance sorting on a GEO field\n results are ordered by distance from this point (ASC = nearest first, DESC = farthest first). \n */\n origin?: NonNullable<\n CommonQueryWithEntityContext['sort']\n >[number]['origin'];\n }[];\n};\n\nexport const utils = {\n query: /*#__PURE__*/ createQueryUtils<\n Section,\n SectionQuerySpec,\n SectionQuery\n >(),\n};\n\n/**\n * Retrieves all sections in a program.\n *\n * Use this method when you know the program ID and need all sections in program order.\n *\n * Results are sorted by `ordering` in ascending order.\n *\n * To filter sections, apply custom sorting or paging, or query across programs, call [Query Sections](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/query-sections).\n * @param programId - Program ID to list sections for.\n * @public\n * @documentationMaturity preview\n * @requiredField programId\n * @permissionId ONLINE_PROGRAMS.SECTION_READ\n * @applicableIdentity APP\n * @fqn wix.onlineprograms.sections.v3.SectionsService.ListSections\n */\nexport async function listSections(\n programId: string,\n options?: ListSectionsOptions\n): Promise<\n NonNullablePaths<\n ListSectionsResponse,\n | `sections`\n | `sections.${number}.programId`\n | `sections.${number}.description.title`\n | `sections.${number}.ordering`\n | `sections.${number}.delayInDays`,\n 3\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n programId: programId,\n descriptionFieldSet: options?.descriptionFieldSet,\n fields: options?.fields,\n });\n\n const reqOpts = ambassadorWixOnlineProgramsV3Section.listSections(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n programId: '$[0]',\n descriptionFieldSet: '$[1].descriptionFieldSet',\n fields: '$[1].fields',\n },\n singleArgumentUnchanged: false,\n },\n ['programId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ListSectionsOptions {\n /**\n * Deprecated: Current section responses always include the section title. This field is ignored.\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n descriptionFieldSet?: DescriptionFieldSetWithLiterals;\n /**\n * Deprecated: `total_steps` is always returned. This field is ignored.\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\n/**\n * Clones a section.\n *\n * The cloned section is added to the same program after the current last section. Translation content and extended field data are copied to the cloned section.\n *\n * This method triggers both a Section Created lifecycle event for the new section and a Section Cloned action event containing the source and cloned sections.\n *\n * Steps are cloned asynchronously after this call returns. The `section.total_steps` value in the response may not reflect the eventual number of cloned steps. Until cloning finishes, Get, List, and Query calls may return a lower actual step count.\n *\n * A program can contain up to 1,000 sections. This call fails if cloning the section would exceed that limit.\n * @param sectionId - ID of the section to clone.\n * @public\n * @documentationMaturity preview\n * @requiredField sectionId\n * @permissionId ONLINE_PROGRAMS.SECTION_CREATE\n * @applicableIdentity APP\n * @fqn wix.onlineprograms.sections.v3.SectionsService.CloneSection\n */\nexport async function cloneSection(\n sectionId: string,\n options?: CloneSectionOptions\n): Promise<\n NonNullablePaths<\n CloneSectionResponse,\n | `section.programId`\n | `section.description.title`\n | `section.ordering`\n | `section.delayInDays`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n sectionId: sectionId,\n fields: options?.fields,\n });\n\n const reqOpts = ambassadorWixOnlineProgramsV3Section.cloneSection(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { sectionId: '$[0]', fields: '$[1].fields' },\n singleArgumentUnchanged: false,\n },\n ['sectionId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CloneSectionOptions {\n /**\n * Deprecated: `total_steps` is always returned. This field is ignored.\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\n/**\n * Moves a section within its program.\n *\n * Each time the section is updated, its `revision` increments by 1. When provided, `revision` must match the current section revision to protect against conflicting updates.\n *\n * If `afterSectionId` isn't specified, the section is moved to the beginning of the program. The stored ordering value is recalculated automatically.\n * @param sectionId - ID of the section to move.\n * @public\n * @documentationMaturity preview\n * @requiredField sectionId\n * @permissionId ONLINE_PROGRAMS.SECTION_UPDATE\n * @applicableIdentity APP\n * @fqn wix.onlineprograms.sections.v3.SectionsService.MoveSection\n */\nexport async function moveSection(\n sectionId: string,\n options?: MoveSectionOptions\n): Promise<\n NonNullablePaths<\n MoveSectionResponse,\n | `section.programId`\n | `section.description.title`\n | `section.ordering`\n | `section.delayInDays`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n sectionId: sectionId,\n afterSectionId: options?.afterSectionId,\n revision: options?.revision,\n fields: options?.fields,\n });\n\n const reqOpts = ambassadorWixOnlineProgramsV3Section.moveSection(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n sectionId: '$[0]',\n afterSectionId: '$[1].afterSectionId',\n revision: '$[1].revision',\n fields: '$[1].fields',\n },\n singleArgumentUnchanged: false,\n },\n ['sectionId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface MoveSectionOptions {\n /**\n * ID of the section that the moved section should be placed after. Leave empty to move the section to the beginning of the program.\n * @format GUID\n */\n afterSectionId?: string | null;\n /** Current revision of the section. When provided, it must match the current revision to protect against conflicting updates. */\n revision?: string;\n /**\n * Deprecated: `total_steps` is always returned. This field is ignored.\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKFloatToRESTFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformSDKFieldMaskToRESTFieldMask } from '@wix/sdk-runtime/transformations/field-mask';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixOnlineprogramsSectionsV3SectionsServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'bo._base_domain_': [\n {\n srcPath: '/program-sections-service',\n destPath: '',\n },\n ],\n 'wixbo.ai': [\n {\n srcPath: '/program-sections-service',\n destPath: '',\n },\n ],\n 'wix-bo.com': [\n {\n srcPath: '/program-sections-service',\n destPath: '',\n },\n ],\n 'api._api_base_domain_': [\n {\n srcPath: '/program-sections-service',\n destPath: '',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/program-sections-service',\n destPath: '',\n },\n ],\n 'www._base_domain_': [\n {\n srcPath: '/_api/program-sections-service',\n destPath: '',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/program-sections-service',\n destPath: '',\n },\n {\n srcPath: '/program-sections-service',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/program-sections-service',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/program-sections-service',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/program-sections-service',\n destPath: '',\n },\n ],\n 'editor.wixapps.net': [\n {\n srcPath: '/_api/program-sections-service',\n destPath: '',\n },\n {\n srcPath: '/program-sections-service',\n destPath: '',\n },\n ],\n _: [\n {\n srcPath: '/program-sections-service',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/program-sections-service',\n destPath: '',\n },\n {\n srcPath: '/online-programs/v3/sections',\n destPath: '/v3/sections',\n },\n {\n srcPath: '/online-programs/v3/bulk/sections',\n destPath: '/v3/bulk/sections',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_online-programs_sections';\n\n/**\n * Creates a section.\n *\n * The section is added to the program identified by `section.programId`. Specify that program ID in the request. Set `section.description.title` for the section title. The stored ordering value is assigned automatically.\n *\n * A program can contain up to 1,000 sections. This call fails if creating the section would exceed that limit.\n *\n * To create multiple sections in a single API call, call [Bulk Create Sections](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/bulk-create-sections).\n */\nexport function createSection(payload: object): RequestOptionsFactory<any> {\n function __createSection({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'section.createdDate' },\n { path: 'section.updatedDate' },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [{ path: 'section.ordering' }],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.online_programs.v3.section',\n method: 'POST' as any,\n methodFqn: 'wix.onlineprograms.sections.v3.SectionsService.CreateSection',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixOnlineprogramsSectionsV3SectionsServiceUrl({\n protoPath: '/v3/sections',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'section.createdDate' },\n { path: 'section.updatedDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [{ path: 'section.ordering' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createSection;\n}\n\n/**\n * Creates up to 100 sections in a single API call.\n *\n * All sections in the request must include `programId` and belong to the same program. Set `description.title` for each section title. The stored ordering values are assigned automatically.\n *\n * A program can contain up to 1,000 sections. This call fails if creating the requested sections would exceed that limit.\n *\n * To create a single section, call [Create Section](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/create-section).\n */\nexport function bulkCreateSections(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkCreateSections({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'sections.createdDate' },\n { path: 'sections.updatedDate' },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [{ path: 'sections.ordering' }],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.online_programs.v3.section',\n method: 'POST' as any,\n methodFqn:\n 'wix.onlineprograms.sections.v3.SectionsService.BulkCreateSections',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixOnlineprogramsSectionsV3SectionsServiceUrl({\n protoPath: '/v3/bulk/sections/create',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'results.item.createdDate' },\n { path: 'results.item.updatedDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [{ path: 'results.item.ordering' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __bulkCreateSections;\n}\n\n/** Retrieves a section. */\nexport function getSection(payload: object): RequestOptionsFactory<any> {\n function __getSection({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.online_programs.v3.section',\n method: 'GET' as any,\n methodFqn: 'wix.onlineprograms.sections.v3.SectionsService.GetSection',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixOnlineprogramsSectionsV3SectionsServiceUrl({\n protoPath: '/v3/sections/{sectionId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'section.createdDate' },\n { path: 'section.updatedDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [{ path: 'section.ordering' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getSection;\n}\n\n/**\n * Updates a section.\n *\n * Each time the section is updated, `revision` increments by 1. The current `revision` must be passed when updating the section. This ensures you're working with the latest section and prevents unintended overwrites.\n *\n * Use this method to update section content and settings. To reorder a section, call [Move Section](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/move-section).\n */\nexport function updateSection(payload: object): RequestOptionsFactory<any> {\n function __updateSection({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFieldMaskToRESTFieldMask,\n paths: [{ path: 'fieldMask' }],\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'section.createdDate' },\n { path: 'section.updatedDate' },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [{ path: 'section.ordering' }],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.online_programs.v3.section',\n method: 'PATCH' as any,\n methodFqn: 'wix.onlineprograms.sections.v3.SectionsService.UpdateSection',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixOnlineprogramsSectionsV3SectionsServiceUrl({\n protoPath: '/v3/sections/{section.id}',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'section.createdDate' },\n { path: 'section.updatedDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [{ path: 'section.ordering' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateSection;\n}\n\n/**\n * Permanently deletes a section from the public API.\n *\n * Deleted sections aren't returned by standard retrieval and list methods. The public API doesn't expose trash-bin or restore operations.\n */\nexport function deleteSection(payload: object): RequestOptionsFactory<any> {\n function __deleteSection({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.online_programs.v3.section',\n method: 'DELETE' as any,\n methodFqn: 'wix.onlineprograms.sections.v3.SectionsService.DeleteSection',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixOnlineprogramsSectionsV3SectionsServiceUrl({\n protoPath: '/v3/sections/{sectionId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __deleteSection;\n}\n\n/**\n * Retrieves a list of up to 1,000 sections, given the provided paging, filtering, and sorting.\n *\n * Use this method when you need to filter sections, apply custom sorting or paging, or query across programs.\n * When you know the program ID and need all sections in program order, call [List Sections](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/list-sections).\n *\n * Query Sections runs with these defaults, which you can override:\n *\n * - `createdDate` is sorted in `DESC` order.\n * - `paging.limit` is `1000`.\n * - `paging.offset` is `0`.\n *\n * Supported filter fields are `programId`, `id`, and `delayInDays`.\n * Supported sorting fields are `id`, `delayInDays`, `createdDate`, and `ordering`. When sorting by a field other than `programId`, also filter by `programId`.\n * Section extended fields aren't supported for filtering or sorting. Queries that reference them are rejected.\n *\n * To learn about working with Query methods, see [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language), [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging), and [Field Projection](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-field-projection).\n */\nexport function querySections(payload: object): RequestOptionsFactory<any> {\n function __querySections({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n { path: 'query.sort.origin.latitude' },\n { path: 'query.sort.origin.longitude' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.online_programs.v3.section',\n method: 'POST' as any,\n methodFqn: 'wix.onlineprograms.sections.v3.SectionsService.QuerySections',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixOnlineprogramsSectionsV3SectionsServiceUrl({\n protoPath: '/v3/sections/query',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'sections.createdDate' },\n { path: 'sections.updatedDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [{ path: 'sections.ordering' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __querySections;\n}\n\n/**\n * Retrieves all sections in a program.\n *\n * Use this method when you know the program ID and need all sections in program order.\n *\n * Results are sorted by `ordering` in ascending order.\n *\n * To filter sections, apply custom sorting or paging, or query across programs, call [Query Sections](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/query-sections).\n */\nexport function listSections(payload: object): RequestOptionsFactory<any> {\n function __listSections({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.online_programs.v3.section',\n method: 'GET' as any,\n methodFqn: 'wix.onlineprograms.sections.v3.SectionsService.ListSections',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixOnlineprogramsSectionsV3SectionsServiceUrl({\n protoPath: '/v3/sections',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'sections.createdDate' },\n { path: 'sections.updatedDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [{ path: 'sections.ordering' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __listSections;\n}\n\n/**\n * Clones a section.\n *\n * The cloned section is added to the same program after the current last section. Translation content and extended field data are copied to the cloned section.\n *\n * This method triggers both a Section Created lifecycle event for the new section and a Section Cloned action event containing the source and cloned sections.\n *\n * Steps are cloned asynchronously after this call returns. The `section.total_steps` value in the response may not reflect the eventual number of cloned steps. Until cloning finishes, Get, List, and Query calls may return a lower actual step count.\n *\n * A program can contain up to 1,000 sections. This call fails if cloning the section would exceed that limit.\n */\nexport function cloneSection(payload: object): RequestOptionsFactory<any> {\n function __cloneSection({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.online_programs.v3.section',\n method: 'POST' as any,\n methodFqn: 'wix.onlineprograms.sections.v3.SectionsService.CloneSection',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixOnlineprogramsSectionsV3SectionsServiceUrl({\n protoPath: '/v3/sections/{sectionId}/clone',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'section.createdDate' },\n { path: 'section.updatedDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [{ path: 'section.ordering' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __cloneSection;\n}\n\n/**\n * Moves a section within its program.\n *\n * Each time the section is updated, its `revision` increments by 1. When provided, `revision` must match the current section revision to protect against conflicting updates.\n *\n * If `afterSectionId` isn't specified, the section is moved to the beginning of the program. The stored ordering value is recalculated automatically.\n */\nexport function moveSection(payload: object): RequestOptionsFactory<any> {\n function __moveSection({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.online_programs.v3.section',\n method: 'PATCH' as any,\n methodFqn: 'wix.onlineprograms.sections.v3.SectionsService.MoveSection',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixOnlineprogramsSectionsV3SectionsServiceUrl({\n protoPath: '/v3/sections/move',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'section.createdDate' },\n { path: 'section.updatedDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [{ path: 'section.ordering' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __moveSection;\n}\n"],"mappings":"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","names":["payload","transformPaths","State","Enum","RequestedFields","BulkActionType","DescriptionFieldSet","SortOrder","SearchIndexingNotificationState","WebhookIdentityType","createSection","bulkCreateSections","getSection","updateSection","deleteSection","querySections","listSections","cloneSection","moveSection"]}
1
+ {"version":3,"sources":["../../src/online-programs-v3-section-sections.universal.ts","../../src/online-programs-v3-section-sections.http.ts"],"sourcesContent":["import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport { queryBuilder } from '@wix/sdk-runtime/query-builder';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport {\n HttpClient,\n HttpResponse,\n NonNullablePaths,\n QuerySpec,\n Query as QuerySdkType,\n} from '@wix/sdk-types';\nimport * as ambassadorWixOnlineProgramsV3Section from './online-programs-v3-section-sections.http.js';\n// @ts-ignore\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { createQueryUtils } from '@wix/sdk-runtime/query-builder-utils';\n\n/**\n * A section groups related steps within an online program.\n *\n * Sections have no separate draft or publish lifecycle. They can be reordered and made available after a delay counted from the program's start date for scheduled programs, or from the participant's enrollment date for self-paced programs.\n */\nexport interface Section {\n /**\n * Section ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the section is updated. To prevent conflicting changes, the current `revision` must be passed when updating the section.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the section was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the section was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Program ID of the parent program. Provide it when creating a section. After creation, this value can't be changed.\n * @format GUID\n * @readonly\n * @immutable\n */\n programId?: string;\n /** Section title. */\n description?: Description;\n /**\n * @internal\n * @deprecated\n * @targetRemovalDate 2026-12-01\n */\n state?: StateWithLiterals;\n /**\n * Total number of steps in the section.\n * @readonly\n */\n totalSteps?: number | null;\n /**\n * Position rank used to order sections within a program. To reorder sections, call Move Section.\n * @readonly\n */\n ordering?: number;\n /**\n * Number of days before the section becomes available. The count starts from the program's start date for scheduled programs, or from the participant's enrollment date for self-paced ones. Someone joining a scheduled program after it began may find several sections already open. Use `0` for a section available from the start.\n * @max 5000\n */\n delayInDays?: number;\n /** Custom field data for the section. [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls. */\n extendedFields?: ExtendedFields;\n}\n\nexport interface Description {\n /** @maxLength 500 */\n title?: string;\n}\n\nexport enum State {\n /** Retained for backward compatibility. Doesn't affect whether the section is served. */\n DRAFT = 'DRAFT',\n /** Default state for new sections. */\n PUBLISHED = 'PUBLISHED',\n}\n\n/** @enumType */\nexport type StateWithLiterals = State | 'DRAFT' | 'PUBLISHED';\n\nexport interface ExtendedFields {\n /**\n * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n * The value of each key is structured according to the schema defined when the extended fields were configured.\n *\n * You can only access fields for which you have the appropriate permissions.\n *\n * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n */\n namespaces?: Record<string, Record<string, any>>;\n}\n\nexport interface UpdateDocumentsEvent\n extends UpdateDocumentsEventOperationOneOf {\n /** insert/update documents */\n update?: DocumentUpdateOperation;\n /** delete by document ids */\n deleteByIds?: DeleteByIdsOperation;\n /** delete documents matching filter */\n deleteByFilter?: DeleteByFilterOperation;\n /** update documents matching filter */\n updateByFilter?: UpdateByFilterOperation;\n /** update only existing documents */\n updateExisting?: UpdateExistingOperation;\n /**\n * application which owns documents\n * @minLength 2\n */\n appDefId?: string | null;\n /**\n * type of the documents\n * @minLength 2\n */\n documentType?: string | null;\n /**\n * language of the documents\n * @minLength 2\n */\n language?: string | null;\n /**\n * site documents belong to\n * @minLength 2\n */\n msId?: string | null;\n}\n\n/** @oneof */\nexport interface UpdateDocumentsEventOperationOneOf {\n /** insert/update documents */\n update?: DocumentUpdateOperation;\n /** delete by document ids */\n deleteByIds?: DeleteByIdsOperation;\n /** delete documents matching filter */\n deleteByFilter?: DeleteByFilterOperation;\n /** update documents matching filter */\n updateByFilter?: UpdateByFilterOperation;\n /** update only existing documents */\n updateExisting?: UpdateExistingOperation;\n}\n\nexport interface DocumentUpdateOperation {\n /** documents to index or update */\n documents?: IndexDocument[];\n}\n\nexport interface IndexDocument {\n /** data bag with non-searchable fields (url, image) */\n payload?: DocumentPayload;\n /** what type of users should documents be visible to */\n exposure?: EnumWithLiterals;\n /** document with mandatory fields (id, title, description) and with fields specific to the type of the document */\n document?: Record<string, any> | null;\n /** what member groups is the document exposed to. Used only with GROUP_PROTECTED exposure */\n permittedMemberGroups?: string[];\n /** if true SEO is disabled for this document */\n seoHidden?: boolean | null;\n /** if true the page is a lightbox popup */\n isPopup?: boolean | null;\n}\n\nexport interface DocumentPayload {\n /** url of the page representing the document */\n url?: string | null;\n /** image which represents the document */\n documentImage?: DocumentImage;\n}\n\nexport interface DocumentImage {\n /** the name of the image */\n name?: string;\n /** the width of the image */\n width?: number;\n /** the height of the image */\n height?: number;\n}\n\nexport enum Enum {\n /** Default value. Means that permission not set */\n UNKNOWN = 'UNKNOWN',\n /** Protected exposure. Exposed to members and owners */\n PROTECTED = 'PROTECTED',\n /** Private exposure. Exposed to owners */\n PRIVATE = 'PRIVATE',\n /** Public exposure. Visible to everyone */\n PUBLIC = 'PUBLIC',\n /** Used for partial updates, to state that exposure is not changing */\n UNCHANGED = 'UNCHANGED',\n /** Protected to members of permitted groups and owners */\n GROUP_PROTECTED = 'GROUP_PROTECTED',\n}\n\n/** @enumType */\nexport type EnumWithLiterals =\n | Enum\n | 'UNKNOWN'\n | 'PROTECTED'\n | 'PRIVATE'\n | 'PUBLIC'\n | 'UNCHANGED'\n | 'GROUP_PROTECTED';\n\nexport interface DeleteByIdsOperation {\n /** ids of the documents to delete */\n documentIds?: string[];\n}\n\nexport interface DeleteByFilterOperation {\n /** documents matching this filter wil be deleted. only filterable documents defined in document_type can be used for filtering */\n filter?: Record<string, any> | null;\n}\n\nexport interface UpdateByFilterOperation {\n /** documents matching this filter will be updated */\n filter?: Record<string, any> | null;\n /** partial document to apply */\n document?: IndexDocument;\n}\n\nexport interface UpdateExistingOperation {\n /** documents to update */\n documents?: IndexDocument[];\n}\n\n/** Payload for the Section Updated event. */\nexport interface SectionUpdated {\n /** Section before the update. */\n previous?: Section;\n /** Section after the update. */\n current?: Section;\n}\n\n/** Payload for the Section Deleted event. */\nexport interface SectionDeleted {\n /** Section that was deleted. */\n section?: Section;\n}\n\n/** Payload for the Section Cloned event. */\nexport interface SectionCloned {\n /** Source section used for cloning. */\n prototype?: Section;\n /** Cloned section. Steps are cloned asynchronously after this event is sent, so `totalSteps` may not reflect the eventual number of cloned steps. Retrieve the section later for the current count. */\n cloned?: Section;\n}\n\nexport interface SectionMoved {\n /**\n * ID of the moved section.\n * @format GUID\n */\n sectionId?: string;\n /** New ordering rank assigned to the moved section. */\n newSectionPositionRank?: number;\n}\n\nexport interface CreateSectionRequest {\n /** Section to create. Must include `section.programId`. */\n section: Section;\n /**\n * Deprecated: `total_steps` is always returned. This field is ignored.\n * @internal\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport enum RequestedFields {\n /**\n * return total number of steps in this section.\n * @internal\n */\n TOTAL_STEPS = 'TOTAL_STEPS',\n}\n\n/** @enumType */\nexport type RequestedFieldsWithLiterals = RequestedFields;\n\nexport interface CreateSectionResponse {\n /** Created section. */\n section?: Section;\n}\n\nexport interface BulkCreateSectionsRequest {\n /**\n * List of sections to create. Each section must include `programId`, and all sections must belong to the same program.\n * @minSize 1\n * @maxSize 100\n */\n sections: Section[];\n /**\n * Deprecated: This field is ignored.\n * @internal\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface BulkCreateSectionsResponse {\n /** Results for the bulk create operation. */\n results?: BulkSectionResult[];\n /** Summary of the bulk create operation. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkSectionResult {\n /** Metadata for the bulk operation result. */\n itemMetadata?: ItemMetadata;\n /**\n * Internal placeholder. Use `item_metadata` to identify the created section.\n * @internal\n */\n item?: Section;\n /** Action associated with the bulk result. */\n action?: BulkActionTypeWithLiterals;\n}\n\nexport interface ItemMetadata {\n /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n _id?: string | null;\n /** Index of the item within the request array. Allows for correlation between request and response items. */\n originalIndex?: number;\n /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n success?: boolean;\n /** Details about the error in case of failure. */\n error?: ApplicationError;\n}\n\nexport interface ApplicationError {\n /** Error code. */\n code?: string;\n /** Description of the error. */\n description?: string;\n /** Data related to the error. */\n data?: Record<string, any> | null;\n}\n\nexport enum BulkActionType {\n UNKNOWN_ACTION_TYPE = 'UNKNOWN_ACTION_TYPE',\n INSERT = 'INSERT',\n UPDATE = 'UPDATE',\n DELETE = 'DELETE',\n}\n\n/** @enumType */\nexport type BulkActionTypeWithLiterals =\n | BulkActionType\n | 'UNKNOWN_ACTION_TYPE'\n | 'INSERT'\n | 'UPDATE'\n | 'DELETE';\n\nexport interface BulkActionMetadata {\n /** Number of items that were successfully processed. */\n totalSuccesses?: number;\n /** Number of items that couldn't be processed. */\n totalFailures?: number;\n /** Number of failures without details because detailed failure threshold was exceeded. */\n undetailedFailures?: number;\n}\n\nexport interface BulkCreateSectionRequest {\n /**\n * List of sections to create. Each section must include `programId`, and all sections must belong to the same program.\n * @minSize 1\n * @maxSize 100\n */\n sections?: Section[];\n /**\n * Deprecated: This field is ignored.\n * @internal\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface BulkCreateSectionResponse {\n /** Results for the bulk create operation. */\n results?: BulkSectionResult[];\n /** Summary of the bulk create operation. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface GetSectionRequest {\n /**\n * ID of the Section to retrieve.\n * @format GUID\n */\n sectionId: string;\n /**\n * Deprecated: Current section responses always include the section title. This field is ignored.\n * @internal\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n descriptionFieldSet?: DescriptionFieldSetWithLiterals;\n /**\n * Deprecated: `total_steps` is always returned. This field is ignored.\n * @internal\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport enum DescriptionFieldSet {\n /**\n * Retained for backward compatibility. Current section responses return the section title.\n * @internal\n */\n STANDARD = 'STANDARD',\n /**\n * Retained for backward compatibility. Current section responses return the section title.\n * @internal\n */\n EXTENDED = 'EXTENDED',\n}\n\n/** @enumType */\nexport type DescriptionFieldSetWithLiterals = DescriptionFieldSet;\n\nexport interface GetSectionResponse {\n /** Retrieved section. */\n section?: Section;\n}\n\nexport interface UpdateSectionRequest {\n /** Section to update. Include `section.id`, `section.revision`, and the fields to update. */\n section?: Section;\n /**\n * Fields to update.\n * @internal\n */\n fieldMask?: string[];\n /**\n * Deprecated: `total_steps` is always returned. This field is ignored.\n * @internal\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface UpdateSectionResponse {\n /** Updated section. */\n section?: Section;\n}\n\nexport interface DeleteSectionRequest {\n /**\n * ID of the section to delete.\n * @format GUID\n */\n sectionId: string;\n}\n\nexport interface DeleteSectionResponse {}\n\nexport interface DeleteAllProgramSectionsRequest {\n /**\n * Program ID to delete sections from.\n * @format GUID\n */\n programId?: string;\n}\n\nexport interface DeleteAllProgramSectionsResponse {\n /** Total number of sections in the program. */\n sectionsTotal?: number;\n /** Number of sections that were deleted successfully. */\n successfulCount?: number;\n /** Number of sections that couldn't be deleted. */\n failedCount?: number;\n}\n\nexport interface QuerySectionsRequest {\n /** WQL expression. */\n query?: CursorQuery;\n /**\n * Deprecated: Current section responses always include the section title. This field is ignored.\n * @internal\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n descriptionFieldSet?: DescriptionFieldSetWithLiterals;\n /**\n * Deprecated: `total_steps` is always returned. This field is ignored.\n * @internal\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface CursorQuery extends CursorQueryPagingMethodOneOf {\n /**\n * Cursor paging options.\n *\n * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n */\n cursorPaging?: CursorPaging;\n /**\n * Filter object.\n *\n * Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).\n */\n filter?: Record<string, any> | null;\n /**\n * Sort object.\n *\n * Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting).\n * @maxSize 5\n */\n sort?: Sorting[];\n}\n\n/** @oneof */\nexport interface CursorQueryPagingMethodOneOf {\n /**\n * Cursor paging options.\n *\n * Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).\n */\n cursorPaging?: CursorPaging;\n}\n\nexport interface Sorting {\n /**\n * Name of the field to sort by.\n * @maxLength 512\n */\n fieldName?: string;\n /** Sort order. */\n order?: SortOrderWithLiterals;\n /**\n * When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n * a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n *\n * If multiple filters are provided, they are combined with AND operator.\n *\n * Example:\n * Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n * and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n * { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] }\n * @internal\n * @maxSize 10\n */\n selectItemsBy?: Record<string, any>[] | null;\n /**\n * Origin point for geo-distance sorting on a GEO field\n * results are ordered by distance from this point (ASC = nearest first, DESC = farthest first).\n */\n origin?: AddressLocation;\n}\n\nexport enum SortOrder {\n ASC = 'ASC',\n DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface AddressLocation {\n /** Address latitude. */\n latitude?: number | null;\n /** Address longitude. */\n longitude?: number | null;\n}\n\nexport interface CursorPaging {\n /**\n * Maximum number of items to return in the results.\n * @max 100\n */\n limit?: number | null;\n /**\n * Pointer to the next or previous page in the list of results.\n *\n * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n * Not relevant for the first request.\n * @maxLength 16000\n */\n cursor?: string | null;\n}\n\nexport interface QuerySectionsResponse {\n /** Matching sections. */\n sections?: Section[];\n /** Paging metadata. */\n pagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface CursorPagingMetadata {\n /** Number of items returned in current page. */\n count?: number | null;\n /** Cursor strings that point to the next page, previous page, or both. */\n cursors?: Cursors;\n /**\n * Whether there are more pages to retrieve following the current page.\n *\n * + `true`: Another page of results can be retrieved.\n * + `false`: This is the last page.\n */\n hasNext?: boolean | null;\n /**\n * Total number of items matching the filter.\n * Available only on the first page of *Search* results, not included in *Query* or *List* results.\n * If the Search results span multiple pages, the value of `total` will exceed the number of items returned on the first page.\n * @internal\n */\n total?: number | null;\n}\n\nexport interface Cursors {\n /**\n * Cursor string pointing to the next page in the list of results.\n * @maxLength 16000\n */\n next?: string | null;\n /**\n * Cursor pointing to the previous page in the list of results.\n * @maxLength 16000\n */\n prev?: string | null;\n}\n\nexport interface ListSectionsRequest {\n /**\n * Program ID to list sections for.\n * @format GUID\n */\n programId: string;\n /**\n * Deprecated: Current section responses always include the section title. This field is ignored.\n * @internal\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n descriptionFieldSet?: DescriptionFieldSetWithLiterals;\n /**\n * Deprecated: `total_steps` is always returned. This field is ignored.\n * @internal\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface ListSectionsResponse {\n /**\n * Sections in the requested program.\n * @maxSize 1000\n */\n sections?: Section[];\n}\n\nexport interface CloneSectionRequest {\n /**\n * ID of the section to clone.\n * @format GUID\n */\n sectionId: string;\n /**\n * Deprecated: `total_steps` is always returned. This field is ignored.\n * @internal\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface CloneSectionResponse {\n /** Cloned section. */\n section?: Section;\n}\n\nexport interface MoveSectionRequest {\n /**\n * ID of the section to move.\n * @format GUID\n */\n sectionId: string;\n /**\n * ID of the section that the moved section should be placed after. Leave empty to move the section to the beginning of the program.\n * @format GUID\n */\n afterSectionId?: string | null;\n /** Current revision of the section. When provided, it must match the current revision to protect against conflicting updates. */\n revision?: string;\n /**\n * Deprecated: `total_steps` is always returned. This field is ignored.\n * @internal\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface MoveSectionResponse {\n /** Moved section. */\n section?: Section;\n}\n\nexport interface BulkCloneSectionRequest {\n /**\n * ID of the program that was cloned.\n * @format GUID\n */\n prototypeProgramId?: string;\n /**\n * ID of the program created by the clone operation.\n * @format GUID\n */\n clonedProgramId?: string;\n}\n\nexport interface BulkCloneSectionResponse {\n /**\n * ID of the program that was cloned.\n * @format GUID\n */\n prototypeProgramId?: string;\n /**\n * ID of the program created by the clone operation.\n * @format GUID\n */\n clonedProgramId?: string;\n /** Mapping from original section IDs to cloned section IDs. */\n prototypeIdToClonedId?: Record<string, string>;\n}\n\nexport interface RestoreSectionFromTrashRequest {\n /**\n * ID of the section to restore.\n * @format GUID\n */\n sectionId?: string;\n /**\n * Deprecated: `total_steps` is always returned. This field is ignored.\n * @internal\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface RestoreSectionFromTrashResponse {\n /** Restored section. */\n section?: Section;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface Empty {}\n\nexport interface SearchIndexingNotification {\n /** new state of indexing for the site specified in ms_id */\n indexState?: SearchIndexingNotificationStateWithLiterals;\n /** type of the document the notification is targeted for. Applies to all types if not provided */\n documentType?: string | null;\n /** languaInternalDocumentUpdateByFilterOperationge the notification is targeted for. Applies to all languages if not provided */\n language?: string | null;\n /**\n * site for which notification is targeted\n * @minLength 2\n */\n msId?: string | null;\n}\n\nexport enum SearchIndexingNotificationState {\n /** default state */\n Unknown = 'Unknown',\n /** metasite does not require site search indexing */\n Off = 'Off',\n /** metasite requires site search indexing */\n On = 'On',\n}\n\n/** @enumType */\nexport type SearchIndexingNotificationStateWithLiterals =\n | SearchIndexingNotificationState\n | 'Unknown'\n | 'Off'\n | 'On';\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\nexport interface BaseEventMetadata {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface EventMetadata extends BaseEventMetadata {\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n accountInfo?: AccountInfoMetadata;\n}\n\nexport interface AccountInfoMetadata {\n /** ID of the Wix account associated with the event */\n accountId: string;\n /** ID of the Wix site associated with the event. Only included when the event is tied to a specific site. */\n siteId?: string;\n /** ID of the parent Wix account. Only included when 'accountId' belongs to a child account. */\n parentAccountId?: string;\n}\n\nexport interface SectionClonedEnvelope {\n data: SectionCloned;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when a section is cloned.\n * @permissionScope Manage Online Programs\n * @permissionScopeId SCOPE.CHALLENGES.MANAGE\n * @permissionId ONLINE_PROGRAMS.SECTION_READ\n * @webhook\n * @eventType wix.online_programs.v3.section_cloned\n * @slug cloned\n * @documentationMaturity preview\n */\nexport declare function onSectionCloned(\n handler: (event: SectionClonedEnvelope) => void | Promise<void>\n): void;\n\nexport interface SectionCreatedEnvelope {\n entity: Section;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when a section is created.\n * @permissionScope Manage Online Programs\n * @permissionScopeId SCOPE.CHALLENGES.MANAGE\n * @permissionId ONLINE_PROGRAMS.SECTION_READ\n * @webhook\n * @eventType wix.online_programs.v3.section_created\n * @slug created\n * @documentationMaturity preview\n */\nexport declare function onSectionCreated(\n handler: (event: SectionCreatedEnvelope) => void | Promise<void>\n): void;\n\nexport interface SectionDeletedEnvelope {\n entity: Section;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when a section is deleted.\n * @permissionScope Manage Online Programs\n * @permissionScopeId SCOPE.CHALLENGES.MANAGE\n * @permissionId ONLINE_PROGRAMS.SECTION_READ\n * @webhook\n * @eventType wix.online_programs.v3.section_deleted\n * @slug deleted\n * @documentationMaturity preview\n */\nexport declare function onSectionDeleted(\n handler: (event: SectionDeletedEnvelope) => void | Promise<void>\n): void;\n\nexport interface SectionUpdatedEnvelope {\n entity: Section;\n metadata: EventMetadata;\n /** @hidden */\n modifiedFields: Record<string, any>;\n}\n\n/**\n * Triggered when a section is updated.\n * @permissionScope Manage Online Programs\n * @permissionScopeId SCOPE.CHALLENGES.MANAGE\n * @permissionId ONLINE_PROGRAMS.SECTION_READ\n * @webhook\n * @eventType wix.online_programs.v3.section_updated\n * @slug updated\n * @documentationMaturity preview\n */\nexport declare function onSectionUpdated(\n handler: (event: SectionUpdatedEnvelope) => void | Promise<void>\n): void;\n\n/**\n * Creates a section.\n *\n * The section is added to the program identified by `section.programId`. Specify that program ID in the request. Set `section.description.title` for the section title. The stored ordering value is assigned automatically.\n *\n * A program can contain up to 1,000 sections. This call fails if creating the section would exceed that limit.\n *\n * To create multiple sections in a single API call, call [Bulk Create Sections](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/bulk-create-sections).\n * @param section - Section to create. Must include `section.programId`.\n * @public\n * @documentationMaturity preview\n * @requiredField section\n * @requiredField section.programId\n * @permissionId ONLINE_PROGRAMS.SECTION_CREATE\n * @applicableIdentity APP\n * @returns Created section.\n * @fqn wix.onlineprograms.sections.v3.SectionsService.CreateSection\n */\nexport async function createSection(\n section: NonNullablePaths<Section, `programId`, 0>\n): Promise<\n NonNullablePaths<\n Section,\n `programId` | `description.title` | `ordering` | `delayInDays`,\n 1\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ section: section });\n\n const reqOpts = ambassadorWixOnlineProgramsV3Section.createSection(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.section!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { section: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['section']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Creates up to 100 sections in a single API call.\n *\n * All sections in the request must include `programId` and belong to the same program. Set `description.title` for each section title. The stored ordering values are assigned automatically.\n *\n * A program can contain up to 1,000 sections. This call fails if creating the requested sections would exceed that limit.\n *\n * To create a single section, call [Create Section](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/create-section).\n * @param sections - List of sections to create. Each section must include `programId`, and all sections must belong to the same program.\n * @public\n * @documentationMaturity preview\n * @requiredField sections\n * @requiredField sections.programId\n * @permissionId ONLINE_PROGRAMS.SECTION_CREATE\n * @applicableIdentity APP\n * @fqn wix.onlineprograms.sections.v3.SectionsService.BulkCreateSections\n */\nexport async function bulkCreateSections(\n sections: NonNullablePaths<Section, `programId`, 0>[]\n): Promise<\n NonNullablePaths<\n BulkCreateSectionsResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `results.${number}.action`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ sections: sections });\n\n const reqOpts =\n ambassadorWixOnlineProgramsV3Section.bulkCreateSections(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { sections: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['sections']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves a section.\n * @param sectionId - ID of the Section to retrieve.\n * @public\n * @documentationMaturity preview\n * @requiredField sectionId\n * @permissionId ONLINE_PROGRAMS.SECTION_READ\n * @applicableIdentity APP\n * @returns Retrieved section.\n * @fqn wix.onlineprograms.sections.v3.SectionsService.GetSection\n */\nexport async function getSection(\n sectionId: string\n): Promise<\n NonNullablePaths<\n Section,\n `programId` | `description.title` | `ordering` | `delayInDays`,\n 1\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n sectionId: sectionId,\n });\n\n const reqOpts = ambassadorWixOnlineProgramsV3Section.getSection(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.section!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { sectionId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['sectionId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Updates a section.\n *\n * Each time the section is updated, `revision` increments by 1. The current `revision` must be passed when updating the section. This ensures you're working with the latest section and prevents unintended overwrites.\n *\n * Use this method to update section content and settings. To reorder a section, call [Move Section](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/move-section).\n * @param _id - Section ID.\n * @public\n * @documentationMaturity preview\n * @requiredField _id\n * @requiredField options.section.revision\n * @permissionId ONLINE_PROGRAMS.SECTION_UPDATE\n * @applicableIdentity APP\n * @returns Updated section.\n * @fqn wix.onlineprograms.sections.v3.SectionsService.UpdateSection\n */\nexport async function updateSection(\n _id: string,\n options?: NonNullablePaths<UpdateSectionOptions, `section.revision`, 1>\n): Promise<\n NonNullablePaths<\n Section,\n `programId` | `description.title` | `ordering` | `delayInDays`,\n 1\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n section: { ...options?.section, id: _id },\n });\n\n const reqOpts = ambassadorWixOnlineProgramsV3Section.updateSection(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.section!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: { section: '$[1].section' },\n explicitPathsToArguments: { 'section.id': '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['_id', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateSectionOptions {\n section?: {\n /**\n * Section ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the section is updated. To prevent conflicting changes, the current `revision` must be passed when updating the section.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the section was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the section was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Program ID of the parent program. Provide it when creating a section. After creation, this value can't be changed.\n * @format GUID\n * @readonly\n * @immutable\n */\n programId?: string;\n /** Section title. */\n description?: Description;\n /**\n * @internal\n * @deprecated\n * @targetRemovalDate 2026-12-01\n */\n state?: StateWithLiterals;\n /**\n * Total number of steps in the section.\n * @readonly\n */\n totalSteps?: number | null;\n /**\n * Position rank used to order sections within a program. To reorder sections, call Move Section.\n * @readonly\n */\n ordering?: number;\n /**\n * Number of days before the section becomes available. The count starts from the program's start date for scheduled programs, or from the participant's enrollment date for self-paced ones. Someone joining a scheduled program after it began may find several sections already open. Use `0` for a section available from the start.\n * @max 5000\n */\n delayInDays?: number;\n /** Custom field data for the section. [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields) must be configured in the app dashboard before they can be accessed with API calls. */\n extendedFields?: ExtendedFields;\n };\n}\n\n/**\n * Permanently deletes a section from the public API.\n *\n * Deleted sections aren't returned by standard retrieval and list methods. The public API doesn't expose trash-bin or restore operations.\n * @param sectionId - ID of the section to delete.\n * @public\n * @documentationMaturity preview\n * @requiredField sectionId\n * @permissionId ONLINE_PROGRAMS.SECTION_DELETE\n * @applicableIdentity APP\n * @fqn wix.onlineprograms.sections.v3.SectionsService.DeleteSection\n */\nexport async function deleteSection(sectionId: string): Promise<void> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n sectionId: sectionId,\n });\n\n const reqOpts = ambassadorWixOnlineProgramsV3Section.deleteSection(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { sectionId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['sectionId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves a list of up to 1,000 sections, given the provided paging, filtering, and sorting.\n *\n * Use this method when you need to filter sections, apply custom sorting or paging, or query across programs.\n * When you know the program ID and need all sections in program order, call [List Sections](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/list-sections).\n *\n * Query Sections runs with these defaults, which you can override:\n *\n * - `createdDate` is sorted in `DESC` order.\n * - `paging.limit` is `1000`.\n * - `paging.offset` is `0`.\n *\n * Supported filter fields are `programId`, `id`, and `delayInDays`.\n * Supported sorting fields are `id`, `delayInDays`, `createdDate`, and `ordering`. When sorting by a field other than `programId`, also filter by `programId`.\n * Section extended fields aren't supported for filtering or sorting. Queries that reference them are rejected.\n *\n * To learn about working with Query methods, see [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language), [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging), and [Field Projection](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-field-projection).\n * @public\n * @documentationMaturity preview\n * @permissionId ONLINE_PROGRAMS.SECTION_READ\n * @applicableIdentity APP\n * @fqn wix.onlineprograms.sections.v3.SectionsService.QuerySections\n */\nexport function querySections(\n options?: QuerySectionsOptions\n): SectionsQueryBuilder {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n return queryBuilder<\n Section,\n 'CURSOR',\n QuerySectionsRequest,\n QuerySectionsResponse\n >({\n func: async (payload: QuerySectionsRequest) => {\n const reqOpts = ambassadorWixOnlineProgramsV3Section.querySections({\n ...payload,\n ...(options ?? {}),\n });\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n return result;\n } catch (err) {\n sideEffects?.onError?.(err);\n throw err;\n }\n },\n requestTransformer: (query: QuerySectionsRequest['query']) => {\n const args = [query, options] as [\n QuerySectionsRequest['query'],\n QuerySectionsOptions\n ];\n return renameKeysFromSDKRequestToRESTRequest({\n ...args?.[1],\n query: args?.[0],\n });\n },\n responseTransformer: ({ data }: HttpResponse<QuerySectionsResponse>) => {\n const transformedData = renameKeysFromRESTResponseToSDKResponse(\n transformPaths(data, [])\n );\n\n return {\n items: transformedData?.sections,\n pagingMetadata: transformedData?.pagingMetadata,\n };\n },\n errorTransformer: (err: unknown) => {\n const transformedError = sdkTransformError(err, {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n });\n\n throw transformedError;\n },\n pagingMethod: 'CURSOR',\n transformationPaths: {},\n });\n}\n\nexport interface QuerySectionsOptions {\n /**\n * Deprecated: Current section responses always include the section title. This field is ignored.\n * @internal\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n descriptionFieldSet?: DescriptionFieldSet | undefined;\n /**\n * Deprecated: `total_steps` is always returned. This field is ignored.\n * @internal\n * @maxSize 1\n * @deprecated\n * @targetRemovalDate 2026-12-31\n */\n fields?: RequestedFields[] | undefined;\n}\n\ninterface QueryCursorResult {\n cursors: Cursors;\n hasNext: () => boolean;\n hasPrev: () => boolean;\n length: number;\n pageSize: number;\n}\n\nexport interface SectionsQueryResult extends QueryCursorResult {\n items: Section[];\n query: SectionsQueryBuilder;\n next: () => Promise<SectionsQueryResult>;\n prev: () => Promise<SectionsQueryResult>;\n}\n\nexport interface SectionsQueryBuilder {\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n eq: (\n propertyName: '_id' | 'programId' | 'delayInDays',\n value: any\n ) => SectionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n ne: (propertyName: '_id' | 'delayInDays', value: any) => SectionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n ge: (propertyName: '_id' | 'delayInDays', value: any) => SectionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n gt: (propertyName: '_id' | 'delayInDays', value: any) => SectionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n le: (propertyName: '_id' | 'delayInDays', value: any) => SectionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n lt: (propertyName: '_id' | 'delayInDays', value: any) => SectionsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `string`.\n * @param string - String to compare against. Case-insensitive.\n * @documentationMaturity preview\n */\n startsWith: (propertyName: '_id', value: string) => SectionsQueryBuilder;\n /** @documentationMaturity preview */\n in: (propertyName: '_id' | 'delayInDays', value: any) => SectionsQueryBuilder;\n /** @documentationMaturity preview */\n exists: (\n propertyName: '_id' | 'delayInDays',\n value: boolean\n ) => SectionsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n * @documentationMaturity preview\n */\n ascending: (\n ...propertyNames: Array<\n '_id' | '_createdDate' | 'state' | 'ordering' | 'delayInDays'\n >\n ) => SectionsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n * @documentationMaturity preview\n */\n descending: (\n ...propertyNames: Array<\n '_id' | '_createdDate' | 'state' | 'ordering' | 'delayInDays'\n >\n ) => SectionsQueryBuilder;\n /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n * @documentationMaturity preview\n */\n limit: (limit: number) => SectionsQueryBuilder;\n /** @param cursor - A pointer to specific record\n * @documentationMaturity preview\n */\n skipTo: (cursor: string) => SectionsQueryBuilder;\n /** @documentationMaturity preview */\n find: () => Promise<SectionsQueryResult>;\n}\n\n/**\n * @hidden\n * @fqn wix.onlineprograms.sections.v3.SectionsService.QuerySections\n * @requiredField query\n */\nexport async function typedQuerySections(\n query: SectionQuery,\n options?: QuerySectionsOptions\n): Promise<\n NonNullablePaths<\n QuerySectionsResponse,\n | `sections`\n | `sections.${number}.programId`\n | `sections.${number}.description.title`\n | `sections.${number}.ordering`\n | `sections.${number}.delayInDays`,\n 3\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n query: query,\n ...options,\n });\n\n const reqOpts = ambassadorWixOnlineProgramsV3Section.querySections(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['query', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface SectionQuerySpec extends QuerySpec {\n paging: 'cursor';\n wql: [\n {\n fields: ['programId'];\n operators: ['$eq'];\n sort: 'NONE';\n },\n {\n fields: ['_id', 'delayInDays'];\n operators: '*';\n sort: 'BOTH';\n },\n {\n fields: ['_createdDate', 'ordering'];\n operators: [];\n sort: 'BOTH';\n }\n ];\n}\n\nexport type CommonQueryWithEntityContext = QuerySdkType<\n Section,\n SectionQuerySpec\n>;\nexport type SectionQuery = {\n /** \n Cursor paging options.\n\n Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging). \n */\n cursorPaging?: {\n /** \n Maximum number of items to return in the results. \n @max: 100 \n */\n limit?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['limit']\n | null;\n /** \n Pointer to the next or previous page in the list of results.\n\n Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n Not relevant for the first request. \n @maxLength: 16000 \n */\n cursor?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['cursor']\n | null;\n };\n /** \n Filter object.\n\n Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters). \n */\n filter?: CommonQueryWithEntityContext['filter'] | null;\n /** \n Sort object.\n\n Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting). \n @maxSize: 5 \n */\n sort?: {\n /** \n Name of the field to sort by. \n @maxLength: 512 \n */\n fieldName?: NonNullable<\n CommonQueryWithEntityContext['sort']\n >[number]['fieldName'];\n /** \n Sort order. \n */\n order?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['order'];\n /** \n When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by\n a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.\n\n If multiple filters are provided, they are combined with AND operator.\n\n Example:\n Given we have document like {\"id\": \"1\", \"nestedField\": [{\"price\": 10, \"region\": \"EU\"}, {\"price\": 20, \"region\": \"US\"}]}\n and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be\n { fieldName: \"nestedField.price\", \"select_items_by\": [{\"nestedField.region\": \"US\"}] } \n @internal: undefined,\n @maxSize: 10 \n */\n selectItemsBy?:\n | NonNullable<\n CommonQueryWithEntityContext['sort']\n >[number]['selectItemsBy']\n | null;\n /** \n Origin point for geo-distance sorting on a GEO field\n results are ordered by distance from this point (ASC = nearest first, DESC = farthest first). \n */\n origin?: NonNullable<\n CommonQueryWithEntityContext['sort']\n >[number]['origin'];\n }[];\n};\n\nexport const utils = {\n query: /*#__PURE__*/ createQueryUtils<\n Section,\n SectionQuerySpec,\n SectionQuery\n >(),\n};\n\n/**\n * Retrieves all sections in a program.\n *\n * Use this method when you know the program ID and need all sections in program order.\n *\n * Results are sorted by `ordering` in ascending order.\n *\n * To filter sections, apply custom sorting or paging, or query across programs, call [Query Sections](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/query-sections).\n * @param programId - Program ID to list sections for.\n * @public\n * @documentationMaturity preview\n * @requiredField programId\n * @permissionId ONLINE_PROGRAMS.SECTION_READ\n * @applicableIdentity APP\n * @fqn wix.onlineprograms.sections.v3.SectionsService.ListSections\n */\nexport async function listSections(\n programId: string\n): Promise<\n NonNullablePaths<\n ListSectionsResponse,\n | `sections`\n | `sections.${number}.programId`\n | `sections.${number}.description.title`\n | `sections.${number}.ordering`\n | `sections.${number}.delayInDays`,\n 3\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n programId: programId,\n });\n\n const reqOpts = ambassadorWixOnlineProgramsV3Section.listSections(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { programId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['programId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Clones a section.\n *\n * The cloned section is added to the same program after the current last section. Translation content and extended field data are copied to the cloned section.\n *\n * This method triggers both a Section Created lifecycle event for the new section and a Section Cloned action event containing the source and cloned sections.\n *\n * Steps are cloned asynchronously after this call returns. The `section.total_steps` value in the response may not reflect the eventual number of cloned steps. Until cloning finishes, Get, List, and Query calls may return a lower actual step count.\n *\n * A program can contain up to 1,000 sections. This call fails if cloning the section would exceed that limit.\n * @param sectionId - ID of the section to clone.\n * @public\n * @documentationMaturity preview\n * @requiredField sectionId\n * @permissionId ONLINE_PROGRAMS.SECTION_CREATE\n * @applicableIdentity APP\n * @fqn wix.onlineprograms.sections.v3.SectionsService.CloneSection\n */\nexport async function cloneSection(\n sectionId: string\n): Promise<\n NonNullablePaths<\n CloneSectionResponse,\n | `section.programId`\n | `section.description.title`\n | `section.ordering`\n | `section.delayInDays`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n sectionId: sectionId,\n });\n\n const reqOpts = ambassadorWixOnlineProgramsV3Section.cloneSection(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { sectionId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['sectionId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Moves a section within its program.\n *\n * Each time the section is updated, its `revision` increments by 1. When provided, `revision` must match the current section revision to protect against conflicting updates.\n *\n * If `afterSectionId` isn't specified, the section is moved to the beginning of the program. The stored ordering value is recalculated automatically.\n * @param sectionId - ID of the section to move.\n * @public\n * @documentationMaturity preview\n * @requiredField sectionId\n * @permissionId ONLINE_PROGRAMS.SECTION_UPDATE\n * @applicableIdentity APP\n * @fqn wix.onlineprograms.sections.v3.SectionsService.MoveSection\n */\nexport async function moveSection(\n sectionId: string,\n options?: MoveSectionOptions\n): Promise<\n NonNullablePaths<\n MoveSectionResponse,\n | `section.programId`\n | `section.description.title`\n | `section.ordering`\n | `section.delayInDays`,\n 2\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n sectionId: sectionId,\n afterSectionId: options?.afterSectionId,\n revision: options?.revision,\n });\n\n const reqOpts = ambassadorWixOnlineProgramsV3Section.moveSection(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n sectionId: '$[0]',\n afterSectionId: '$[1].afterSectionId',\n revision: '$[1].revision',\n },\n singleArgumentUnchanged: false,\n },\n ['sectionId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface MoveSectionOptions {\n /**\n * ID of the section that the moved section should be placed after. Leave empty to move the section to the beginning of the program.\n * @format GUID\n */\n afterSectionId?: string | null;\n /** Current revision of the section. When provided, it must match the current revision to protect against conflicting updates. */\n revision?: string;\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKFloatToRESTFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformSDKFieldMaskToRESTFieldMask } from '@wix/sdk-runtime/transformations/field-mask';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixOnlineprogramsSectionsV3SectionsServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'bo._base_domain_': [\n {\n srcPath: '/program-sections-service',\n destPath: '',\n },\n ],\n 'wixbo.ai': [\n {\n srcPath: '/program-sections-service',\n destPath: '',\n },\n ],\n 'wix-bo.com': [\n {\n srcPath: '/program-sections-service',\n destPath: '',\n },\n ],\n 'api._api_base_domain_': [\n {\n srcPath: '/program-sections-service',\n destPath: '',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/program-sections-service',\n destPath: '',\n },\n ],\n 'www._base_domain_': [\n {\n srcPath: '/_api/program-sections-service',\n destPath: '',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/program-sections-service',\n destPath: '',\n },\n {\n srcPath: '/program-sections-service',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/program-sections-service',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/program-sections-service',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/program-sections-service',\n destPath: '',\n },\n ],\n 'editor.wixapps.net': [\n {\n srcPath: '/_api/program-sections-service',\n destPath: '',\n },\n {\n srcPath: '/program-sections-service',\n destPath: '',\n },\n ],\n _: [\n {\n srcPath: '/program-sections-service',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/online-programs/v3/sections',\n destPath: '/v3/sections',\n },\n {\n srcPath: '/online-programs/v3/bulk/sections',\n destPath: '/v3/bulk/sections',\n },\n {\n srcPath: '/program-sections-service',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_online-programs_sections';\n\n/**\n * Creates a section.\n *\n * The section is added to the program identified by `section.programId`. Specify that program ID in the request. Set `section.description.title` for the section title. The stored ordering value is assigned automatically.\n *\n * A program can contain up to 1,000 sections. This call fails if creating the section would exceed that limit.\n *\n * To create multiple sections in a single API call, call [Bulk Create Sections](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/bulk-create-sections).\n */\nexport function createSection(payload: object): RequestOptionsFactory<any> {\n function __createSection({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'section.createdDate' },\n { path: 'section.updatedDate' },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [{ path: 'section.ordering' }],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.online_programs.v3.section',\n method: 'POST' as any,\n methodFqn: 'wix.onlineprograms.sections.v3.SectionsService.CreateSection',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixOnlineprogramsSectionsV3SectionsServiceUrl({\n protoPath: '/v3/sections',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'section.createdDate' },\n { path: 'section.updatedDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [{ path: 'section.ordering' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createSection;\n}\n\n/**\n * Creates up to 100 sections in a single API call.\n *\n * All sections in the request must include `programId` and belong to the same program. Set `description.title` for each section title. The stored ordering values are assigned automatically.\n *\n * A program can contain up to 1,000 sections. This call fails if creating the requested sections would exceed that limit.\n *\n * To create a single section, call [Create Section](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/create-section).\n */\nexport function bulkCreateSections(\n payload: object\n): RequestOptionsFactory<any> {\n function __bulkCreateSections({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'sections.createdDate' },\n { path: 'sections.updatedDate' },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [{ path: 'sections.ordering' }],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.online_programs.v3.section',\n method: 'POST' as any,\n methodFqn:\n 'wix.onlineprograms.sections.v3.SectionsService.BulkCreateSections',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixOnlineprogramsSectionsV3SectionsServiceUrl({\n protoPath: '/v3/bulk/sections/create',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'results.item.createdDate' },\n { path: 'results.item.updatedDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [{ path: 'results.item.ordering' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __bulkCreateSections;\n}\n\n/** Retrieves a section. */\nexport function getSection(payload: object): RequestOptionsFactory<any> {\n function __getSection({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.online_programs.v3.section',\n method: 'GET' as any,\n methodFqn: 'wix.onlineprograms.sections.v3.SectionsService.GetSection',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixOnlineprogramsSectionsV3SectionsServiceUrl({\n protoPath: '/v3/sections/{sectionId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'section.createdDate' },\n { path: 'section.updatedDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [{ path: 'section.ordering' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getSection;\n}\n\n/**\n * Updates a section.\n *\n * Each time the section is updated, `revision` increments by 1. The current `revision` must be passed when updating the section. This ensures you're working with the latest section and prevents unintended overwrites.\n *\n * Use this method to update section content and settings. To reorder a section, call [Move Section](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/move-section).\n */\nexport function updateSection(payload: object): RequestOptionsFactory<any> {\n function __updateSection({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFieldMaskToRESTFieldMask,\n paths: [{ path: 'fieldMask' }],\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'section.createdDate' },\n { path: 'section.updatedDate' },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [{ path: 'section.ordering' }],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.online_programs.v3.section',\n method: 'PATCH' as any,\n methodFqn: 'wix.onlineprograms.sections.v3.SectionsService.UpdateSection',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixOnlineprogramsSectionsV3SectionsServiceUrl({\n protoPath: '/v3/sections/{section.id}',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'section.createdDate' },\n { path: 'section.updatedDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [{ path: 'section.ordering' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateSection;\n}\n\n/**\n * Permanently deletes a section from the public API.\n *\n * Deleted sections aren't returned by standard retrieval and list methods. The public API doesn't expose trash-bin or restore operations.\n */\nexport function deleteSection(payload: object): RequestOptionsFactory<any> {\n function __deleteSection({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.online_programs.v3.section',\n method: 'DELETE' as any,\n methodFqn: 'wix.onlineprograms.sections.v3.SectionsService.DeleteSection',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixOnlineprogramsSectionsV3SectionsServiceUrl({\n protoPath: '/v3/sections/{sectionId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __deleteSection;\n}\n\n/**\n * Retrieves a list of up to 1,000 sections, given the provided paging, filtering, and sorting.\n *\n * Use this method when you need to filter sections, apply custom sorting or paging, or query across programs.\n * When you know the program ID and need all sections in program order, call [List Sections](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/list-sections).\n *\n * Query Sections runs with these defaults, which you can override:\n *\n * - `createdDate` is sorted in `DESC` order.\n * - `paging.limit` is `1000`.\n * - `paging.offset` is `0`.\n *\n * Supported filter fields are `programId`, `id`, and `delayInDays`.\n * Supported sorting fields are `id`, `delayInDays`, `createdDate`, and `ordering`. When sorting by a field other than `programId`, also filter by `programId`.\n * Section extended fields aren't supported for filtering or sorting. Queries that reference them are rejected.\n *\n * To learn about working with Query methods, see [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language), [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging), and [Field Projection](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-field-projection).\n */\nexport function querySections(payload: object): RequestOptionsFactory<any> {\n function __querySections({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n { path: 'query.sort.origin.latitude' },\n { path: 'query.sort.origin.longitude' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.online_programs.v3.section',\n method: 'POST' as any,\n methodFqn: 'wix.onlineprograms.sections.v3.SectionsService.QuerySections',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixOnlineprogramsSectionsV3SectionsServiceUrl({\n protoPath: '/v3/sections/query',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'sections.createdDate' },\n { path: 'sections.updatedDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [{ path: 'sections.ordering' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __querySections;\n}\n\n/**\n * Retrieves all sections in a program.\n *\n * Use this method when you know the program ID and need all sections in program order.\n *\n * Results are sorted by `ordering` in ascending order.\n *\n * To filter sections, apply custom sorting or paging, or query across programs, call [Query Sections](https://dev.wix.com/docs/api-reference/business-management/online-programs/sections/query-sections).\n */\nexport function listSections(payload: object): RequestOptionsFactory<any> {\n function __listSections({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.online_programs.v3.section',\n method: 'GET' as any,\n methodFqn: 'wix.onlineprograms.sections.v3.SectionsService.ListSections',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixOnlineprogramsSectionsV3SectionsServiceUrl({\n protoPath: '/v3/sections',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'sections.createdDate' },\n { path: 'sections.updatedDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [{ path: 'sections.ordering' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __listSections;\n}\n\n/**\n * Clones a section.\n *\n * The cloned section is added to the same program after the current last section. Translation content and extended field data are copied to the cloned section.\n *\n * This method triggers both a Section Created lifecycle event for the new section and a Section Cloned action event containing the source and cloned sections.\n *\n * Steps are cloned asynchronously after this call returns. The `section.total_steps` value in the response may not reflect the eventual number of cloned steps. Until cloning finishes, Get, List, and Query calls may return a lower actual step count.\n *\n * A program can contain up to 1,000 sections. This call fails if cloning the section would exceed that limit.\n */\nexport function cloneSection(payload: object): RequestOptionsFactory<any> {\n function __cloneSection({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.online_programs.v3.section',\n method: 'POST' as any,\n methodFqn: 'wix.onlineprograms.sections.v3.SectionsService.CloneSection',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixOnlineprogramsSectionsV3SectionsServiceUrl({\n protoPath: '/v3/sections/{sectionId}/clone',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'section.createdDate' },\n { path: 'section.updatedDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [{ path: 'section.ordering' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __cloneSection;\n}\n\n/**\n * Moves a section within its program.\n *\n * Each time the section is updated, its `revision` increments by 1. When provided, `revision` must match the current section revision to protect against conflicting updates.\n *\n * If `afterSectionId` isn't specified, the section is moved to the beginning of the program. The stored ordering value is recalculated automatically.\n */\nexport function moveSection(payload: object): RequestOptionsFactory<any> {\n function __moveSection({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.online_programs.v3.section',\n method: 'PATCH' as any,\n methodFqn: 'wix.onlineprograms.sections.v3.SectionsService.MoveSection',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixOnlineprogramsSectionsV3SectionsServiceUrl({\n protoPath: '/v3/sections/move',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'section.createdDate' },\n { path: 'section.updatedDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [{ path: 'section.ordering' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __moveSection;\n}\n"],"mappings":"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","names":["payload","transformPaths","State","Enum","RequestedFields","BulkActionType","DescriptionFieldSet","SortOrder","SearchIndexingNotificationState","WebhookIdentityType","createSection","bulkCreateSections","getSection","updateSection","deleteSection","querySections","listSections","cloneSection","moveSection"]}