openapi: 3.1.0
info:
  title: Agent API
  description: >

    The Agent API allows AI agents to take direct action in Sitecore through
    secure REST endpoints. It supports common digital experience tasks such as
    creating pages, adding components, and updating content.


    As part of Sitecore's
    [*interoperability*](https://doc.sitecore.com/xmc/en/users/xm-cloud/integrating-sitecore-with-agentic-platforms.html)
    approach, the Agent API allows agentic platforms and other connected systems
    to interact directly with Sitecore. When an AI agent receives a natural
    language request, it can call the appropriate Agent API endpoints to
    complete the task. For example, a request to create a new landing page might
    trigger an endpoint in Sitecore that automatically builds the page. If the
    AI agent performs an unintended action, you can use the job ID to revert it.
    Each operation is tracked to ensure safe rollback when needed.


    All Agent API actions follow the built-in security and approval rules in
    Sitecore, keeping work safe, traceable, and auditable.


    In addition to AI agent-driven workflows, developers can also use the REST
    API directly to interact with the following objects:


    - **Sites** - retrieve and manage sites and their pages.

    - **Pages** - create and manage pages and components.

    - **Content** - create and organize content items.

    - **Components** - retrieve and manage components and datasources.

    - **Assets** - upload and manage digital assets.

    - **Environments** - retrieve environment and language details.

    - **Personalization** - manage personalized content variants.

    - **Jobs** - view or revert job operations. 

    - **Brand kits** - retrieve brand kits and their details. 

    - **Briefs** - retrieve brief types, generate and create briefs.

    - **Experiments** - create and update A/B tests on components on a page.

    - **Flow definitions** - retrieve flow definitions (A/B/n tests and
    personalizations) for a page and set up their variants.



    Note the following:


    - To use this REST API, you authenticate your API requests.

    - All API requests are made in your production environment.


    The Agent API also powers the Sitecore Marketer MCP server, which uses these
    endpoints to perform agentic operations in Sitecore. Read more about the
    [Marketer MCP
    server](https://doc.sitecore.com/sai/en/users/sitecoreai/sitecore-marketer-mcp-server.html).


    # Authorization
     To authorize your requests, use environment automation client credentials and generate a JSON Web Token (JWT). You can also register an OAuth app if your integration requires the OAuth 2.0 authorization code flow.

    Note: To create client credentials, you must be an [Organization
    Admin](https://doc.sitecore.com/portal/en/developers/sitecore-cloud-portal/roles.html)
    or Organization Owner.


    ## Create an automation client
     1. In the Sitecore Cloud Portal, open SitecoreAI Deploy.
     2. Click **Credentials** > **Environment** > **Create credentials** > **Automation**.
     3. Fill out the automation client details, then click **Create**.
     4. Copy the client ID and the client secret because you won't be able to view them again in SitecoreAI Deploy. You'll use them to request a JWT.

    ## Register an OAuth app for the Agent API 

    The Agent API uses the OAuth 2.0 authorization code flow to securely
    authenticate requests from external applications.

     Each application must have an OAuth app registration, which identifies the app and defines the parts of the Sitecore platform it can access. 

     If you plan to register an OAuth app that uses the Agent API, you must submit a registration request to Sitecore Support and request the following scopes:
     - `xmcloud.cm:admin` 
     - `personalize.exp:mng` 
     - `personalize.tmpl:r` 
     - `personalize.pos:mng` 
     - `ai.org.bri:r` 
     - `co.briefs:r` 
     - `co.briefs:w`  
    - `ai.org.brd:r` 

    - `ai.org.bri:w`  

    - `cmp.sites:read` 

    - `platform.tenants:list` 
     ## Request a JWT

    Run the following cURL command to request a JWT. Replace the placeholder
    values with your client ID and client secret.


    ```curl
      curl -X POST 'https://auth.sitecorecloud.io/oauth/token' \
      --header 'Content-Type: application/x-www-form-urlencoded' \ 
      --data-urlencode 'client_id={YOUR_CLIENT_ID}' \
      --data-urlencode 'client_secret={YOUR_CLIENT_SECRET}' \
      --data-urlencode 'grant_type=client_credentials' \
      --data-urlencode 'audience=https://api.sitecorecloud.io'
    ```


    In the response, the `access_token` key contains the JWT:


    ```json
      {
        "access_token": "{YOUR_JWT}",
        "scope": "xmcloud.cm:admin",
        "expires_in": 86400,
        "token_type": "Bearer"
      }
    ```


    The JWT expires in 24 hours. If your requests unexpectedly return a response
    with status `401 Unauthorized`, request a new JWT by repeating this `POST`
    request.


    We recommend that you cache the JWT for 24 hours to avoid repeating this
    `POST` request while the JWT is still valid.


    ## Include the JWT in the request header


    You can now start making REST API requests. You must include the JWT in the
    request header of every request. For example:

    ```curl
      curl -X GET '{YOUR_BASE_URL}/...' \
      -H 'Authorization: Bearer {YOUR_JWT}' \
      -H 'Accept: application/json'
    ```
  version: v2.0
  contact:
    name: Sitecore Corporation A/S
  license:
    name: 'Documentation License: Apache 2.0'
    url: https://www.apache.org/licenses/LICENSE-2.0
  x-metadata:
    product: SitecoreAI
servers:
  - url: https://edge-platform.sitecorecloud.io/stream/ai-agent-api
    description: Production server
tags:
  - name: Sites
    description: >-
      The Sites API lets you retrieve all sites, retrieve details about a
      specific site, list pages of a site, and retrieve a site ID associated
      with an item ID.
  - name: Pages
    description: >-
      The Pages API lets you create new pages, add new language versions or
      components to a page, search for pages on a site, set the component
      datasource on a page, retrieve page components, paths, HTML, preview URL,
      screenshots, templates, details, and allowed components.
  - name: Content
    description: >-
      The Content API lets you create, retrieve, update, delete and organize
      structured content items, and retrieve insert options.
  - name: Components
    description: >-
      The Components API lets you retrieve components, get the details of a
      specific component, search datasources in a component, and create a
      component datasource.
  - name: Assets
    description: >-
      The Assets API lets you upload, search assets, retrieve asset details, and
      update asset metadata.
  - name: Environments
    description: >-
      The Environments API lets you retrieve available languages in your
      environment. 
  - name: Personalization
    description: >-
      The Personalization API lets you create personalized variants for
      different audiences by showing targeted content based on certain
      conditions.
  - name: Jobs
    description: >-
      The Jobs API lets you retrieve all details and operations of a specific
      job or revert a job to undo changes made during an operation.
  - name: Brand kits
    description: >-
      The Brand kits API lets you retrieve a list of brand kits and details of a
      specific brandkit.
  - name: Briefs
    description: >-
      The Briefs API lets you retrieve available brief types, generate briefs
      based on a brief type and brand kit, create briefs and save it as a draft,
      and retrieve details of a specific brief.
  - name: Experiments
    description: >-
      The Experiments API lets create A/B/n tests on components on a page and
      update an existing experiment.
  - name: Flow definitions
    description: >-
      The Flow definitions API lets you retrieve flow definitions (A/B/n tests
      and personalizations) for a specific page, configure their variants, and
      access detailed information about each variant.
paths:
  /api/v1/sites:
    get:
      tags:
        - Sites
      summary: List sites
      description: >-
        Retrieves a list of available sites with their basic information
        including name, display name, and URL.
      operationId: sites-get_sites_list
      parameters:
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListSitesResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/sites/{siteId}:
    get:
      tags:
        - Sites
      summary: Retrieve the site details
      description: >-
        Retrieves the details of a specific site including its  ID, name, and
        root path.
      operationId: sites-get_site_details
      parameters:
        - name: siteId
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Siteid
            description: >-
              The unique identifier of the site. To get this ID, use [List
              sites](#operation/sites-get_sites_list).
            example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
          description: >-
            The unique identifier of the site. To get this ID, use [List
            sites](#operation/sites-get_sites_list).
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteInformationResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/sites/{siteName}/pages:
    get:
      tags:
        - Sites
      summary: List pages of a site
      description: >-
        Retrieves a list of pages for a specific site, including each page's ID
        and path. You can optionally filter the pages by language.
      operationId: sites-get_all_pages_by_site
      parameters:
        - name: siteName
          in: path
          required: true
          schema:
            type: string
            title: Sitename
            description: >-
              The unique name of the site. To get this name, use [List
              sites](#operation/sites-get_sites_list).
            example: skate-park
          description: >-
            The unique name of the site. To get this name, use [List
            sites](#operation/sites-get_sites_list).
          example: skate-park
        - name: language
          in: query
          required: false
          schema:
            type: string
            default: en
            title: Language
            description: The language code for filtering pages.
            example: en
          description: The language code for filtering pages.
          example: en
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PageModel'
                title: Response Sites-Get All Pages By Site
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/sites/site-id-from-item/{itemId}:
    get:
      tags:
        - Sites
      summary: Retrieve a site ID from an item ID
      description: >-
        Retrieves the site ID associated with a specific item ID. This is useful
        for determining which site an item belongs to.
      operationId: sites-get_site_id_from_item
      parameters:
        - name: itemId
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Itemid
            description: 'The unique identifier of the item. '
            example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
          description: 'The unique identifier of the item. '
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteIdFromItemResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/pages/create:
    post:
      tags:
        - Pages
      summary: Create a page
      description: >-
        Creates a new page using the specified template under the parent page.
        You can set field values and the language for the new page.
      operationId: pages-create_page
      parameters:
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePageRequest'
      responses:
        '201':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePageResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/pages/{pageId}/add-language:
    post:
      tags:
        - Pages
      summary: Add a language version to a page
      description: >-
        Adds a new language version for an existing page. This allows you to
        have the same page content available in multiple languages.
      operationId: pages-add_language_to_page
      parameters:
        - name: pageId
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Pageid
            description: >-
              The unique identifier of the page.To get this ID, use [List pages
              of a site](#operation/sites-get_all_pages_by_site).
            example: f0b81bcc-7388-46be-b109-6e73d1114470
          description: >-
            The unique identifier of the page.To get this ID, use [List pages of
            a site](#operation/sites-get_all_pages_by_site).
          example: f0b81bcc-7388-46be-b109-6e73d1114470
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddLanguageRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddLanguageResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/pages/{pageId}/components:
    post:
      tags:
        - Pages
      summary: Add a component to a page
      description: >-
        Adds a component to a specific placeholder on a page. You can specify
        the component type, placeholder location, and configure its initial
        settings. Optionally, you can specify its position relative to an
        existing component.
      operationId: pages-add_component_on_page
      parameters:
        - name: pageId
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Pageid
            description: >-
              The unique identifier of the page. To get this ID, use [List pages
              of a site](#operation/sites-get_all_pages_by_site).
            example: f0b81bcc-7388-46be-b109-6e73d1114470
          description: >-
            The unique identifier of the page. To get this ID, use [List pages
            of a site](#operation/sites-get_all_pages_by_site).
          example: f0b81bcc-7388-46be-b109-6e73d1114470
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddComponentRequest'
      responses:
        '201':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddComponentResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
    get:
      tags:
        - Pages
      summary: Retrieve components on a page
      description: Retrieves the components on a page.
      operationId: pages-get_components_on_page
      parameters:
        - name: pageId
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Pageid
            description: >-
              The unique identifier of the page from which to retrieve
              components. To get this ID, use [List pages of a
              site](#operation/sites-get_all_pages_by_site).
            example: f0b81bcc-7388-46be-b109-6e73d1114470
          description: >-
            The unique identifier of the page from which to retrieve components.
            To get this ID, use [List pages of a
            site](#operation/sites-get_all_pages_by_site).
          example: f0b81bcc-7388-46be-b109-6e73d1114470
        - name: language
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            default: en
            title: Language
            description: The language code for filtering components.
            example: en
          description: The language code for filtering components.
          example: en
        - name: version
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            title: Version
            description: The version number of the page to retrieve components from.
            example: 1
          description: The version number of the page to retrieve components from.
          example: 1
        - name: variantId
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Variantid
            description: >-
              The unique identifier of the  personalization or A/B/n test
              variant on the page. To get this ID, you can use the [List flow
              definitions](https://api-docs.sitecore.com/sai/agent-api/flow-definitions/flows-list_flow_definitions_by_page)
              endpoint. Use the `transpiledVariants[].ref`, or `variants[].ref`
              when available.
               
              If you provide this value, the endpoint returns components of the
              specified variant. If you omit this value, the endpoint returns
              components of the base page.
            example: 8bd7a9ec96b8490f9b894e3866fefb79_2a5c1e8c8d244f569a44d6b28cbecb05
          description: >-
            The unique identifier of the  personalization or A/B/n test variant
            on the page. To get this ID, you can use the [List flow
            definitions](https://api-docs.sitecore.com/sai/agent-api/flow-definitions/flows-list_flow_definitions_by_page)
            endpoint. Use the `transpiledVariants[].ref`, or `variants[].ref`
            when available.
             
            If you provide this value, the endpoint returns components of the
            specified variant. If you omit this value, the endpoint returns
            components of the base page.
          example: 8bd7a9ec96b8490f9b894e3866fefb79_2a5c1e8c8d244f569a44d6b28cbecb05
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPageComponentsResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/pages/{pageId}/components/{componentId}/datasource:
    post:
      tags:
        - Pages
      summary: Set the component datasource
      description: >-
        Sets the datasource for a specific component on a page. You can specify
        a new data source item or clear the existing one.
      operationId: pages-set_component_datasource
      parameters:
        - name: pageId
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Pageid
            description: >-
              The unique identifier of the page.To get this ID, use [List pages
              of a site](#operation/sites-get_all_pages_by_site).
            example: f0b81bcc-7388-46be-b109-6e73d1114470
          description: >-
            The unique identifier of the page.To get this ID, use [List pages of
            a site](#operation/sites-get_all_pages_by_site).
          example: f0b81bcc-7388-46be-b109-6e73d1114470
        - name: componentId
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Componentid
            description: >-
              The unique identifier of the component on the page. To get this
              ID, use [Retrieve components on a
              page](#operation/pages-get_components_on_page).
            example: 86a03271-dff4-470a-92bd-b68c67de2e25
          description: >-
            The unique identifier of the component on the page. To get this ID,
            use [Retrieve components on a
            page](#operation/pages-get_components_on_page).
          example: 86a03271-dff4-470a-92bd-b68c67de2e25
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetComponentDatasourceRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetComponentDatasourceResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/pages/search:
    get:
      tags:
        - Pages
      summary: Search for pages on a site
      description: >-
        Searches for all  pages in a specific site using a search term that
        matches page titles and content. The response returns the matching pages
        with their details including the page ID, path, and name.
      operationId: pages-search_site
      parameters:
        - name: search_query
          in: query
          required: true
          schema:
            type: string
            title: Search Query
            description: The search term to look for in page titles and content.
            example: skate
          description: The search term to look for in page titles and content.
          example: skate
        - name: site_name
          in: query
          required: true
          schema:
            type: string
            title: Site Name
            description: The unique name of the site to search within.
            example: skate-park
          description: The unique name of the site to search within.
          example: skate-park
        - name: language
          in: query
          required: false
          schema:
            type: string
            default: en
            title: Language
            description: The language code for filtering pages.
            example: en
          description: The language code for filtering pages.
          example: en
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PageSearchItemModel'
                title: Response Pages-Search Site
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/pages/path-by-url:
    get:
      tags:
        - Pages
      summary: Retrieve the page path by live URL
      description: >-
        Retrieves the page item path that corresponds to a live URL on a
        website.
      operationId: pages-get_page_path_by_live_url
      parameters:
        - name: live_url
          in: query
          required: true
          schema:
            type: string
            format: uri
            minLength: 1
            maxLength: 2083
            title: Live Url
            description: The full live URL of the page to look up.
            example: >-
              https%3A%2F%2Fwww.sitecore.com%2Fsitecore%2Fcontent%2FVerticals%2FSkatePark%2FHome
          description: The full live URL of the page to look up.
          example: >-
            https%3A%2F%2Fwww.sitecore.com%2Fsitecore%2Fcontent%2FVerticals%2FSkatePark%2FHome
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagePathByLiveUrlResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/pages/{pageId}/screenshot:
    get:
      tags:
        - Pages
      summary: Retrieve the screenshot of a page
      description: Captures and returns a base64-encoded screenshot of a page.
      operationId: pages-get_page_screenshot
      parameters:
        - name: pageId
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Pageid
            description: >-
              The unique identifier of the page. To get this ID, use [List pages
              of a site](#operation/sites-get_all_pages_by_site).
            example: f0b81bcc-7388-46be-b109-6e73d1114470
          description: >-
            The unique identifier of the page. To get this ID, use [List pages
            of a site](#operation/sites-get_all_pages_by_site).
          example: f0b81bcc-7388-46be-b109-6e73d1114470
        - name: version
          in: query
          required: true
          schema:
            type: integer
            title: Version
            description: The version number of the page to retrieve the screenshot for.
            example: 1
          description: The version number of the page to retrieve the screenshot for.
          example: 1
        - name: language
          in: query
          required: false
          schema:
            type: string
            default: en
            title: Language
            description: The language code for the page.
            example: en
          description: The language code for the page.
          example: en
        - name: width
          in: query
          required: false
          schema:
            type: integer
            default: 1200
            title: Width
            description: The width of the screenshot in pixels.
            example: 1200
          description: The width of the screenshot in pixels.
          example: 1200
        - name: height
          in: query
          required: false
          schema:
            type: integer
            default: 800
            title: Height
            description: The height of the screenshot in pixels.
            example: 800
          description: The height of the screenshot in pixels.
          example: 800
        - name: variantId
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Variantid
            description: >-
              The unique identifier of the personalization or A/B/n test variant
              to show in the screenshot. To get this ID, you can use the [List
              flow definitions](#operation/flows-list_flow_definitions_by_page)
              endpoint. Use the `transpiledVariants[].ref`, or `variants[].ref`
              when available.
               
              If you provide this value, the screenshot is captured for the
              specified variant. If you omit this value, the screenshot is
              captured for the base page.
            example: 8bd7a9ec96b8490f9b894e3866fefb79_2a5c1e8c8d244f569a44d6b28cbecb05
          description: >-
            The unique identifier of the personalization or A/B/n test variant
            to show in the screenshot. To get this ID, you can use the [List
            flow definitions](#operation/flows-list_flow_definitions_by_page)
            endpoint. Use the `transpiledVariants[].ref`, or `variants[].ref`
            when available.
             
            If you provide this value, the screenshot is captured for the
            specified variant. If you omit this value, the screenshot is
            captured for the base page.
          example: 8bd7a9ec96b8490f9b894e3866fefb79_2a5c1e8c8d244f569a44d6b28cbecb05
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageScreenshotResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/pages/{pageId}/html:
    get:
      tags:
        - Pages
      summary: Retrieve the page HTML
      description: >-
        Retrieves the HTML for a specific page. This endpoint returns the raw
        HTML of the page as it would appear in the browser.
      operationId: pages-get_page_html
      parameters:
        - name: pageId
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Pageid
            description: >-
              The unique identifier of the page. To get this ID, use [List pages
              of a site](#operation/sites-get_all_pages_by_site).
            example: 550e8400-e29b-41d4-a716-446655440000
          description: >-
            The unique identifier of the page. To get this ID, use [List pages
            of a site](#operation/sites-get_all_pages_by_site).
          example: 550e8400-e29b-41d4-a716-446655440000
        - name: language
          in: query
          required: true
          schema:
            type: string
            title: Language
            description: The language code for the page content.
            example: en
          description: The language code for the page content.
          example: en
        - name: version
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            title: Version
            description: The version number of the page to retrieve.
            example: 1
          description: The version number of the page to retrieve.
          example: 1
        - name: variantId
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Variantid
            description: >-
              The unique identifier of the personalization or A/B/n test variant
              to use. To get this ID, you can use the [List flow
              definitions](#operation/flows-list_flow_definitions_by_page)
              endpoint. Use the `transpiledVariants[].ref`, or `variants[].ref`
              when available.
               
              If you provide this value, the HTML content is retrieved for the
              specified variant. If you omit this value, the HTML content for
              the base page is returned.
            example: 8bd7a9ec96b8490f9b894e3866fefb79_2a5c1e8c8d244f569a44d6b28cbecb05
          description: >-
            The unique identifier of the personalization or A/B/n test variant
            to use. To get this ID, you can use the [List flow
            definitions](#operation/flows-list_flow_definitions_by_page)
            endpoint. Use the `transpiledVariants[].ref`, or `variants[].ref`
            when available.
             
            If you provide this value, the HTML content is retrieved for the
            specified variant. If you omit this value, the HTML content for the
            base page is returned.
          example: 8bd7a9ec96b8490f9b894e3866fefb79_2a5c1e8c8d244f569a44d6b28cbecb05
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageHtmlResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/pages/{pageId}/preview-url:
    get:
      tags:
        - Pages
      summary: Retrieve the page preview URL
      description: Retrieves the preview URL for a specific page.
      operationId: pages-get_page_preview_url
      parameters:
        - name: pageId
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Pageid
            description: >-
              The unique identifier of the page. To get this ID, use [List pages
              of a site](#operation/sites-get_all_pages_by_site).
            example: 550e8400-e29b-41d4-a716-446655440000
          description: >-
            The unique identifier of the page. To get this ID, use [List pages
            of a site](#operation/sites-get_all_pages_by_site).
          example: 550e8400-e29b-41d4-a716-446655440000
        - name: language
          in: query
          required: false
          schema:
            type: string
            default: en
            title: Language
            description: The language code for the page content.
            example: en
          description: The language code for the page content.
          example: en
        - name: version
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            title: Version
            description: The version number of the page to retrieve the preview URL for.
            example: 1
          description: The version number of the page to retrieve the preview URL for.
          example: 1
        - name: variantId
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Variantid
            description: >-
              The unique identifier of the personalization or A/B/n test variant
              to preview. To get this ID, you can use the [List flow
              definitions](#operation/flows-list_flow_definitions_by_page)
              endpoint. Use the `transpiledVariants[].ref`, or `variants[].ref`
              when available.
               
              If you provide this value, the preview URL is retrieved for the
              specified variant. If you omit this value, the preview URL for the
              base page is returned.
            example: 8bd7a9ec96b8490f9b894e3866fefb79_2a5c1e8c8d244f569a44d6b28cbecb05
          description: >-
            The unique identifier of the personalization or A/B/n test variant
            to preview. To get this ID, you can use the [List flow
            definitions](#operation/flows-list_flow_definitions_by_page)
            endpoint. Use the `transpiledVariants[].ref`, or `variants[].ref`
            when available.
             
            If you provide this value, the preview URL is retrieved for the
            specified variant. If you omit this value, the preview URL for the
            base page is returned.
          example: 8bd7a9ec96b8490f9b894e3866fefb79_2a5c1e8c8d244f569a44d6b28cbecb05
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPagePreviewUrlResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/pages/template-by-id:
    get:
      tags:
        - Pages
      summary: Retrieve the page template by ID
      description: >-
        Retrieves the details of a specific page template, including its fields
        and settings. Use this endpoint to understand the structure and
        available fields of a template before creating a page.
      operationId: pages-get_page_template_by_id
      parameters:
        - name: templateId
          in: query
          required: true
          schema:
            type: string
            format: uuid
            title: Templateid
            description: >-
              The unique identifier of the page template. To get this ID, you
              can use the [List templates of a
              site](#operation/sites-get_all_templates_by_site) endpoint.
            example: 2341ef32-42f4-4537-98d8-9ef741008eab
          description: >-
            The unique identifier of the page template. To get this ID, you can
            use the [List templates of a
            site](#operation/sites-get_all_templates_by_site) endpoint.
          example: 2341ef32-42f4-4537-98d8-9ef741008eab
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageTemplateResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/pages/{pageId}:
    get:
      tags:
        - Pages
      summary: Retrieve the page details
      description: >-
        Retrieves the details about a page including its ID, name, and path
        location. This endpoint provides the information you need to understand
        and modify the page's structure.
      operationId: pages-get_page
      parameters:
        - name: pageId
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Pageid
            description: >-
              The unique identifier of the page. To get this ID, use [List pages
              of a site](#operation/sites-get_all_pages_by_site).
            example: 550e8400-e29b-41d4-a716-446655440000
          description: >-
            The unique identifier of the page. To get this ID, use [List pages
            of a site](#operation/sites-get_all_pages_by_site).
          example: 550e8400-e29b-41d4-a716-446655440000
        - name: language
          in: query
          required: false
          schema:
            type: string
            default: en
            title: Language
            description: The language code for the page content.
            example: en
          description: The language code for the page content.
          example: en
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPageResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/pages/{pageId}/placeholders/{placeholderName}/allowed-components:
    get:
      tags:
        - Pages
      summary: List allowed components for a placeholder
      description: >-
        Retrieves the list of components that can be added to a placeholder on a
        page. This helps ensure that only compatible components are used in each
        placeholder.
      operationId: pages-get_allowed_components_by_placeholder
      parameters:
        - name: pageId
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Pageid
            description: >-
              The unique identifier of the page. To get this ID, use [List pages
              of a site](#operation/sites-get_all_pages_by_site).
            example: 550e8400-e29b-41d4-a716-446655440000
          description: >-
            The unique identifier of the page. To get this ID, use [List pages
            of a site](#operation/sites-get_all_pages_by_site).
          example: 550e8400-e29b-41d4-a716-446655440000
        - name: placeholderName
          in: path
          required: true
          schema:
            type: string
            title: Placeholdername
            description: The unique identifier of the placeholder.
            example: 123e4567-e89b-12d3-a456-426614174000
          description: The unique identifier of the placeholder.
          example: 123e4567-e89b-12d3-a456-426614174000
        - name: language
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            default: en
            title: Language
            description: The language code for filtering components.
            example: en
          description: The language code for filtering components.
          example: en
        - name: variantId
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Variantid
            description: >-
              The unique identifier of the personalization or A/B/n test variant
              to use. To get this ID, you can use the [List flow
              definitions](#operation/flows-list_flow_definitions_by_page)
              endpoint. Use the `transpiledVariants[].ref`, or `variants[].ref`
              when available.
               
              If you provide this value, the list of allowed components is
              retrieved for the specified variant. If you omit this value, the
              list for the base page is returned.
            example: 8bd7a9ec96b8490f9b894e3866fefb79_2a5c1e8c8d244f569a44d6b28cbecb05
          description: >-
            The unique identifier of the personalization or A/B/n test variant
            to use. To get this ID, you can use the [List flow
            definitions](#operation/flows-list_flow_definitions_by_page)
            endpoint. Use the `transpiledVariants[].ref`, or `variants[].ref`
            when available.
             
            If you provide this value, the list of allowed components is
            retrieved for the specified variant. If you omit this value, the
            list for the base page is returned.
          example: 8bd7a9ec96b8490f9b894e3866fefb79_2a5c1e8c8d244f569a44d6b28cbecb05
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ComponentShortInfo'
                title: Response Pages-Get Allowed Components By Placeholder
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/content/create:
    post:
      tags:
        - Content
      summary: Create content item
      description: >-
        Creates a new content item using the specified template and field
        values.
      operationId: content-create_content_item
      parameters:
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateContentItemRequest'
      responses:
        '201':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateContentItemResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/content/{itemId}:
    get:
      tags:
        - Content
      summary: Retrieve a content item by ID
      description: Retrieves the details of a specific content item by specifying its ID.
      operationId: content-get_content_item_by_id
      parameters:
        - name: itemId
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Itemid
            description: The unique identifier of the content item to be retrieved.
            example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
          description: The unique identifier of the content item to be retrieved.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        - name: language
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Language
            description: >-
              The language version of the content item to be retrieved. If not
              specified, the default language is used.
            example: en
          description: >-
            The language version of the content item to be retrieved. If not
            specified, the default language is used.
          example: en
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentItemResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
    put:
      tags:
        - Content
      summary: Update a content item
      description: Updates an existing content item, including its fields and language.
      operationId: content-update_content
      parameters:
        - name: itemId
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Itemid
            description: The unique identifier of the content item to be updated.
            example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
          description: The unique identifier of the content item to be updated.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateContentRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateContentResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
    delete:
      tags:
        - Content
      summary: Delete a content item
      description: Deletes a content item and optionally all of its child items.
      operationId: content-delete_content
      parameters:
        - name: itemId
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Itemid
            description: The unique identifier of the content item to be deleted.
            example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
          description: The unique identifier of the content item to be deleted.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        - name: language
          in: query
          required: false
          schema:
            type: string
            default: en
            title: Language
            description: |-
              The language version of the content item.

               **Note:** Deleting a content item removes the item across all language versions. The `language` parameter does not limit deletion to a specific language version.
            example: en
          description: |-
            The language version of the content item.

             **Note:** Deleting a content item removes the item across all language versions. The `language` parameter does not limit deletion to a specific language version.
          example: en
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteContentResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/content:
    get:
      tags:
        - Content
      summary: Retrieve a content item by path
      description: >-
        Retrieves the details of a content item by specifying its path in the
        content tree.
      operationId: content-get_content_item_by_path
      parameters:
        - name: item_path
          in: query
          required: true
          schema:
            type: string
            title: Item Path
            description: The path of the content item in the content tree.
            example: '%2Fsitecore%2Fcontent%2FVerticals%2FSkaterPark%2FHome'
          description: The path of the content item in the content tree.
          example: '%2Fsitecore%2Fcontent%2FVerticals%2FSkaterPark%2FHome'
        - name: failOnNotFound
          in: query
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            default: true
            title: Failonnotfound
            description: Determines the behavior when the content item is not found.
            example: 'true'
          description: Determines the behavior when the content item is not found.
          example: 'true'
        - name: language
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            default: en
            title: Language
            description: The language version of the content item to be retrieved.
            example: en
          description: The language version of the content item to be retrieved.
          example: en
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/ContentItemResponse'
                  - type: object
                    additionalProperties: true
                title: Response Content-Get Content Item By Path
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/content/{itemId}/insert-options:
    get:
      tags:
        - Content
      summary: List insert options
      description: >-
        Retrieves a list of content templates that can be inserted as child
        items under the specified parent item.
      operationId: content-list_available_insertoptions
      parameters:
        - name: itemId
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Itemid
            description: >-
              The unique identifier of the parent item under which new items can
              be inserted.
            example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
          description: >-
            The unique identifier of the parent item under which new items can
            be inserted.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        - name: language
          in: query
          required: false
          schema:
            type: string
            default: en
            title: Language
            description: The language code for filtering insert options.
            example: en
          description: The language code for filtering insert options.
          example: en
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InsertOptionModel'
                title: Response Content-List Available Insertoptions
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/components/{componentId}/datasources:
    post:
      tags:
        - Components
      summary: Create a component datasource
      description: >-
        Creates a new datasource item for a specific component using the
        provided data field values. The datasource will be created in the
        appropriate location based on the component's configuration.
      operationId: components-create_component_datasource
      parameters:
        - name: componentId
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Componentid
            description: >-
              The unique identifier of the component for which to create a
              datasource. To get this ID, use the [List allowed components for a
              placeholder](#operation/pages-get_allowed_components_by_placeholder)
              endpoint.
            example: 86a03271-dff4-470a-92bd-b68c67de2e25
          description: >-
            The unique identifier of the component for which to create a
            datasource. To get this ID, use the [List allowed components for a
            placeholder](#operation/pages-get_allowed_components_by_placeholder)
            endpoint.
          example: 86a03271-dff4-470a-92bd-b68c67de2e25
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateComponentDatasourceRequest'
      responses:
        '201':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateComponentDatasourceResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/components/{componentId}/datasources/search:
    get:
      tags:
        - Components
      summary: Search for component datasources
      description: >-
        Searches for available datasources that can be used with a specific
        component. This helps you find existing content to use as datasources.
      operationId: components-search_component_datasources
      parameters:
        - name: componentId
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Componentid
            description: >-
              The unique identifier of the component for which to search
              datasources. To get this ID, use the [List allowed components for
              a
              placeholder](#operation/pages-get_allowed_components_by_placeholder)
              endpoint.
            example: 86a03271-dff4-470a-92bd-b68c67de2e25
          description: >-
            The unique identifier of the component for which to search
            datasources. To get this ID, use the [List allowed components for a
            placeholder](#operation/pages-get_allowed_components_by_placeholder)
            endpoint.
          example: 86a03271-dff4-470a-92bd-b68c67de2e25
        - name: term
          in: query
          required: true
          schema:
            type: string
            title: Term
            description: The search term to filter available datasources.
            example: news
          description: The search term to filter available datasources.
          example: news
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/components:
    get:
      tags:
        - Components
      summary: List components
      description: >-
        Retrieves a list of components available for a specific site, including
        both built-in components and custom components that can be used on
        pages.
      operationId: components-list_components
      parameters:
        - name: site_name
          in: query
          required: true
          schema:
            type: string
            title: Site Name
            description: The name of the site for which to list available components.
            example: skate-park
          description: The name of the site for which to list available components.
          example: skate-park
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComponentsResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/components/{componentId}:
    get:
      tags:
        - Components
      summary: Retrieve the component details
      description: >-
        Retrieves the details of a specific component, including its ID, name,
        and datasource options.
      operationId: components-get_component
      parameters:
        - name: componentId
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Componentid
            description: >-
              The unique identifier of the component. To get this ID, use [List
              components of a
              page](#operation/pages-get_all_components_by_page).
            example: 86a03271-dff4-470a-92bd-b68c67de2e25
          description: >-
            The unique identifier of the component. To get this ID, use [List
            components of a page](#operation/pages-get_all_components_by_page).
          example: 86a03271-dff4-470a-92bd-b68c67de2e25
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComponentResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/assets/upload:
    post:
      tags:
        - Assets
      summary: Upload an asset
      description: >-
        Uploads a new digital asset to the system and stores it with the
        provided metadata.
      operationId: assets-upload_asset
      parameters:
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_assets-upload_asset'
      responses:
        '201':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UploadAssetResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/assets/search:
    get:
      tags:
        - Assets
      summary: Search for assets
      description: >-
        Searches for digital assets such as videos, images, and documents using
        query terms, file types, or tags.
      operationId: assets-search_assets
      parameters:
        - name: query
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Query
            description: The search term to filter assets.
            example: summer
          description: The search term to filter assets.
          example: summer
        - name: language
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            default: en
            title: Language
            description: The language code to filter assets.
            example: en
          description: The language code to filter assets.
          example: en
        - name: type
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Type
            description: The file type to filter assets such as image, video, or document.
            example: image
          description: The file type to filter assets such as image, video, or document.
          example: image
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AssetSearchResultModel'
                title: Response Assets-Search Assets
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/assets/{assetId}:
    get:
      tags:
        - Assets
      summary: Retrieve the asset details
      description: Retrieves the details of a specific digital asset by specifying its ID.
      operationId: assets-get_asset_information
      parameters:
        - name: assetId
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Assetid
            description: The unique identifier of the asset to be retrieved.
            example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
          description: The unique identifier of the asset to be retrieved.
          example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetInformationResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
    put:
      tags:
        - Assets
      summary: Update an asset
      description: >-
        Updates the metadata and properties of an existing digital asset, such
        as alt text, description, and tags.
      operationId: assets-update_asset
      parameters:
        - name: assetId
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Assetid
            description: The unique identifier of the asset to be updated.
            example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
          description: The unique identifier of the asset to be updated.
          example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAssetRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateAssetResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/environments/languages:
    get:
      tags:
        - Environments
      summary: List languages
      description: Retrieves all languages available.
      operationId: environments-list_languages
      parameters:
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API. 
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API. 
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LanguageModel'
                title: Response Environments-List Languages
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/experiments/flows:
    post:
      tags:
        - Experiments
      summary: Create an A/B/n test on a component
      description: >-
        Creates a new A/B/n test for a specific component on a page. This allows
        you to compare two or more variants of the component and determine which
        one performs better.
      operationId: experiments-create_component_ab_test
      parameters:
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateExperimentRequest'
      responses:
        '201':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExperimentFlowResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/experiments/{flowId}:
    put:
      tags:
        - Experiments
      summary: Update an A/B/n test on a component
      description: >-
        Updates an existing A/B/n test for a specific component on a page. This
        allows you to modify the variants, targeting rules, or other settings of
        the test.
      operationId: experiments-update_ab_test
      parameters:
        - name: flowId
          in: path
          required: true
          schema:
            type: string
            title: Flowid
            description: >-
              The unique identifier of the A/B/n test to update. To get this ID,
              you can use the [List flow
              definitions](#/operation/flows-list_flow_definitions_by_page)
              endpoint for the page and use the flow `ref` value.
            example: 1fdfbc60-9646-469d-b971-2b0f4c033fbc
          description: >-
            The unique identifier of the A/B/n test to update. To get this ID,
            you can use the [List flow
            definitions](#/operation/flows-list_flow_definitions_by_page)
            endpoint for the page and use the flow `ref` value.
          example: 1fdfbc60-9646-469d-b971-2b0f4c033fbc
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateExperimentRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExperimentFlowResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/personalization/{pageId}/versions:
    post:
      tags:
        - Personalization
      summary: Create a personalization variant
      description: >-
        Creates a new personalization variant of a page using a single condition
        template and parameters.

         **Note:** This endpoint is maintained for backward compatibility and will be deprecated and removed on August 4, 2026. Use the [Create a personalization variant v2 endpoint](https://api-docs.sitecore.com/sai/agent-api/personalization/personalization-create_personalization_version) going forward.
      operationId: personalization-create_personalization_version_v1
      deprecated: true
      parameters:
        - name: pageId
          in: path
          required: true
          schema:
            type: string
            title: Pageid
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePersonalizationRequestV1'
      responses:
        '201':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExperienceFlowResponseV1'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v2/personalization/{pageId}/versions:
    post:
      tags:
        - Personalization
      summary: Create a personalization variant
      description: >-
        Creates a new personalization variant of a page, enabling you to define
        targeting rules for different audiences.
      operationId: personalization-create_personalization_version
      parameters:
        - name: pageId
          in: path
          required: true
          schema:
            type: string
            title: Pageid
            description: >-
              The unique identifier of the page for which to create a
              personalization version. To get this ID, use [List pages of a
              site](#operation/sites-get_all_pages_by_site).
            example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
          description: >-
            The unique identifier of the page for which to create a
            personalization version. To get this ID, use [List pages of a
            site](#operation/sites-get_all_pages_by_site).
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePersonalizationRequestV2'
      responses:
        '201':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExperienceFlowResponseV2'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/personalization/by-page/{pageId}:
    get:
      tags:
        - Personalization
      summary: List personalization variants by page
      description: >-
        Retrieves all personalization versions configured for a specific page,
        including their targeting rules and content variations.

         **Note:** This endpoint is maintained for backward compatibility and will be deprecated and removed on August 4, 2026. Use the [List personalization variants by page v2 endpoint](https://api-docs.sitecore.com/sai/agent-api/personalization/personalization-get_personalization_versions_by_page) going forward.
      operationId: personalization-get_personalization_versions_by_page_v1
      deprecated: true
      parameters:
        - name: pageId
          in: path
          required: true
          schema:
            type: string
            title: Pageid
        - name: language
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            default: en
            title: Language
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PersonalizationVariantDetailModelV1'
                title: >-
                  Response Personalization-Get Personalization Versions By Page
                  V1
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v2/personalization/by-page/{pageId}:
    get:
      tags:
        - Personalization
      summary: List personalization variants by page
      description: >-
        Retrieves all personalization variants defined for a specific page,
        including IDs, names, creation dates, and associated variants.
      operationId: personalization-get_personalization_versions_by_page
      parameters:
        - name: pageId
          in: path
          required: true
          schema:
            type: string
            title: Pageid
            description: >-
              The unique identifier of the page for which to retrieve
              personalization versions. To get this ID, use [List pages of a
              site](#operation/sites-get_all_pages_by_site).
            example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
          description: >-
            The unique identifier of the page for which to retrieve
            personalization versions. To get this ID, use [List pages of a
            site](#operation/sites-get_all_pages_by_site).
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        - name: language
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            default: en
            title: Language
            description: The language version of the page.
            example: en
          description: The language version of the page.
          example: en
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PersonalizationVariantDetailModelV2'
                title: Response Personalization-Get Personalization Versions By Page
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/personalization/condition-templates:
    get:
      tags:
        - Personalization
      summary: List personalization condition templates
      description: Retrieves all available condition templates for personalization.
      operationId: personalization-get_condition_templates
      parameters:
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ConditionTemplate'
                title: Response Personalization-Get Condition Templates
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/personalization/condition-templates/{template_id}:
    get:
      tags:
        - Personalization
      summary: Retrieve a personalization condition template
      description: >-
        Retrieves a condition template by ID including its parameters for
        creating a personalization variant on a page.
      operationId: personalization-get_condition_template_by_id
      parameters:
        - name: template_id
          in: path
          required: true
          schema:
            type: string
            title: Template Id
            description: >-
              The unique identifier of the condition template. To get this ID,
              you can use the [List personalization condition
              templates](#/operation/personalization-get_condition_templates)
              endpoint to retrieve the list of available condition templates.
            example: returning_visitor
          description: >-
            The unique identifier of the condition template. To get this ID, you
            can use the [List personalization condition
            templates](#/operation/personalization-get_condition_templates)
            endpoint to retrieve the list of available condition templates.
          example: returning_visitor
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConditionTemplate'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/personalization/{pageId}/versions/{variantId}:
    put:
      tags:
        - Personalization
      summary: Update a personalization variant for a page
      description: >-
        Updates the audience name, variant name, and targeting rules of an
        existing personalization variant.
      operationId: personalization-update_personalization_version
      parameters:
        - name: pageId
          in: path
          required: true
          schema:
            type: string
            title: Pageid
            description: >-
              The unique identifier of the page for which to update a
              personalization variant. To get this ID, you can use the [List
              pages of a site](#operation/sites-get_all_pages_by_site) endpoint
              to retrieve the list of pages for a specific site.
            example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
          description: >-
            The unique identifier of the page for which to update a
            personalization variant. To get this ID, you can use the [List pages
            of a site](#operation/sites-get_all_pages_by_site) endpoint to
            retrieve the list of pages for a specific site.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        - name: variantId
          in: path
          required: true
          schema:
            type: string
            title: Variantid
            description: >-
              The unique identifier of the personalization variant to be
              updated. To get this ID, you can use the [List personalization
              variants by
              page](#/operation/personalization-get_personalization_versions_by_page)
              endpoint. Use the `transpiledVariants[].ref`, or `variants[].ref`
              when available.
            example: afbdf7912c774dd997f5c7c9d627708e_7ccdaf587ae54fe4919996192507c383
          description: >-
            The unique identifier of the personalization variant to be updated.
            To get this ID, you can use the [List personalization variants by
            page](#/operation/personalization-get_personalization_versions_by_page)
            endpoint. Use the `transpiledVariants[].ref`, or `variants[].ref`
            when available.
          example: afbdf7912c774dd997f5c7c9d627708e_7ccdaf587ae54fe4919996192507c383
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePersonalizationRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExperienceFlowResponseV2'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/personalization/{pageId}/components/{componentId}/hide:
    post:
      tags:
        - Personalization
      summary: Hide a component on the default page variant
      description: >-
        Hides a component on the default page variant. Personalization must
        already exist on the page before you use this endpoint. A default page
        variant exists only after page variants have been created to personalize
        a page. 
      operationId: personalization-hide_component_on_default_page
      parameters:
        - name: pageId
          in: path
          required: true
          schema:
            type: string
            title: Pageid
            description: >-
              The unique identifier of the page that includes the default page
              variant where the component should be hidden. To get this ID, you
              can use the [List pages of a
              site](#operation/sites-get_all_pages_by_site) endpoint to retrieve
              the list of pages for a specific site.
          description: >-
            The unique identifier of the page that includes the default page
            variant where the component should be hidden. To get this ID, you
            can use the [List pages of a
            site](#operation/sites-get_all_pages_by_site) endpoint to retrieve
            the list of pages for a specific site.
        - name: componentId
          in: path
          required: true
          schema:
            type: string
            title: Componentid
            description: >-
              The unique identifier of the component to hide on the default page
              variant. To get this ID, you can use the [List components of a
              page](#operation/pages-get_all_components_by_page) endpoint to
              retrieve the list of components for a specific page.
          description: >-
            The unique identifier of the component to hide on the default page
            variant. To get this ID, you can use the [List components of a
            page](#operation/pages-get_all_components_by_page) endpoint to
            retrieve the list of components for a specific page.
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HideComponentRequest'
      responses:
        '201':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HideComponentResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/flows/by-page/{pageId}:
    get:
      tags:
        - Flow definitions
      summary: List flow definitions for a page
      description: >-
        Retrieves all flow definitions (both A/B/n tests and  personalizations)
        for a specific page, including the structure, variants, and
        configuration details.
      operationId: flows-list_flow_definitions_by_page
      parameters:
        - name: pageId
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Pageid
            description: >-
              The unique identifier of the page for which to retrieve flow
              definitions (A/B/n tests or personalizations). To get this ID, you
              can use the [List pages of a
              site](#operation/sites-get_all_pages_by_site) endpoint to retrieve
              the list of pages for a specific site.
            example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
          description: >-
            The unique identifier of the page for which to retrieve flow
            definitions (A/B/n tests or personalizations). To get this ID, you
            can use the [List pages of a
            site](#operation/sites-get_all_pages_by_site) endpoint to retrieve
            the list of pages for a specific site.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        - name: language
          in: query
          required: false
          schema:
            type: string
            default: en
            title: Language
            description: >-
              The language version of the page to filter flow definitions (A/B/n
              tests or personalizations).
            example: en
          description: >-
            The language version of the page to filter flow definitions (A/B/n
            tests or personalizations).
          example: en
        - name: status
          in: query
          required: false
          schema:
            type: string
            title: Status
            description: >-
              The status to filter flow definitions (A/B/n tests or
              personalizations), such as active, paused, or draft.
            example: active
          description: >-
            The status to filter flow definitions (A/B/n tests or
            personalizations), such as active, paused, or draft.
          example: active
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  oneOf:
                    - $ref: '#/components/schemas/ExperimentFlowResponse'
                    - $ref: '#/components/schemas/ExperienceFlowResponseV2'
                  discriminator:
                    propertyName: subtype
                    mapping:
                      EXPERIMENT: '#/components/schemas/ExperimentFlowResponse'
                      EXPERIENCE: '#/components/schemas/ExperienceFlowResponseV2'
                title: Response Flows-List Flow Definitions By Page
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/flows/{flowId}:
    get:
      tags:
        - Flow definitions
      summary: Retrieve a flow definition
      description: >-
        Retrieves a specific flow definition (A/B/n test or personalization) on
        a page, including the structure, variants, and configuration details.
      operationId: flows-get_flow_definition
      parameters:
        - name: flowId
          in: path
          required: true
          schema:
            type: string
            title: Flowid
            description: >-
              The unique identifier of the A/B/n test or personalization to
              retrieve. To get this ID, you can use the [List flow
              definitions](#/operation/flows-list_flow_definitions_by_page)
              endpoint for the page and use the flow `ref` value.
            example: 1fdfbc60-9646-469d-b971-2b0f4c033fbc
          description: >-
            The unique identifier of the A/B/n test or personalization to
            retrieve. To get this ID, you can use the [List flow
            definitions](#/operation/flows-list_flow_definitions_by_page)
            endpoint for the page and use the flow `ref` value.
          example: 1fdfbc60-9646-469d-b971-2b0f4c033fbc
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ExperimentFlowResponse'
                  - $ref: '#/components/schemas/ExperienceFlowResponseV2'
                discriminator:
                  propertyName: subtype
                  mapping:
                    EXPERIMENT: '#/components/schemas/ExperimentFlowResponse'
                    EXPERIENCE: '#/components/schemas/ExperienceFlowResponseV2'
                title: Response Flows-Get Flow Definition
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/flows/{flowId}/variants/reset:
    post:
      tags:
        - Flow definitions
      summary: Reset component variant
      description: >-
        Removes any applied personalization or A/B/n test variant set up, such
        as copy, hide, or swap, from a component and restores it to its original
        state.
      operationId: flows-reset_component_variant
      parameters:
        - name: flowId
          in: path
          required: true
          schema:
            type: string
            title: Flowid
            description: >-
              The unique identifier of the A/B/n test or personalization that
              contains the variant to reset. To get this ID, you can use the
              [List flow
              definitions](#/operation/flows-list_flow_definitions_by_page)
              endpoint for the page and use the flow `ref` value.
          description: >-
            The unique identifier of the A/B/n test or personalization that
            contains the variant to reset. To get this ID, you can use the [List
            flow definitions](#/operation/flows-list_flow_definitions_by_page)
            endpoint for the page and use the flow `ref` value.
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResetComponentRequest'
      responses:
        '201':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResetComponentResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/flows/{flowId}/variants/{variantId}:
    post:
      tags:
        - Flow definitions
      summary: Set up a component variant
      description: >-
        Sets up a variant for a specific A/B/n test or personalization by
        copying, hiding, or swapping the original component.
      operationId: flows-setup_variant
      parameters:
        - name: flowId
          in: path
          required: true
          schema:
            type: string
            title: Flowid
            description: >-
              The unique identifier of the A/B/n test or personalization to set
              up. To get this ID, you can use the [List flow
              definitions](#/operation/flows-list_flow_definitions_by_page)
              endpoint for the page and use the flow `ref` value.
            example: 1fdfbc60-9646-469d-b971-2b0f4c033fbc
          description: >-
            The unique identifier of the A/B/n test or personalization to set
            up. To get this ID, you can use the [List flow
            definitions](#/operation/flows-list_flow_definitions_by_page)
            endpoint for the page and use the flow `ref` value.
          example: 1fdfbc60-9646-469d-b971-2b0f4c033fbc
        - name: variantId
          in: path
          required: true
          schema:
            type: string
            title: Variantid
            description: >-
              The unique identifier of the personalization or A/B/n test variant
              to set up. To get this ID, you can use the [List flow
              definitions](#/operation/flows-list_flow_definitions_by_page)
              endpoint. Use the `transpiledVariants[].ref`, or `variants[].ref`
              when available.
            example: 8ea2cb6f-a92a-4c05-88a3-a4c0b29c63a8
          description: >-
            The unique identifier of the personalization or A/B/n test variant
            to set up. To get this ID, you can use the [List flow
            definitions](#/operation/flows-list_flow_definitions_by_page)
            endpoint. Use the `transpiledVariants[].ref`, or `variants[].ref`
            when available.
          example: 8ea2cb6f-a92a-4c05-88a3-a4c0b29c63a8
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetupVariantRequest'
      responses:
        '201':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SetupVariantResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
    get:
      tags:
        - Flow definitions
      summary: Get flow definition variant details
      description: >-
        Retrieves the details of a specific A/B/n test or personalization
        variant, including its datasource and components.
      operationId: flows-get_variant
      parameters:
        - name: flowId
          in: path
          required: true
          schema:
            type: string
            title: Flowid
            description: >-
              The unique identifier of the personalization or A/B/n test to
              retrieve. To get this ID, you can use the [List flow
              definitions](#/operation/flows-list_flow_definitions_by_page) for
              the page and use the flow `ref` value.
            example: 1fdfbc60-9646-469d-b971-2b0f4c033fbc
          description: >-
            The unique identifier of the personalization or A/B/n test to
            retrieve. To get this ID, you can use the [List flow
            definitions](#/operation/flows-list_flow_definitions_by_page) for
            the page and use the flow `ref` value.
          example: 1fdfbc60-9646-469d-b971-2b0f4c033fbc
        - name: variantId
          in: path
          required: true
          schema:
            type: string
            title: Variantid
            description: >-
              The unique identifier of the personalization or A/B/n test variant
              to retrieve. To get this ID, you can use the [List flow
              definitions](#/operation/flows-list_flow_definitions_by_page)
              endpoint. Use the `transpiledVariants[].ref`, or `variants[].ref`
              when available.
            example: 8ea2cb6f-a92a-4c05-88a3-a4c0b29c63a8
          description: >-
            The unique identifier of the personalization or A/B/n test variant
            to retrieve. To get this ID, you can use the [List flow
            definitions](#/operation/flows-list_flow_definitions_by_page)
            endpoint. Use the `transpiledVariants[].ref`, or `variants[].ref`
            when available.
          example: 8ea2cb6f-a92a-4c05-88a3-a4c0b29c63a8
        - name: language
          in: query
          required: false
          schema:
            type: string
            description: >-
              The language version of the page for which to retrieve the variant
              details.
            default: en
            title: Language
            example: en
          description: >-
            The language version of the page for which to retrieve the variant
            details.
          example: en
        - name: version
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            description: >-
              The page version for which to retrieve the variant details. If not
              specified, the latest version will be used.
            title: Version
            example: 5
          description: >-
            The page version for which to retrieve the variant details. If not
            specified, the latest version will be used.
          example: 5
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VariantInfoResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/brandkits:
    get:
      tags:
        - Brand kits
      summary: List brand kits
      description: Retrieves all brand kits available within an organization.
      operationId: brandkits-list_brandkits
      parameters:
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ListBrandKitResponse'
                title: Response Brandkits-List Brandkits
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/brandkits/{brandkitId}:
    get:
      tags:
        - Brand kits
      summary: Retrieve a brand kit by ID
      description: >-
        Retrieves a brand kit by ID, including its sections and associated
        fields (subsections).
      operationId: brandkits-get_brandkit_by_id
      parameters:
        - name: brandkitId
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Brandkitid
            description: >-
              The unique identifier of the brand kit to retrieve. To get this
              ID, you can use the [List brand
              kits](#operation/brandkits-list_brandkits) endpoint to retrieve
              the list of brand kits in your organization.
            example: f2657200-e881-4027-8ddf-a9810eb9d177
          description: >-
            The unique identifier of the brand kit to retrieve. To get this ID,
            you can use the [List brand
            kits](#operation/brandkits-list_brandkits) endpoint to retrieve the
            list of brand kits in your organization.
          example: f2657200-e881-4027-8ddf-a9810eb9d177
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBrandKitResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/brief/brief-types:
    get:
      tags:
        - Briefs
      summary: List brief types
      description: >-
        Retrieves a list of available brief types, including their metadata and
        field definitions such as field types, labels, validation rules, and
        other information used by AI when generating briefs.
      operationId: list-brief_types
      parameters:
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListBriefTypesResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/brief:
    get:
      tags:
        - Briefs
      summary: List briefs
      description: Retrieves a list of briefs in your organization.
      operationId: list-briefs
      parameters:
        - name: name
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Name
            description: >-
              The name of the brief to filter the list of briefs by. Supports
              partial matches, for example, if you specify 'summer', it will
              match briefs with names like 'Summer Campaign Brief' or '2026
              Summer Product Launch Brief'.
            example: summer
          description: >-
            The name of the brief to filter the list of briefs by. Supports
            partial matches, for example, if you specify 'summer', it will match
            briefs with names like 'Summer Campaign Brief' or '2026 Summer
            Product Launch Brief'.
          example: summer
        - name: status
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Status
            description: The status of the brief, such as draft, active, or archived.
            example: active
          description: The status of the brief, such as draft, active, or archived.
          example: active
        - name: creator_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Creator Id
            description: The unique identifier of the user who created the brief.
            example: user-1234
          description: The unique identifier of the user who created the brief.
          example: user-1234
        - name: type_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Type Id
            description: >-
              The unique identifier of the brief type to filter briefs by. To
              get the list of brief type IDs, you can use the [List brief
              types](#operation/list-brief_types) endpoint.
            example: brieftype-1234
          description: >-
            The unique identifier of the brief type to filter briefs by. To get
            the list of brief type IDs, you can use the [List brief
            types](#operation/list-brief_types) endpoint.
          example: brieftype-1234
        - name: sort_by
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Sort By
            description: The field by which to sort the list of briefs.
            example: name
          description: The field by which to sort the list of briefs.
          example: name
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListBriefsResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
    post:
      tags:
        - Briefs
      summary: Create a brief
      description: >-
        Creates a brief using the specified brief type ID, locale, and provided
        data fields. The new brief is saved as a draft in the [Brief management
        tool](https://doc.sitecore.com/sai/en/users/sitecoreai/managing-briefs.html).
      operationId: brief-create_brief
      parameters:
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBriefRequestModel'
      responses:
        '201':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateBriefResponseModel'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/brief/generate:
    post:
      tags:
        - Briefs
      summary: Generate a brief
      description: >-
        Generates a brief draft and the content of its fields, using the
        specified brief type, brand kit, and prompt. This endpoint does not save
        the generated draft. You can copy the response and use the [Create a
        brief](#operation/brief-create_brief) endpoint to save it in the [Brief
        management
        tool](https://doc.sitecore.com/sai/en/users/sitecoreai/managing-briefs.html).
      operationId: briefs-generate_brief
      parameters:
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateBriefRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenerateBriefResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/briefs/generate:
    post:
      tags:
        - Briefs
      summary: Generate a brief
      description: >-
        Generates a brief and the content of its fields, using the specified
        brief type, brand kit, and prompt. This endpoint does not save the
        generated draft. You can copy the response and use the [Create a
        brief](#operation/brief-create_brief) endpoint to save it in the [Brief
        management
        tool](https://doc.sitecore.com/sai/en/users/sitecoreai/managing-briefs.html). 

         **Note:** This endpoint is maintained for backward compatibility and will be deprecated and removed on September 20, 2026. Use the [Generate a brief endpoint](https://api-docs.sitecore.com/sai/agent-api/briefs/briefs-generate_brief) going forward.
      operationId: briefs-generate_brief_deprecated
      deprecated: true
      parameters:
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateBriefRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenerateBriefResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/brief/brief-types/{brief_type_id}:
    get:
      tags:
        - Briefs
      summary: Retrieve a brief type by ID
      description: >-
        Retrieves a specific brief type by its ID, including its field
        definitions and metadata.
      operationId: get-brief_type_by_id
      parameters:
        - name: brief_type_id
          in: path
          required: true
          schema:
            type: string
            title: Brief Type Id
            description: >-
              The unique identifier of the brief type to retrieve. To get this
              ID, you can use the [List brief
              types](#operation/list-brief_types) endpoint to retrieve the list
              of brief types available in your organization.
            example: bt-1234
          description: >-
            The unique identifier of the brief type to retrieve. To get this ID,
            you can use the [List brief types](#operation/list-brief_types)
            endpoint to retrieve the list of brief types available in your
            organization.
          example: bt-1234
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBriefTypeResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/brief/{brief_id}:
    get:
      tags:
        - Briefs
      summary: Retrieve a brief by ID
      description: >-
        Retrieves a specific brief by its ID, including its fields, type
        reference, and metadata.
      operationId: get-brief_by_id
      parameters:
        - name: brief_id
          in: path
          required: true
          schema:
            type: string
            title: Brief Id
            description: >-
              The unique identifier of the brief to retrieve. To get this ID,
              you can use the [List briefs](#operation/list-briefs) endpoint to
              retrieve the list of briefs in your organization.
            example: brief-1234
          description: >-
            The unique identifier of the brief to retrieve. To get this ID, you
            can use the [List briefs](#operation/list-briefs) endpoint to
            retrieve the list of briefs in your organization.
          example: brief-1234
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBriefResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
    put:
      tags:
        - Briefs
      summary: Update a brief
      description: >-
        Partially updates an existing brief using the provided fields. Only the
        fields included in the request body will be updated; all other existing
        fields will remain unchanged.
      operationId: brief-update_brief
      parameters:
        - name: brief_id
          in: path
          required: true
          schema:
            type: string
            title: Brief Id
            description: >-
              The unique identifier of the brief to retrieve. To get this ID,
              you can use the [List briefs](#operation/list-briefs) endpoint to
              retrieve the list of briefs in your organization.
            example: brief-1234
          description: >-
            The unique identifier of the brief to retrieve. To get this ID, you
            can use the [List briefs](#operation/list-briefs) endpoint to
            retrieve the list of briefs in your organization.
          example: brief-1234
        - name: x-sc-job-id
          in: header
          required: false
          schema:
            description: >-
              A unique identifier for the job, used to trace, audit, and revert
              actions performed by an AI agent through the Agent API.
            title: X-Sc-Job-Id
            example: job-1234
          description: >-
            A unique identifier for the job, used to trace, audit, and revert
            actions performed by an AI agent through the Agent API.
          example: job-1234
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateBriefRequestModel'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateBriefResponse'
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/jobs/{jobId}/revert:
    post:
      tags:
        - Jobs
      summary: Revert a job
      description: >-
        Reverts the operations linked to a specific job ID, restoring the state
        prior to execution. This is useful for undoing changes made by automated
        processes.
      operationId: jobs-revert_job
      parameters:
        - name: jobId
          in: path
          required: true
          schema:
            type: string
            title: Jobid
            description: The unique identifier of the job to be reverted.
            example: job-1234
          description: The unique identifier of the job to be reverted.
          example: job-1234
      responses:
        '201':
          description: Successful response
          content:
            application/json:
              schema:
                title: Response Jobs-Revert Job
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/jobs/{jobId}:
    get:
      tags:
        - Jobs
      summary: Retrieve job details
      description: Retrieves the details of a specific job.
      operationId: jobs-get_job
      parameters:
        - name: jobId
          in: path
          required: true
          schema:
            type: string
            title: Jobid
            description: The unique identifier of the job to retrieve.
            example: job-1234
          description: The unique identifier of the job to retrieve.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                title: Response Jobs-Get Job
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
  /api/v1/jobs/{jobId}/operations:
    get:
      tags:
        - Jobs
      summary: List job operations
      description: >-
        Retrieves a list of actions associated with a specific job ID, including
        operation type, status, and timestamps, to support tracing and potential
        reversion of those actions.
      operationId: jobs-list_operations
      parameters:
        - name: jobId
          in: path
          required: true
          schema:
            type: string
            title: Jobid
            description: The unique identifier of the job for which to list operations.
            example: job-1234
          description: The unique identifier of the job for which to list operations.
          example: job-1234
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                title: Response Jobs-List Operations
        '422':
          description: Unprocessable entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
components:
  schemas:
    AddComponentRequest:
      properties:
        componentRenderingId:
          type: string
          format: uuid
          title: Componentrenderingid
          description: The unique identifier of the component rendering definition.
          example: 86a03271-dff4-470a-92bd-b68c67de2e25
        placeholderPath:
          type: string
          title: Placeholderpath
          description: The path of the placeholder where the component will be placed.
          example: /main/content
        componentItemName:
          type: string
          title: Componentitemname
          description: The name of the component item to create.
          example: New sidebar component
        language:
          type: string
          title: Language
          description: The language code for the component.
          default: en
          example: en
        fields:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Fields
          description: Field values to set on the component or its datasource.
        insertBeforeComponentId:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Insertbeforecomponentid
          description: >-
            The unique identifier of the component before which the new
            component will be inserted.
          example: 9c6d53e3-fe57-4638-af7b-6d68304c7a94
        insertAfterComponentId:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Insertaftercomponentid
          description: >-
            The unique identifier of the component after which the new component
            will be inserted.
          example: 9c6d53e3-fe57-4638-af7b-6d68304c7a94
      type: object
      required:
        - componentRenderingId
        - placeholderPath
        - componentItemName
      title: AddComponentRequest
    AddComponentResponse:
      properties:
        componentId:
          type: string
          format: uuid
          title: Componentid
          description: The unique identifier of the newly added component.
          example: d290f1ee-6c54-4b01-90e6-d701748f0851
        pageId:
          type: string
          format: uuid
          title: Pageid
          description: The unique identifier of the page to which the component was added.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        placeholderId:
          anyOf:
            - type: string
            - type: 'null'
          title: Placeholderid
          description: >-
            The unique identifier of the placeholder where the component was
            placed.
          example: 123e4567-e89b-12d3-a456-426614174000
        datasourceId:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Datasourceid
          description: >-
            The unique identifier of the datasource used by the component, if
            applicable.
          example: 9f8c7e6d-5b4a-4c3d-8e7f-1a2b3c4d5e6f
      type: object
      title: AddComponentResponse
    AddLanguageRequest:
      properties:
        language:
          type: string
          title: Language
          description: The language code of the new version to add.
          default: en
          example: en
      type: object
      title: AddLanguageRequest
    AddLanguageResponse:
      properties:
        success:
          type: boolean
          title: Success
          description: Whether the language version was added successfully.
          example: true
      type: object
      title: AddLanguageResponse
    AllowedChildTemplateModel:
      properties:
        name:
          type: string
          title: Name
          description: The name of the allowed child template.
          example: Full Width Page
        templateId:
          type: string
          format: uuid
          title: Templateid
          description: The unique identifier of the allowed child template.
          example: 9f8c7e6d-5b4a-4c3d-8e7f-1a2b3c4d5e6f
      type: object
      title: AllowedChildTemplateModel
    AssetInformationMetadata:
      properties:
        width:
          anyOf:
            - type: integer
            - type: 'null'
          title: Width
          description: The width of the asset in pixels, or null if not applicable.
          example: 1920
        height:
          anyOf:
            - type: integer
            - type: 'null'
          title: Height
          description: The height of the asset in pixels, or null if not applicable.
          example: 1080
        format:
          anyOf:
            - type: string
            - type: 'null'
          title: Format
          description: >-
            The file format of the asset (e.g., jpg, png), or null if not
            applicable.
          example: jpg
        alt_text:
          anyOf:
            - type: string
            - type: 'null'
          title: Alt Text
          description: Alternative text for the asset, or null if not provided.
          example: A beautiful sunset over the mountains.
      type: object
      title: AssetInformationMetadata
    AssetInformationResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: The unique identifier of the asset.
          example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: The name of the asset.
          example: Sample Image
        type:
          anyOf:
            - type: string
            - type: 'null'
          title: Type
          description: The type of asset, for example, image or document.
          example: image
        url:
          anyOf:
            - type: string
            - type: 'null'
          title: Url
          description: The URL where the asset can be accessed.
          example: https://example.com/assets/a1b2c3d4-e5f6-7890-abcd-ef1234567890
        size:
          anyOf:
            - type: integer
            - type: 'null'
          title: Size
          description: The size of the asset in bytes.
          example: 204800
        metadata:
          anyOf:
            - $ref: '#/components/schemas/AssetInformationMetadata'
            - type: 'null'
          description: Additional metadata about the asset.
        innerItem:
          anyOf:
            - $ref: '#/components/schemas/InnerItemModel'
            - type: 'null'
          description: Details about the inner item if the asset is a container item.
      type: object
      title: AssetInformationResponse
    AssetMetadataModel:
      properties:
        alt:
          anyOf:
            - type: string
            - type: 'null'
          title: Alt
          description: Alternative text for the asset, or null if not provided.
          example: A beautiful sunset over the mountains.
        width:
          anyOf:
            - type: integer
            - type: 'null'
          title: Width
          description: The width of the asset in pixels, or null if not applicable.
          example: 1920
        height:
          anyOf:
            - type: integer
            - type: 'null'
          title: Height
          description: The height of the asset in pixels, or null if not applicable.
          example: 1080
        extension:
          anyOf:
            - type: string
            - type: 'null'
          title: Extension
          description: >-
            The file extension of the asset (e.g., jpg, png), or null if not
            applicable.
          example: jpg
        size:
          anyOf:
            - type: integer
            - type: 'null'
          title: Size
          description: The size of the asset in bytes, or null if not applicable.
          example: 204800
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: A description of the asset, or null if not provided.
          example: This is a sample image used for demonstration purposes.
      type: object
      title: AssetMetadataModel
    AssetSearchResultModel:
      properties:
        itemId:
          type: string
          format: uuid
          title: Itemid
          description: The unique identifier of the asset.
          example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
        path:
          type: string
          title: Path
          description: The path of the asset in the content tree.
          example: /sitecore/media library/Images/Sample Image
        name:
          type: string
          title: Name
          description: The name of the asset.
          example: Sample Image
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Displayname
          description: The display name of the asset, or null if not set.
          example: Sample Image Display Name
        type:
          anyOf:
            - type: string
            - type: 'null'
          title: Type
          description: The type of asset such as image or document.
          example: image
        templateId:
          type: string
          format: uuid
          title: Templateid
          description: The unique identifier of the template used by the asset.
          example: 9f8c7e6d-5b4a-4c3d-8e7f-1a2b3c4d5e6f
        templateName:
          type: string
          title: Templatename
          description: The name of the template used by the asset.
          example: Image
        innerItem:
          anyOf:
            - $ref: '#/components/schemas/AssetMetadataModel'
            - type: 'null'
          description: Metadata about the asset.
      type: object
      title: AssetSearchResultModel
    Body_assets-upload_asset:
      properties:
        file:
          type: string
          contentMediaType: application/octet-stream
          title: File
          description: >-
            The file to upload as an asset. You must select a file from your
            local machine.
        upload_request:
          type: string
          title: Upload Request
          description: |2+

               A JSON string containing the following parameters for uploading an asset: 
             -  `name` - the name of the asset. 
             
             - `itemPath` - the path to the asset. 

             - `language` - the language code of the asset. 
             
             - `extension` - the asset's file extension. 
             
             - `siteName` - the name of the site. process.

             JSON structure with example values: 

             ```json
            {
             "name":  "{YOUR_ASSETNAME}.jpg",
             "itemPath": "/sitecore/Media Library/Images",
            "language": "en",
             "extension": "jpg",
             "siteName": "skate-park"
            }

          example: |-
            {
              "name":"homeimage.jpg",
             "itemPath": "/sitecore/Media Library/Images",
             "language": "en",
             "extension": "jpg",
             "siteName": "skate-park"
              }
      type: object
      required:
        - file
        - upload_request
      title: Body_assets-upload_asset
    BooleanConfig:
      properties:
        type:
          type: string
          const: Boolean
          title: Type
          description: The type of field in the brief type.
        name:
          type: string
          title: Name
          description: >-
            The name of the field. Must be alphanumeric with no spaces or
            special characters.
          example: TargetAudience
        label:
          additionalProperties:
            type: string
          type: object
          title: Label
          description: >-
            The display label of the field, which can be localized for different
            languages.
          example:
            en-us: Target audience
        helpText:
          additionalProperties:
            type: string
          type: object
          title: Helptext
          description: >-
            The text providing help or guidance for the field, which can be
            localized for different languages.
          example:
            en-us: Whether the campaign is targeting a specific audience.
        required:
          type: boolean
          title: Required
          description: Whether the field is required.
          example: true
        aiEditable:
          type: boolean
          title: Aieditable
          description: Whether the field is editable by AI.
          example: false
        aiIntent:
          anyOf:
            - type: string
            - type: 'null'
          title: Aiintent
          description: The AI intent associated with the field.
          example: >-
            This field should be used to adapt language and tone for the
            intended audience.
      type: object
      title: BooleanConfig
    BooleanFieldValue:
      properties:
        type:
          type: string
          const: Boolean
          title: Type
          description: The type of field in the brief type.
        value:
          type: boolean
          title: Value
          description: The value of the field.
          example: true
      type: object
      required:
        - type
        - value
      title: BooleanFieldValue
      description: Boolean field value
    BriefFieldValue:
      properties:
        label:
          anyOf:
            - type: string
            - type: 'null'
          title: Label
          description: The display label for the field.
          example: Objectives
        type:
          type: string
          title: Type
          description: The type of field in the brief.
          example: RichText
        value:
          title: Value
          description: The generated content for the field.
          example: >-
            The holiday campaign aims to inspire and empower audiences to
            embrace a healthier and more energetic lifestyle.
      additionalProperties: true
      type: object
      title: BriefFieldValue
      description: Model for individual brief field values.
    BriefTypeLink:
      properties:
        type:
          type: string
          title: Type
        relatedType:
          type: string
          title: Relatedtype
        id:
          type: string
          title: Id
        uri:
          anyOf:
            - type: string
            - type: 'null'
          title: Uri
      type: object
      title: BriefTypeLink
    BriefTypeModel:
      properties:
        id:
          type: string
          title: Id
          description: The unique UUID of the brief type.
          example: f2657200-e881-4027-8ddf-a9810eb9d177
        name:
          type: string
          title: Name
          description: The name of the brief type.
          example: travel_campaigns
        label:
          additionalProperties:
            type: string
          type: object
          title: Label
          description: >-
            The label of the brief type, which can be localized for different
            languages.
          example:
            en-us: Travel campaigns
        icon:
          anyOf:
            - type: string
            - type: 'null'
          title: Icon
          description: >-
            The name of the icon associated with the brief type, which is used
            to visually represent the brief type in the UI.
          example: mdiFileDocumentOutline
        iconColor:
          anyOf:
            - type: string
            - type: 'null'
          title: Iconcolor
          description: The color of the icon associated with the brief type.
          example: primary
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: The description of the brief type.
          example: Briefs used for planning and executing travel marketing campaigns.
        fields:
          items:
            oneOf:
              - $ref: '#/components/schemas/SimpleTextConfig'
              - $ref: '#/components/schemas/RichTextConfig'
              - $ref: '#/components/schemas/TimelineConfig'
              - $ref: '#/components/schemas/BudgetConfig'
              - $ref: '#/components/schemas/DateTimeConfig'
              - $ref: '#/components/schemas/BooleanConfig'
            discriminator:
              propertyName: type
              mapping:
                Boolean: '#/components/schemas/BooleanConfig'
                Budget: '#/components/schemas/BudgetConfig'
                DateTime: '#/components/schemas/DateTimeConfig'
                RichText: '#/components/schemas/RichTextConfig'
                SimpleText: '#/components/schemas/SimpleTextConfig'
                Timeline: '#/components/schemas/TimelineConfig'
          type: array
          title: Fields
          description: >-
            The list of fields that belong to this brief type, including their
            configurations and metadata.
      type: object
      title: BriefTypeModel
    BudgetConfig:
      properties:
        type:
          type: string
          const: Budget
          title: Type
          description: The type of field in the brief type.
        name:
          type: string
          title: Name
          description: >-
            The name of the field. Must be alphanumeric with no spaces or
            special characters.
          example: TargetAudience
        label:
          additionalProperties:
            type: string
          type: object
          title: Label
          description: >-
            The display label of the field, which can be localized for different
            languages.
          example:
            en-us: Target audience
        helpText:
          additionalProperties:
            type: string
          type: object
          title: Helptext
          description: >-
            The text providing help or guidance for the field, which can be
            localized for different languages.
          example:
            en-us: Describe the target audience for the content.
        required:
          type: boolean
          title: Required
          description: Whether the field is required.
          example: true
        aiEditable:
          type: boolean
          title: Aieditable
          description: Whether the field is editable by AI.
          example: false
        aiIntent:
          anyOf:
            - type: string
            - type: 'null'
          title: Aiintent
          description: The AI intent associated with the field.
          example: >-
            This field should be used to adapt language and tone for the
            intended audience.
        currencies:
          items:
            type: string
          type: array
          title: Currencies
          description: >-
            A list of allowed currencies for the budget field, specified as ISO
            currency codes.
          example:
            - USD
            - EUR
      type: object
      title: BudgetConfig
    BudgetFieldValue:
      properties:
        type:
          type: string
          const: Budget
          title: Type
          description: >-
            The type of the field value, which is always 'Budget' for this
            schema.
        value:
          $ref: '#/components/schemas/BudgetValue'
          description: The budget amount and currency.
      type: object
      required:
        - type
        - value
      title: BudgetFieldValue
      description: The Budget field value.
    BudgetValue:
      properties:
        amount:
          type: number
          title: Amount
          description: The numeric amount of the budget.
          example: 10000
        currency:
          type: string
          title: Currency
          description: The ISO currency code for the budget amount.
          example: USD
      type: object
      required:
        - amount
        - currency
      title: BudgetValue
      description: Budget field value
    ChildContentItemResponse:
      properties:
        itemId:
          type: string
          format: uuid
          title: Itemid
          description: The unique identifier of the content item.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        name:
          type: string
          title: Name
          description: The name of the content item.
          example: New Article
        path:
          type: string
          title: Path
          description: The path of the content item in the content tree.
          example: /sitecore/content/Skate Park/Home/New Article
        workflow:
          anyOf:
            - $ref: '#/components/schemas/WorkflowModel'
            - type: 'null'
          description: >-
            The workflow information of the content item, or null if not in a
            workflow.
        version:
          anyOf:
            - type: integer
            - type: 'null'
          title: Version
          description: The version number of the content item, or null if not applicable.
          example: 1
        template:
          $ref: '#/components/schemas/models__content__TemplateModel'
          description: The template used by the content item.
        fields:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Fields
          description: >-
            A key-value map of field names and their values for the content
            item.
        created_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Created At
          description: The timestamp when the content item was created.
          example: '2025-01-15T10:30:00Z'
        updated_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updated At
          description: The timestamp when the content item was updated.
          example: '2025-01-15T10:30:00Z'
      type: object
      title: ChildContentItemResponse
    ComponentDetailsModel:
      properties:
        itemId:
          type: string
          title: Itemid
          description: The unique identifier of the item.
          example: d290f1ee-6c54-4b01-90e6-d701748f0851
        name:
          type: string
          title: Name
          description: The name of the item.
          example: Promo
        displayName:
          type: string
          title: Displayname
          description: The display name of the item.
          example: Promotional Banner
        path:
          type: string
          title: Path
          description: The path to the item.
          example: /sitecore/content/Home/Promotions/Banners/Promotional Banner
        template:
          $ref: '#/components/schemas/ComponentTemplateModel'
          description: The template used by the component.
        fields:
          $ref: '#/components/schemas/ComponentFields'
          description: The fields associated with the component.
      type: object
      title: ComponentDetailsModel
    ComponentFields:
      properties:
        nodes:
          items:
            $ref: '#/components/schemas/models__pages__FieldModel'
          type: array
          title: Nodes
          description: A list of field nodes associated with the component.
      type: object
      title: ComponentFields
    ComponentGroup:
      properties:
        title:
          type: string
          title: Title
          description: The title of the component group.
          example: Dynamic Placeholders
        components:
          items:
            $ref: '#/components/schemas/ComponentInfo'
          type: array
          title: Components
          description: A list of components in the group.
      type: object
      title: ComponentGroup
    ComponentInfo:
      properties:
        category:
          type: string
          title: Category
          description: The category of the component.
          example: Dynamic Placeholders
        displayName:
          type: string
          title: Displayname
          description: The display name of the component.
          example: Partial Design Dynamic Placeholder
        iconUrl:
          type: string
          title: Iconurl
          description: The URL of the icon representing the component.
          example: /-/icon/Software/32x32/element.png.aspx
        id:
          type: string
          format: uuid
          title: Id
          description: The unique identifier of the component.
          example: 86a03271-dff4-470a-92bd-b68c67de2e25
        componentName:
          type: string
          title: Componentname
          description: The internal name of the component.
          example: PartialDesignDynamicPlaceholder
      type: object
      title: ComponentInfo
    ComponentModel:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: The unique identifier of the component instance.
          example: d290f1ee-6c54-4b01-90e6-d701748f0851
        componentId:
          type: string
          format: uuid
          title: Componentid
          description: The unique identifier of the component rendering definition.
          example: 86a03271-dff4-470a-92bd-b68c67de2e25
        componentName:
          type: string
          title: Componentname
          description: The internal name of the component.
          example: PartialDesignDynamicPlaceholder
        dataSource:
          anyOf:
            - type: string
            - type: 'null'
          title: Datasource
          description: >-
            The unique identifier of the datasource item used by the component,
            or null if not applicable.
          example: 9f8c7e6d-5b4a-4c3d-8e7f-1a2b3c4d5e6f
        placeholder:
          anyOf:
            - type: string
            - type: 'null'
          title: Placeholder
          description: >-
            The path of the placeholder where the component is placed, or null
            if not applicable.
          example: /main/content
        parameters:
          anyOf:
            - $ref: '#/components/schemas/ComponentParametersModel'
            - type: 'null'
          description: Parameters configured for the component.
        deviceId:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Deviceid
          description: >-
            The unique identifier of the device definition for which the
            component is configured, or null if not device-specific.
          example: 123e4567-e89b-12d3-a456-426614174000
        layoutId:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Layoutid
          description: >-
            The unique identifier of the layout definition in which the
            component is placed, or null if not applicable.
          example: 321e6547-e89b-12d3-a456-426614174000
        componentDetails:
          anyOf:
            - $ref: '#/components/schemas/ComponentDetailsModel'
            - type: 'null'
          description: Detailed information about the component item.
        editable:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Editable
          description: Whether the component is editable.
          example: true
      type: object
      title: ComponentModel
    ComponentParametersModel:
      properties:
        GridParameters:
          anyOf:
            - type: string
            - type: 'null'
          title: Gridparameters
          description: Grid parameters for the component, or null if not applicable.
          example: col-md-6
        FieldNames:
          anyOf:
            - type: string
            - type: 'null'
          title: Fieldnames
          description: >-
            Field names associated with the component, or null if not
            applicable.
          example: Title, Description
        Styles:
          anyOf:
            - type: string
            - type: 'null'
          title: Styles
          description: The styles for the component, or null if not applicable.
          example: 'background-color: red; color: white;'
        RenderingIdentifier:
          anyOf:
            - type: string
            - type: 'null'
          title: Renderingidentifier
          description: The unique identifier of the rendering, or null if not applicable.
          example: 86a03271-dff4-470a-92bd-b68c67de2e25
        CSSStyles:
          anyOf:
            - type: string
            - type: 'null'
          title: Cssstyles
          description: CSS styles for the component, or null if not applicable.
          example: 'font-size: 16px; margin: 10px;'
        DynamicPlaceholderId:
          anyOf:
            - type: string
            - type: 'null'
          title: Dynamicplaceholderid
          description: The identifier for dynamic placeholders, or null if not applicable.
          example: placeholder-1234
      type: object
      title: ComponentParametersModel
    ComponentResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: The unique identifier of the component.
          example: 86a03271-dff4-470a-92bd-b68c67de2e25
        name:
          type: string
          title: Name
          description: The name of the component.
          example: Promo
        datasourceTemplateId:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Datasourcetemplateid
          description: >-
            The template ID for the component's datasource. May be None if the
            component has no datasource template.
          example: 9f8c7e6d-5b4a-4c3d-8e7f-1a2b3c4d5e6f
        datasourceLocations:
          items:
            type: string
          type: array
          title: Datasourcelocations
          description: A list of locations for the component's datasource.
          example:
            - query:$site/*[@@name='Data']/*[@@templatename='Promo Folder']
        datasourceTemplatePath:
          type: string
          title: Datasourcetemplatepath
          description: The path to the datasource template.
          default: ''
          example: Feature/JSS Experience Accelerator/Page Content/Promo
        datasourceFields:
          items:
            $ref: '#/components/schemas/DatasourceFieldNode'
          type: array
          title: Datasourcefields
          description: A list of fields for the datasource.
        datasourceAutoGenerated:
          type: boolean
          title: Datasourceautogenerated
          description: Whether the datasource is auto-generated.
          example: false
        datasourceRequired:
          type: boolean
          title: Datasourcerequired
          description: Whether the datasource is required.
          example: true
        hasDynamicPlaceholder:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Hasdynamicplaceholder
          description: Whether the component has a dynamic placeholder.
          example: true
      type: object
      title: ComponentResponse
    ComponentShortInfo:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: The unique identifier of the component.
          example: 86a03271-dff4-470a-92bd-b68c67de2e25
        name:
          type: string
          title: Name
          description: The name of the component.
          example: Promo
      type: object
      title: ComponentShortInfo
    ComponentTemplateModel:
      properties:
        templateId:
          type: string
          format: uuid
          title: Templateid
          description: The unique identifier of the template.
          example: 9f8c7e6d-5b4a-4c3d-8e7f-1a2b3c4d5e6f
        name:
          type: string
          title: Name
          description: The name of the template.
          example: Promo
      type: object
      title: ComponentTemplateModel
    Components:
      properties:
        groups:
          items:
            $ref: '#/components/schemas/ComponentGroup'
          type: array
          title: Groups
          description: A list of component groups.
        ungrouped:
          items:
            $ref: '#/components/schemas/ComponentInfo'
          type: array
          title: Ungrouped
          description: A list of ungrouped components.
          default: []
      type: object
      title: Components
    ComponentsResponse:
      properties:
        components:
          $ref: '#/components/schemas/Components'
          description: Components available for the specified site.
      type: object
      title: ComponentsResponse
    ConditionGroupInput:
      properties:
        union_type:
          anyOf:
            - type: string
              enum:
                - AND
                - OR
            - type: 'null'
          title: Union Type
          description: >-
            The union type for combining conditions within the group. Either
            'AND' or 'OR'. The first group should not have a union type.
          example: AND
        conditions:
          items:
            $ref: '#/components/schemas/ConditionInput'
          type: array
          title: Conditions
          description: A list of conditions in this group.
      type: object
      required:
        - conditions
      title: ConditionGroupInput
      description: Represents a group of conditions with a union type
    ConditionInput:
      properties:
        condition_template_id:
          type: string
          format: uuid
          title: Condition Template Id
          description: The unique identifier of the condition template to apply.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        condition_params:
          additionalProperties: true
          type: object
          title: Condition Params
          description: A key-value map of parameters for the condition template.
          example:
            timeOnSite: '30'
      type: object
      required:
        - condition_template_id
        - condition_params
      title: ConditionInput
      description: Represents a single condition in a condition group
    ConditionTemplate:
      properties:
        href:
          anyOf:
            - type: string
            - type: 'null'
          title: Href
          description: The URL of the condition template.
          example: https://www.example.com/condition-template
        ref:
          type: string
          title: Ref
          description: A reference identifier for the condition template.
          example: ConditionTemplate-12345
        name:
          type: string
          title: Name
          description: The name of the condition template.
          example: Time on Site
        modifiedByRef:
          anyOf:
            - type: string
            - type: 'null'
          title: Modifiedbyref
          description: >-
            A reference identifier for the user who last modified the condition
            template.
          example: User-67890
        modifiedAt:
          anyOf:
            - type: string
            - type: 'null'
          title: Modifiedat
          description: The timestamp when the condition template was last modified.
          example: '2025-01-15T10:30:00Z'
        revision:
          anyOf:
            - type: integer
            - type: 'null'
          title: Revision
          description: The revision number of the condition template.
          example: 3
        archived:
          type: boolean
          title: Archived
          description: Whether the condition template is archived.
          example: false
        friendlyId:
          type: string
          title: Friendlyid
          description: A user-friendly identifier for the condition template.
          example: time_on_site
        type:
          type: string
          title: Type
          description: The type of the condition template.
          example: time-based
        status:
          type: string
          title: Status
          description: The status of the condition template.
          example: active
        icon:
          anyOf:
            - type: string
            - type: 'null'
          title: Icon
          description: The icon representing the condition template.
          example: https://www.example.com/icons/time-on-site.png
        additionalFields:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Additionalfields
          description: A key-value map of additional fields for the condition template.
        templateElements:
          anyOf:
            - items:
                additionalProperties: true
                type: object
              type: array
            - type: 'null'
          title: Templateelements
          description: A list of template elements for the condition template.
        defaultTemplate:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Defaulttemplate
          description: Whether the condition template is the default.
          example: false
        tags:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Tags
          description: A list of tags associated with the condition template.
        customTemplate:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Customtemplate
          description: Whether the condition template is custom.
          example: true
        clientKey:
          anyOf:
            - type: string
            - type: 'null'
          title: Clientkey
          description: >-
            The client key for the condition template, or null if not
            applicable.
          example: pers123jgltUp
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: A description of the condition template, or null if not provided.
          example: This condition is based on the time a user spends on the site.
        revisionComment:
          anyOf:
            - type: string
            - type: 'null'
          title: Revisioncomment
          description: >-
            A comment about the revision of the condition template, or null if
            not provided.
          example: Updated time thresholds for better accuracy.
        render:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Render
          description: Whether to render the condition template, or null if not applicable.
          example: true
      type: object
      title: ConditionTemplate
    ContentItemResponse:
      properties:
        itemId:
          type: string
          format: uuid
          title: Itemid
          description: The unique identifier of the content item.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        name:
          type: string
          title: Name
          description: The name of the content item.
          example: New Article
        path:
          type: string
          title: Path
          description: The path of the content item in the content tree.
          example: /sitecore/content/Skate Park/Home/New Article
        workflow:
          anyOf:
            - $ref: '#/components/schemas/WorkflowModel'
            - type: 'null'
          description: >-
            The workflow information of the content item, or null if not in a
            workflow.
        version:
          anyOf:
            - type: integer
            - type: 'null'
          title: Version
          description: The version number of the content item, or null if not applicable.
          example: 1
        template:
          $ref: '#/components/schemas/models__content__TemplateModel'
          description: The template used by the content item.
        fields:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Fields
          description: >-
            A key-value map of field names and their values for the content
            item.
        created_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Created At
          description: The timestamp when the content item was created.
          example: '2025-01-15T10:30:00Z'
        updated_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updated At
          description: The timestamp when the content item was updated.
          example: '2025-01-15T10:30:00Z'
        children:
          anyOf:
            - additionalProperties:
                items:
                  $ref: '#/components/schemas/ChildContentItemResponse'
                type: array
              type: object
            - type: 'null'
          title: Children
      type: object
      title: ContentItemResponse
    CreateBriefRequestModel:
      properties:
        name:
          type: string
          title: Name
          description: The name of the brief.
          example: New Summer Campaign Brief
        locale:
          type: string
          pattern: ^[a-zA-Z]{2}-[a-zA-Z]{2}$
          title: Locale
          description: The locale code associated with the brief, in the format xx-XX.
          example: en-us
        briefTypeId:
          type: string
          title: Brieftypeid
          description: >-
            The unique identifier of the brief type to use for generating a
            brief. To get this ID, you can use the [List brief
            types](#operation/brieftypes-list_brieftypes) endpoint to retrieve
            the list of brief types available in your organization.
          example: e7fe656b-178e-4ee2-86a9-ec800ff8a31d
        fields:
          anyOf:
            - additionalProperties:
                oneOf:
                  - $ref: '#/components/schemas/SimpleTextFieldValue'
                  - $ref: '#/components/schemas/RichTextFieldValue'
                  - $ref: '#/components/schemas/DateTimeFieldValue'
                  - $ref: '#/components/schemas/BudgetFieldValue'
                  - $ref: '#/components/schemas/BooleanFieldValue'
                  - $ref: '#/components/schemas/TimelineFieldValue'
                discriminator:
                  propertyName: type
                  mapping:
                    Boolean: '#/components/schemas/BooleanFieldValue'
                    Budget: '#/components/schemas/BudgetFieldValue'
                    DateTime: '#/components/schemas/DateTimeFieldValue'
                    RichText: '#/components/schemas/RichTextFieldValue'
                    SimpleText: '#/components/schemas/SimpleTextFieldValue'
                    Timeline: '#/components/schemas/TimelineFieldValue'
              type: object
            - type: 'null'
          title: Fields
          description: Dictionary of field names to their values.
          example:
            Objectives:
              type: RichText
              value: New product campaign launch for Summer 2026.
            TargetAudience:
              type: RichText
              value: Millenials
      type: object
      required:
        - name
        - locale
        - briefTypeId
      title: CreateBriefRequestModel
      description: Request model for creating a new brief
    CreateBriefResponseModel:
      properties:
        id:
          type: string
          title: Id
          description: The unique identifier of the created brief.
          example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
        icon:
          anyOf:
            - type: string
            - type: 'null'
          title: Icon
          description: The icon associated with the brief.
        name:
          type: string
          title: Name
          description: The name of the brief.
          example: New Summer Campaign Brief
        status:
          type: string
          title: Status
          description: The status of the brief. *Draft* by default.
          example: Draft
        locale:
          type: string
          title: Locale
          description: The locale code in the format xx-XX.
          example: en-us
        fields:
          additionalProperties: true
          type: object
          title: Fields
          description: Dictionary of field names to their values.
          example:
            Objectives:
              type: RichText
              value: New product campaign launch for Summer 2026.
            TargetAudience:
              type: RichText
              value: Millenials
        isTemplate:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Istemplate
          description: Whether the brief is a template
          example: false
        contributors:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Contributors
          description: >-
            A list of users who are contributors to the brief, or null if no
            contributors.
        createdBy:
          anyOf:
            - $ref: '#/components/schemas/ExternalLink'
            - type: 'null'
          description: The user who created the brief.
        createdOn:
          anyOf:
            - type: string
            - type: 'null'
          title: Createdon
          description: The ISO 8601 timestamp when the brief was created.
          example: '2026-01-15T10:30:00Z'
        updatedBy:
          anyOf:
            - $ref: '#/components/schemas/ExternalLink'
            - type: 'null'
          description: The user who last updated the brief.
        updatedOn:
          anyOf:
            - type: string
            - type: 'null'
          title: Updatedon
          description: The ISO 8601 timestamp when the brief was last updated.
          example: '2026-04-01T08:00:00Z'
      type: object
      title: CreateBriefResponseModel
    CreateComponentDatasourceRequest:
      properties:
        siteName:
          type: string
          title: Sitename
          description: The name of the site for which the datasource is created.
          example: skate-park
        dataFields:
          additionalProperties: true
          type: object
          title: Datafields
          description: >-
            A key-value map of data field names and their values for the
            datasource.
          example:
            PromoText: Summer Sale
        children:
          anyOf:
            - items:
                additionalProperties: true
                type: object
              type: array
            - type: 'null'
          title: Children
          description: A list of child datasource objects, or null if none.
        language:
          type: string
          title: Language
          description: The language code for the datasource.
          default: en
          example: en
      type: object
      required:
        - siteName
        - dataFields
      title: CreateComponentDatasourceRequest
    CreateComponentDatasourceResponse:
      properties:
        datasourceId:
          type: string
          format: uuid
          title: Datasourceid
          description: The unique identifier of the created datasource.
          example: 9f8c7e6d-5b4a-4c3d-8e7f-1a2b3c4d5e6f
        datasourceLocation:
          type: string
          title: Datasourcelocation
          description: The location path of the created datasource.
          example: /sitecore/content/Verticals/SkatePark/Data/Promos
      type: object
      title: CreateComponentDatasourceResponse
    CreateContentItemRequest:
      properties:
        templateId:
          type: string
          format: uuid
          title: Templateid
          description: >-
            The unique identifier of the template used to create the content
            item.
          example: 9f8c7e6d-5b4a-4c3d-8e7f-1a2b3c4d5e6f
        name:
          type: string
          title: Name
          description: The name of the content item to create.
          example: New Promo
        parentId:
          type: string
          format: uuid
          title: Parentid
          description: The unique identifier of the parent item.
          example: 9f8c7e6d-5b4a-4c3d-8e7f-1a2b3c4d5e6f
        language:
          type: string
          title: Language
          description: The language code for the content item.
          default: en
          example: en
        fields:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Fields
          description: >-
            A key-value map of field names and their values for the content
            item, or null if none.
      type: object
      required:
        - templateId
        - name
        - parentId
      title: CreateContentItemRequest
    CreateContentItemResponse:
      properties:
        itemId:
          type: string
          format: uuid
          title: Itemid
          description: The unique identifier of the created content item.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        name:
          type: string
          title: Name
          description: The name of the created content item.
          example: New Promo
        path:
          type: string
          title: Path
          description: The path of the created content item.
          example: >-
            /sitecore/layout/Renderings/Feature/JSS Experience Accelerator/Page
            Content/Promo/New Promo
        templateId:
          type: string
          format: uuid
          title: Templateid
          description: The unique identifier of the template used for the content item.
          example: 9f8c7e6d-5b4a-4c3d-8e7f-1a2b3c4d5e6f
        version:
          type: integer
          title: Version
          description: The version number of the created content item.
          example: 1
      type: object
      title: CreateContentItemResponse
    CreateExperimentRequest:
      properties:
        site_id:
          type: string
          title: Site Id
          description: 'The unique identifier of the site. '
          example: site_123
        page_id:
          type: string
          title: Page Id
          description: >-
            The unique identifier of the page that includes the component to
            A/B/n test.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        language:
          anyOf:
            - type: string
            - type: 'null'
          title: Language
          description: The language code for the A/B/n test.
          default: en
          example: en
        component_id:
          type: string
          title: Component Id
          description: The unique identifier of the component to A/B/n test.
          example: d290f1ee-6c54-4b01-90e6-d701748f0851
        name:
          type: string
          title: Name
          description: The name of the A/B/n test.
          example: Hero Banner Experiment
        goal_type:
          $ref: '#/components/schemas/GoalType'
          description: |-
            How the A/B/n test evaluates the performance of its variants: 

             - `pageViewGoal` - measures the number of page views. 
             - `bouncersGoal` - measures the number of bounces. 
             - `exitsGoal` - measures the number of exits.
        targeted_pages:
          items:
            type: string
          type: array
          title: Targeted Pages
          description: A list of page paths where you want to track the A/B/n test goal.
          example: []
        variants:
          items:
            $ref: '#/components/schemas/Variant'
          type: array
          title: Variants
          description: >-
            A list of variants to use for the A/B/n test. Traffic splits must
            sum to 100 and exactly one variant must be marked as control.
      type: object
      required:
        - site_id
        - page_id
        - component_id
        - name
        - goal_type
        - variants
      title: CreateExperimentRequest
    CreatePageRequest:
      properties:
        templateId:
          type: string
          format: uuid
          title: Templateid
          description: >-
            The unique identifier of the page template to be used for the new
            page.
          example: 9f8c7e6d-5b4a-4c3d-8e7f-1a2b3c4d5e6f
        name:
          type: string
          title: Name
          description: The name of the page to create.
          example: About Us
        parentId:
          type: string
          format: uuid
          title: Parentid
          description: The unique identifier of the parent item for the new page.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        language:
          type: string
          title: Language
          description: The language code for the new page.
          default: en
          example: en
        fields:
          anyOf:
            - items:
                additionalProperties: true
                type: object
              type: array
            - type: 'null'
          title: Fields
          description: A list of field objects to set on the page, or null if none.
      type: object
      required:
        - templateId
        - name
        - parentId
      title: CreatePageRequest
    CreatePageResponse:
      properties:
        itemId:
          type: string
          format: uuid
          title: Itemid
          description: The unique identifier of the created page.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        name:
          type: string
          title: Name
          description: The name of the created page.
          example: About Us
      type: object
      title: CreatePageResponse
    CreatePersonalizationRequestV1:
      properties:
        name:
          type: string
          title: Name
          description: The name of the personalization rule.
          example: Summer Sale Personalization
        language:
          anyOf:
            - type: string
            - type: 'null'
          title: Language
          description: The language code for the personalization rule, or null for default.
          default: en
          example: en
        variant_name:
          type: string
          title: Variant Name
          description: The name of the personalization variant.
          example: Summer Sale Variant
        audience_name:
          type: string
          title: Audience Name
          description: The name of the audience for the personalization rule.
          example: Returning Customers
        condition_template_id:
          type: string
          format: uuid
          title: Condition Template Id
          description: The unique identifier of the condition template to apply.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        condition_params:
          additionalProperties: true
          type: object
          title: Condition Params
          description: A key-value map of parameters for the condition template.
          example:
            timeOnSite: '30'
      type: object
      required:
        - name
        - variant_name
        - audience_name
        - condition_template_id
        - condition_params
      title: CreatePersonalizationRequestV1
    CreatePersonalizationRequestV2:
      properties:
        name:
          type: string
          title: Name
          description: The name of the personalization rule.
          example: Summer Sale Personalization
        language:
          anyOf:
            - type: string
            - type: 'null'
          title: Language
          description: The language code for the personalization rule, or null for default.
          default: en
          example: en
        variant_name:
          type: string
          title: Variant Name
          description: The name of the personalization variant.
          example: Summer Sale Variant
        audience_name:
          type: string
          title: Audience Name
          description: The name of the audience for the personalization rule.
          example: Returning Customers
        condition_groups:
          items:
            $ref: '#/components/schemas/ConditionGroupInput'
          type: array
          title: Condition Groups
          description: List of condition groups with their conditions
      type: object
      required:
        - name
        - variant_name
        - audience_name
        - condition_groups
      title: CreatePersonalizationRequestV2
    DatasourceFieldNode:
      properties:
        name:
          type: string
          title: Name
          description: The name of the datasource field.
          example: PromoText
        type:
          type: string
          title: Type
          description: The type of datasource field.
          example: Rich Text
        validation:
          type: string
          title: Validation
          description: Validation rules for the datasource field.
          example: ''
      type: object
      title: DatasourceFieldNode
    DateTimeConfig:
      properties:
        type:
          type: string
          const: DateTime
          title: Type
          description: The type of field in the brief type.
        name:
          type: string
          title: Name
          description: >-
            The name of the field. Must be alphanumeric with no spaces or
            special characters.
          example: TargetAudience
        label:
          additionalProperties:
            type: string
          type: object
          title: Label
          description: >-
            The display label of the field, which can be localized for different
            languages.
          example:
            en-us: Target audience
        helpText:
          additionalProperties:
            type: string
          type: object
          title: Helptext
          description: >-
            The text providing help or guidance for the field, which can be
            localized for different languages.
          example:
            en-us: Describe the target audience for the content.
        required:
          type: boolean
          title: Required
          description: Whether the field is required.
          example: true
        aiEditable:
          type: boolean
          title: Aieditable
          description: Whether the field is editable by AI.
          example: false
        aiIntent:
          anyOf:
            - type: string
            - type: 'null'
          title: Aiintent
          description: The AI intent associated with the field.
          example: >-
            This field should be used to adapt language and tone for the
            intended audience.
      type: object
      title: DateTimeConfig
    DateTimeFieldValue:
      properties:
        type:
          type: string
          const: DateTime
          title: Type
          description: The type of field in the brief type.
        value:
          type: string
          title: Value
          description: The value of the DateTime field.
          example: '2025-01-15T10:30:00Z'
      type: object
      required:
        - type
        - value
      title: DateTimeFieldValue
      description: DateTime field value
    DeleteContentResponse:
      properties:
        success:
          type: boolean
          title: Success
          description: Whether the content item was deleted successfully.
          example: true
        deletedId:
          type: string
          format: uuid
          title: Deletedid
          description: The unique identifier of the deleted content item.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
      type: object
      title: DeleteContentResponse
    EditablePlaceholderModel:
      properties:
        placeholderPath:
          type: string
          title: Placeholderpath
          description: The full path of the placeholder.
          example: /headless-main/container-thirty-center-1
        placeholderName:
          type: string
          title: Placeholdername
          description: The name of the placeholder (last path segment).
          example: container-thirty-center-1
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Displayname
          description: The display name of the placeholder.
          example: container-thirty-center-1
      type: object
      title: EditablePlaceholderModel
    ExperienceFlowDefinitionSplitV1:
      properties:
        template:
          type: string
          title: Template
          description: >-
            A serialized JSON payload for the split template. This payload
            typically includes variantId.
          example: '{"variantId":"6cc729784bee4851a7bc3352f90448bf_default"}'
        variantName:
          type: string
          title: Variantname
          description: The display name of the variant used in this split.
          example: Page 2 variant
        audienceName:
          type: string
          title: Audiencename
          description: The display name of the audience targeted by this split.
          example: Returning Visitors
        conditionGroups:
          items:
            $ref: '#/components/schemas/FlowDefinitionConditionGroupV1'
          type: array
          title: Conditiongroups
          description: >-
            The list of condition groups that determine when this split is
            eligible.
      type: object
      title: ExperienceFlowDefinitionSplitV1
    ExperienceFlowDefinitionSplitV2:
      properties:
        template:
          type: string
          title: Template
          description: >-
            A serialized JSON payload for the split template. This payload
            typically includes variantId.
          example: '{"variantId":"27f26f52b0ac40168aedb6eb15eff10f"}'
        variantName:
          type: string
          title: Variantname
          description: The display name of the variant used in this split.
          example: Page 2 variant
        audienceName:
          type: string
          title: Audiencename
          description: The display name of the audience targeted by this split.
          example: Returning Visitors
        conditionGroups:
          items:
            $ref: '#/components/schemas/FlowDefinitionConditionGroupV2'
          type: array
          title: Conditiongroups
          description: >-
            The list of condition groups that determine when this split is
            eligible.
      type: object
      title: ExperienceFlowDefinitionSplitV2
    ExperienceFlowResponseV1:
      properties:
        clientKey:
          type: string
          title: Clientkey
          description: >-
            The client key associated with the flow definition (A/B/n test or
            personalization).
          example: pers12345
        href:
          anyOf:
            - type: string
            - type: 'null'
          title: Href
          description: The URL of the flow definition (A/B/n test or personalization).
          example: https://www.example.com/flow-definition
        ref:
          type: string
          title: Ref
          description: >-
            A reference identifier for the flow definition (A/B/n test or
            personalization).
          example: FlowDefinition-12345
        name:
          type: string
          title: Name
          description: The name of the flow definition (A/B/n test or personalization).
          example: User Registration Flow
        modifiedByRef:
          anyOf:
            - type: string
            - type: 'null'
          title: Modifiedbyref
          description: >-
            A reference identifier for the user who last modified the flow
            definition (A/B/n test or personalization).
          example: User-67890
        modifiedAt:
          anyOf:
            - type: string
            - type: 'null'
          title: Modifiedat
          description: >-
            The timestamp when the flow definition (A/B/n test or
            personalization) was last modified.
          example: '2025-01-15T10:30:00Z'
        revision:
          anyOf:
            - type: integer
            - type: 'null'
          title: Revision
          description: >-
            The revision number of the flow definition (A/B/n test or
            personalization).
          example: 2
        archived:
          type: boolean
          title: Archived
          description: >-
            Whether the flow definition (A/B/n test or personalization) is
            archived.
          example: false
        friendlyId:
          type: string
          title: Friendlyid
          description: >-
            A user-friendly identifier for the flow definition (A/B/n test or
            personalization).
          example: user_registration_flow
        type:
          type: string
          title: Type
          description: The type of the flow definition (A/B/n test or personalization).
          example: INTERACTIVE_API_FLOW
        subtype:
          type: string
          title: Subtype
          description: The subtype of the flow definition (A/B/n test or personalization).
          example: EXPERIENCE
        channels:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Channels
          description: >-
            A list of channels associated with the flow definition (A/B/n test
            or personalization), such as web or mobile.
        triggers:
          anyOf:
            - items: {}
              type: array
            - type: 'null'
          title: Triggers
          description: >-
            A list of triggers for the flow definition (A/B/n test or
            personalization), or null if none.
        dashboardLinks:
          anyOf:
            - items: {}
              type: array
            - type: 'null'
          title: Dashboardlinks
          description: >-
            A list of dashboard links for the experience (A/B/n test or
            personalization), or null if none.
        tags:
          anyOf:
            - items: {}
              type: array
            - type: 'null'
          title: Tags
          description: >-
            A list of tags associated with the flow definition (A/B/n test or
            personalization), or null if none.
        businessProcess:
          anyOf:
            - type: string
            - type: 'null'
          title: Businessprocess
          description: >-
            The business process associated with the flow definition (A/B/n test
            or personalization).
          example: user_registration
        siteId:
          type: string
          title: Siteid
          description: >-
            The unique identifier of the site associated with the A/B/n test or
            personalization.
          example: site_123
        traffic:
          $ref: '#/components/schemas/ExperienceTrafficV1'
          description: >-
            The traffic distribution configuration for the personalization
            experience (A/B/n test or personalization).
        transpiledVariants:
          anyOf:
            - items: {}
              type: array
              example:
                - name: Page 2 variant
                  tasks:
                    - implementation: templateRenderTask
                      input:
                        inputType: templateRenderTaskInput
                        type: application/json
                        template: '{"variantId":"27f26f52b0ac40168aedb6eb15eff10f"}'
            - type: 'null'
          title: Transpiledvariants
          description: >-
            A list of transpiled variants for the flow definition (A/B/n test or
            personalization), or null if none.
        variants:
          anyOf:
            - items: {}
              type: array
            - type: 'null'
          title: Variants
          description: >-
            A list of variants for the flow definition (A/B/n test or
            personalization), or null if none.
        status:
          type: string
          title: Status
          description: >-
            The current status of the flow definition (A/B/n test or
            personalization).
          example: DRAFT
        schedule:
          anyOf:
            - $ref: '#/components/schemas/FlowDefinitionSchedule'
            - type: 'null'
          description: The schedule configuration for the flow definition.
        revisions:
          anyOf:
            - $ref: '#/components/schemas/FlowDefinitionRevisions'
            - type: 'null'
          description: Links to the revisions of the flow definition.
        sampleSizeConfig:
          anyOf:
            - $ref: '#/components/schemas/FlowDefinitionSampleSizeConfigV1'
            - type: 'null'
          description: The sample size configuration for the flow definition.
        notificationEnabled:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Notificationenabled
          description: >-
            Whether notifications are enabled for the flow definition (A/B/n
            test or personalization).
      type: object
      title: ExperienceFlowResponseV1
      description: >-
        Response model for the v1 create personalization endpoint, matching the
        pre-AI-6608 shape.
    ExperienceFlowResponseV2:
      properties:
        clientKey:
          type: string
          title: Clientkey
          description: >-
            The client key associated with the flow definition (A/B/n test or
            personalization).
          example: pers12345
        href:
          anyOf:
            - type: string
            - type: 'null'
          title: Href
          description: The URL of the flow definition (A/B/n test or personalization).
          example: https://www.example.com/flow-definition
        ref:
          type: string
          title: Ref
          description: >-
            A reference identifier for the flow definition (A/B/n test or
            personalization).
          example: FlowDefinition-12345
        name:
          type: string
          title: Name
          description: The name of the flow definition (A/B/n test or personalization).
          example: User Registration Flow
        modifiedByRef:
          anyOf:
            - type: string
            - type: 'null'
          title: Modifiedbyref
          description: >-
            A reference identifier for the user who last modified the flow
            definition (A/B/n test or personalization).
          example: User-67890
        modifiedAt:
          anyOf:
            - type: string
            - type: 'null'
          title: Modifiedat
          description: >-
            The timestamp when the flow definition was last modified (A/B/n test
            or personalization).
          example: '2025-01-15T10:30:00Z'
        revision:
          anyOf:
            - type: integer
            - type: 'null'
          title: Revision
          description: >-
            The revision number of the flow definition (A/B/n test or
            personalization).
          example: 2
        archived:
          type: boolean
          title: Archived
          description: >-
            Whether the flow definition (A/B/n test or personalization) is
            archived.
          example: false
        friendlyId:
          type: string
          title: Friendlyid
          description: >-
            A user-friendly identifier for the flow definition (A/B/n test or
            personalization).
          example: user_registration_flow
        type:
          type: string
          title: Type
          description: The type of the flow definition (A/B/n test or personalization).
          example: EMBEDDED
        channels:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Channels
          description: >-
            A list of channels associated with the flow definition (A/B/n test
            or personalization), such as web or mobile.
        triggers:
          anyOf:
            - items: {}
              type: array
            - type: 'null'
          title: Triggers
          description: >-
            A list of triggers for the flow definition (A/B/n test or
            personalization), or null if none.
        tags:
          anyOf:
            - items: {}
              type: array
            - type: 'null'
          title: Tags
          description: >-
            A list of tags associated with the flow definition (A/B/n test or
            personalization), or null if none.
        businessProcess:
          anyOf:
            - type: string
            - type: 'null'
          title: Businessprocess
          description: >-
            The business process associated with the flow definition (A/B/n test
            or personalization).
          example: user_registration
        siteId:
          type: string
          title: Siteid
          description: >-
            The unique identifier of the site associated with A/B/n test or
            personalization.
          example: site_123
        transpiledVariants:
          anyOf:
            - items: {}
              type: array
              example:
                - name: Page 2 variant
                  tasks:
                    - implementation: templateRenderTask
                      input:
                        inputType: templateRenderTaskInput
                        type: application/json
                        template: '{"variantId":"27f26f52b0ac40168aedb6eb15eff10f"}'
            - type: 'null'
          title: Transpiledvariants
          description: >-
            A list of transpiled variants for the flow definition (A/B/n test or
            personalization), or null if none. `variantId` is typically in
            `transpiledVariants[].tasks[].input.template` as serialized JSON.
        variants:
          anyOf:
            - items: {}
              type: array
              example: []
            - type: 'null'
          title: Variants
          description: >-
            A list of variants for the flow definition (A/B/n test or
            personalization), or null if none.
        status:
          type: string
          title: Status
          description: >-
            The current status of the flow definition (A/B/n test or
            personalization).
          example: DRAFT
        schedule:
          anyOf:
            - $ref: '#/components/schemas/FlowDefinitionSchedule'
            - type: 'null'
          description: >-
            The schedule configuration for the flow definition (A/B/n test or
            personalization).
        revisions:
          anyOf:
            - $ref: '#/components/schemas/FlowDefinitionRevisions'
            - type: 'null'
          description: Links to the revisions of the flow definition.
        sampleSizeConfig:
          anyOf:
            - $ref: '#/components/schemas/FlowDefinitionSampleSizeConfigV2'
            - type: 'null'
          description: The sample size configuration for the flow definition.
        notificationEnabled:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Notificationenabled
          description: >-
            Whether notifications are enabled for the flow definition (A/B/n
            test or personalization).
        subtype:
          type: string
          const: EXPERIENCE
          title: Subtype
          description: >-
            The subtype of the flow definition (A/B/n test or personalization),
            identifying it as a personalization experience.
          example: EXPERIENCE
        traffic:
          $ref: '#/components/schemas/ExperienceTrafficV2'
          description: >-
            The traffic distribution configuration for the personalization
            experience.
        dashboardLinks:
          anyOf:
            - items: {}
              type: array
            - type: 'null'
          title: Dashboardlinks
          description: A list of dashboard links for the experience, or null if none.
      type: object
      title: ExperienceFlowResponseV2
    ExperienceTrafficV1:
      properties:
        type:
          type: string
          title: Type
          description: >-
            The type of traffic distribution for the flow definition (A/B/n test
            or personalization).
          example: unique
        weightingAlgorithm:
          anyOf:
            - type: string
            - type: 'null'
          title: Weightingalgorithm
          description: >-
            The algorithm used for weighting traffic distribution (A/B/n test or
            personalization).
          example: random
        modifiedAt:
          anyOf:
            - type: string
            - type: 'null'
          title: Modifiedat
          description: The timestamp when the traffic distribution was last modified.
          example: '2026-01-01T00:00:00Z'
        splits:
          items:
            $ref: '#/components/schemas/ExperienceFlowDefinitionSplitV1'
          type: array
          title: Splits
          description: >-
            A list of traffic splits for each personalization experience variant
            (A/B/n test or personalization).
      type: object
      title: ExperienceTrafficV1
    ExperienceTrafficV2:
      properties:
        type:
          type: string
          title: Type
          description: >-
            The type of traffic distribution for the flow definition (A/B/n test
            or personalization).
          example: audienceTraffic
        weightingAlgorithm:
          anyOf:
            - type: string
            - type: 'null'
          title: Weightingalgorithm
          description: The algorithm used for weighting traffic distribution.
          example: USER_DEFINED
        modifiedAt:
          anyOf:
            - type: string
            - type: 'null'
          title: Modifiedat
          description: The timestamp when the traffic distribution was last modified.
          example: '2023-01-01T00:00:00Z'
        splits:
          items:
            $ref: '#/components/schemas/ExperienceFlowDefinitionSplitV2'
          type: array
          title: Splits
          description: >-
            A list of traffic splits for each personalization experience
            variant.
      type: object
      title: ExperienceTrafficV2
    ExperimentFlowDefinitionSplit:
      properties:
        ref:
          type: string
          title: Ref
          description: A reference identifier for the experiment variant.
          example: variant-abc
        split:
          type: integer
          title: Split
          description: The traffic allocation percentage for this experiment variant.
          example: 50
      type: object
      title: ExperimentFlowDefinitionSplit
    ExperimentFlowResponse:
      properties:
        clientKey:
          type: string
          title: Clientkey
          description: >-
            The client key associated with the flow definition (A/B/n test or
            personalization).
          example: pers12345
        href:
          anyOf:
            - type: string
            - type: 'null'
          title: Href
          description: The URL of the flow definition (A/B/n test or personalization).
          example: https://www.example.com/flow-definition
        ref:
          type: string
          title: Ref
          description: >-
            A reference identifier for the flow definition (A/B/n test or
            personalization).
          example: FlowDefinition-12345
        name:
          type: string
          title: Name
          description: The name of the flow definition (A/B/n test or personalization).
          example: User Registration Flow
        modifiedByRef:
          anyOf:
            - type: string
            - type: 'null'
          title: Modifiedbyref
          description: >-
            A reference identifier for the user who last modified the flow
            definition (A/B/n test or personalization).
          example: User-67890
        modifiedAt:
          anyOf:
            - type: string
            - type: 'null'
          title: Modifiedat
          description: >-
            The timestamp when the flow definition (A/B/n test or
            personalization) was last modified.
          example: '2025-01-15T10:30:00Z'
        revision:
          anyOf:
            - type: integer
            - type: 'null'
          title: Revision
          description: >-
            The revision number of the flow definition (A/B/n test or
            personalization).
          example: 2
        archived:
          type: boolean
          title: Archived
          description: >-
            Whether the flow definition (A/B/n test or personalization) is
            archived.
          example: false
        friendlyId:
          type: string
          title: Friendlyid
          description: >-
            A user-friendly identifier for the flow definition (A/B/n test or
            personalization).
          example: user_registration_flow
        type:
          type: string
          title: Type
          description: The type of the flow definition (A/B/n test or personalization).
          example: COMPONENT
        channels:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Channels
          description: >-
            A list of channels associated with the flow definition (A/B/n test
            or personalization), such as web or mobile.
        triggers:
          anyOf:
            - items: {}
              type: array
            - type: 'null'
          title: Triggers
          description: >-
            A list of triggers for the flow definition (A/B/n test or
            personalization), or null if none.
        tags:
          anyOf:
            - items: {}
              type: array
            - type: 'null'
          title: Tags
          description: >-
            A list of tags associated with the flow definition (A/B/n test or
            personalization), or null if none.
        businessProcess:
          anyOf:
            - type: string
            - type: 'null'
          title: Businessprocess
          description: >-
            The business process associated with the flow definition (A/B/n test
            or personalization).
          example: user_registration
        siteId:
          type: string
          title: Siteid
          description: >-
            The unique identifier of the site associated with the A/B/n test or
            personalization.
          example: site_123
        transpiledVariants:
          anyOf:
            - items: {}
              type: array
              example:
                - ref: b0e8307e-6cde-4761-a80f-9331ae56bf11
                  name: Variant A
                  isControl: false
                  tasks:
                    - implementation: templateRenderTask
                      input:
                        inputType: templateRenderTaskInput
                        type: application/json
                        template: '{"variantId":"27f26f52b0ac40168aedb6eb15eff10f"}'
            - type: 'null'
          title: Transpiledvariants
          description: >-
            A list of transpiled variants for the flow definition (A/B/n test or
            personalization), or null if none.
        variants:
          anyOf:
            - items:
                $ref: '#/components/schemas/ExperimentVariantModel'
              type: array
            - type: 'null'
          title: Variants
          description: >-
            A list of variants for the experiment (A/B/n test or
            personalization), or null if none.
        status:
          type: string
          title: Status
          description: >-
            The current status of the flow definition (A/B/n test or
            personalization).
          example: DRAFT
        schedule:
          anyOf:
            - $ref: '#/components/schemas/FlowDefinitionSchedule'
            - type: 'null'
          description: >-
            The schedule configuration for the flow definition (A/B/n test or
            personalization).
        revisions:
          anyOf:
            - $ref: '#/components/schemas/FlowDefinitionRevisions'
            - type: 'null'
          description: >-
            Links to the revisions of the flow definition (A/B/n test or
            personalization).
        sampleSizeConfig:
          anyOf:
            - $ref: '#/components/schemas/FlowDefinitionSampleSizeConfigV2'
            - type: 'null'
          description: >-
            The sample size configuration for the flow definition (A/B/n test or
            personalization).
        notificationEnabled:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Notificationenabled
          description: >-
            Whether notifications are enabled for the flow definition (A/B/n
            test or personalization).
        subtype:
          type: string
          const: EXPERIMENT
          title: Subtype
          description: >-
            The subtype of the flow definition (A/B/n test or personalization),
            identifying it as an A/B experiment.
          example: EXPERIMENT
        traffic:
          $ref: '#/components/schemas/ExperimentTraffic'
          description: The traffic distribution configuration for the A/B/n test.
        goals:
          anyOf:
            - $ref: '#/components/schemas/ExperimentGoalModel'
            - type: 'null'
          description: The goals tracked for the experiment, keyed by goal identifier.
      type: object
      title: ExperimentFlowResponse
    ExperimentGoalDefinition:
      properties:
        type:
          type: string
          title: Type
          description: The type of goal.
          example: pageViewGoal
        name:
          type: string
          title: Name
          description: The name of the goal.
          example: Page View Goal
        friendlyId:
          type: string
          title: Friendlyid
          description: A user-friendly identifier for the goal.
          example: page_view_goal
        ref:
          anyOf:
            - type: string
            - type: 'null'
          title: Ref
          description: A reference identifier for the goal.
          example: goal-abc
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: A description of the goal, or null if not provided.
          example: Track page views for the experiment.
        goalCalculation:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Goalcalculation
          description: A key-value map defining the calculation method for the goal.
        pageParameters:
          items:
            additionalProperties: true
            type: object
          type: array
          title: Pageparameters
          description: A list of page parameters associated with the goal.
      type: object
      title: ExperimentGoalDefinition
    ExperimentGoalModel:
      additionalProperties:
        $ref: '#/components/schemas/ExperimentGoalDefinition'
      type: object
      title: ExperimentGoalModel
    ExperimentTaskInputModel:
      properties:
        inputType:
          type: string
          title: Inputtype
          description: The type of task input.
          example: templateRenderTaskInput
        type:
          type: string
          title: Type
          description: The MIME type of the task input payload.
          example: swap
        template:
          type: string
          title: Template
          description: >-
            A serialized JSON payload for the task template. For experiments,
            this typically includes a variantId value.
          example: '{"variantId":"6cc729784bee4851a7bc3352f90448bf_default"}'
      type: object
      title: ExperimentTaskInputModel
    ExperimentTaskModel:
      properties:
        implementation:
          type: string
          title: Implementation
          description: The implementation type of the task.
          example: TemplateRenderTask
        input:
          $ref: '#/components/schemas/ExperimentTaskInputModel'
          description: The input configuration for the task.
      type: object
      title: ExperimentTaskModel
    ExperimentTraffic:
      properties:
        type:
          type: string
          title: Type
          description: >-
            The type of traffic distribution for the flow definition (A/B/n test
            or personalization).
          example: simpleTraffic
        weightingAlgorithm:
          type: string
          enum:
            - USER_DEFINED
            - AUTO
          title: Weightingalgorithm
          description: >-
            The algorithm used for weighting traffic. Either 'USER_DEFINED' or
            'AUTO'.
          example: USER_DEFINED
        modifiedAt:
          anyOf:
            - type: string
            - type: 'null'
          title: Modifiedat
          description: The timestamp when the traffic distribution was last modified.
          example: '2023-01-01T00:00:00Z'
        allocation:
          type: integer
          title: Allocation
          description: The total traffic allocation percentage for the A/B/n test.
          example: 100
        coupled:
          type: boolean
          title: Coupled
          description: Whether the traffic splits are coupled and adjusted together.
          default: false
          example: false
        splits:
          items:
            $ref: '#/components/schemas/ExperimentFlowDefinitionSplit'
          type: array
          title: Splits
          description: A list of traffic splits for each A/B/n test variant.
      type: object
      title: ExperimentTraffic
    ExperimentVariantModel:
      properties:
        ref:
          type: string
          title: Ref
          description: A reference identifier for the variant.
          example: variant-abc
        name:
          type: string
          title: Name
          description: The name of the variant.
          example: Variant A
        isControl:
          type: boolean
          title: Iscontrol
          description: >-
            Whether this is the control variant (baseline) for comparison in the
            A/B/n test.
          example: false
        tasks:
          items:
            $ref: '#/components/schemas/ExperimentTaskModel'
          type: array
          title: Tasks
          description: A list of tasks associated with the variant.
      type: object
      title: ExperimentVariantModel
    ExternalLink:
      properties:
        type:
          type: string
          const: ExternalLink
          title: Type
          default: ExternalLink
          description: The type of the link, which is always 'ExternalLink' for this model.
          example: ExternalLink
        relatedSystem:
          $ref: '#/components/schemas/RelatedSystem'
        relatedType:
          anyOf:
            - type: string
            - type: 'null'
          title: Relatedtype
          description: >-
            The type of the related entity in the external system, or null if
            not specified.
          example: Dashboard
        id:
          type: string
          title: Id
          description: The unique identifier of the related entity in the external system.
          example: dashboard-12345
      type: object
      title: ExternalLink
      description: Represents an external link with reference to external systems
    FlowDefinitionCondition:
      properties:
        templateId:
          type: string
          title: Templateid
          description: The unique identifier of the condition template.
          example: cond-6c54-4b01-90e6-d701748f0851
        params:
          additionalProperties:
            type: string
          type: object
          title: Params
          description: A key-value map of parameters for the condition.
      type: object
      title: FlowDefinitionCondition
    FlowDefinitionConditionGroupV1:
      properties:
        conditions:
          items:
            $ref: '#/components/schemas/FlowDefinitionCondition'
          type: array
          title: Conditions
          description: A list of conditions in this condition group.
      type: object
      title: FlowDefinitionConditionGroupV1
    FlowDefinitionConditionGroupV2:
      properties:
        unionType:
          anyOf:
            - type: string
              enum:
                - AND
                - OR
            - type: 'null'
          title: Uniontype
          description: >-
            Union type for combining conditions. Either AND or OR. First group
            should not have a unionType.
        conditions:
          items:
            $ref: '#/components/schemas/FlowDefinitionCondition'
          type: array
          title: Conditions
          description: A list of conditions in this condition group.
      type: object
      title: FlowDefinitionConditionGroupV2
    FlowDefinitionRevisions:
      properties:
        href:
          anyOf:
            - type: string
            - type: 'null'
          title: Href
          description: >-
            The URL to access the revisions of the flow definition (A/B/n test
            or personalization).
          example: https://www.example.com/flow-definition/revisions
      type: object
      title: FlowDefinitionRevisions
    FlowDefinitionSampleSizeConfigV1:
      properties:
        baseValue:
          type: number
          title: Basevalue
          description: The base value used for sample size calculation.
          example: 0.5
        minimumDetectableDifference:
          type: number
          title: Minimumdetectabledifference
          description: The minimum detectable difference for the sample size calculation.
          example: 0.1
        confidenceLevel:
          type: number
          title: Confidencelevel
          description: The confidence level for the sample size calculation.
          example: 0.95
      type: object
      title: FlowDefinitionSampleSizeConfigV1
    FlowDefinitionSampleSizeConfigV2:
      properties:
        baseValue:
          type: number
          title: Basevalue
          description: The base value used for sample size calculation.
          example: 0.5
        minimumDetectableDifference:
          type: number
          title: Minimumdetectabledifference
          description: The minimum detectable difference for the sample size calculation.
          example: 0.1
        confidenceLevel:
          type: number
          title: Confidencelevel
          description: The confidence level for the sample size calculation.
          example: 0.95
        sampleSize:
          anyOf:
            - type: integer
            - type: 'null'
          title: Samplesize
          description: The calculated sample size, or null if not yet computed.
      type: object
      title: FlowDefinitionSampleSizeConfigV2
    FlowDefinitionSchedule:
      properties:
        type:
          type: string
          title: Type
          description: >-
            The type of schedule for the flow definition (A/B/n test or
            personalization).
          example: simpleSchedule
        startDate:
          anyOf:
            - type: string
            - type: 'null'
          title: Startdate
          description: The start date of the schedule.
          example: '2023-01-01T00:00:00Z'
      type: object
      title: FlowDefinitionSchedule
    GenerateBriefRequest:
      properties:
        briefTypeId:
          type: string
          title: Brieftypeid
          description: >-
            The unique identifier of the brief type to use for generating a
            brief. To get this ID, you can use the [List brief
            types](#operation/brieftypes-list_brieftypes) endpoint to retrieve
            the list of brief types available in your organization.
          example: e7fe656b-178e-4ee2-86a9-ec800ff8a31d
        brandId:
          type: string
          title: Brandid
          description: >-
            The unique identifier of the brand kit. To get this ID, you can use
            the [List brand kits](#operation/brandkits-list_brandkits) endpoint
            to retrieve the list of brand kits in your organization.
          example: b1234567-89ab-4cde-f012-3456789abcde
        prompt:
          type: string
          title: Prompt
          description: >-
            The prompt for brief generation. This provides AI the context or
            instructions for generating the brief.
          example: Generate a brief for the new holiday campaign.
      type: object
      required:
        - briefTypeId
        - brandId
        - prompt
      title: GenerateBriefRequest
      description: Request model for generating a content brief
    GenerateBriefResponse:
      additionalProperties:
        $ref: '#/components/schemas/BriefFieldValue'
      type: object
      title: GenerateBriefResponse
      description: >-
        The response model for a generated content brief with dynamic field
        keys.
    GetBrandKitResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: The unique identifier of the brand kit.
          example: b1234567-89ab-4cde-f012-3456789abcde
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: The brand kit description.
          example: Brand kit for Contoso Corporation.
        name:
          type: string
          title: Name
          description: The name of the brand kit.
          example: Contoso Brand Kit
        brandName:
          anyOf:
            - type: string
            - type: 'null'
          title: Brandname
          description: The name of the brand associated with the brand kit.
          example: Contoso
        companyName:
          anyOf:
            - type: string
            - type: 'null'
          title: Companyname
          description: The name of the company associated with the brand kit.
          example: Contoso Corporation
        status:
          type: string
          title: Status
          description: The status of the brand kit.
          example: published
        tags:
          anyOf:
            - items:
                $ref: '#/components/schemas/TagModel'
              type: array
            - type: 'null'
          title: Tags
          description: A list of tags associated with the brand kit.
          default: []
        sections:
          anyOf:
            - items:
                $ref: '#/components/schemas/SectionModel'
              type: array
            - type: 'null'
          title: Sections
          description: A list of sections in the brand kit.
          default: []
      type: object
      title: GetBrandKitResponse
      description: Response model for get brandkit by ID endpoint
    GetBriefResponse:
      properties:
        id:
          type: string
          title: Id
          description: The unique identifier of the brief.
          example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
        icon:
          anyOf:
            - type: string
            - type: 'null'
          title: Icon
          description: The icon associated with the brief.
        name:
          type: string
          title: Name
          description: The name of the brief.
          example: New Summer Campaign Brief
        status:
          type: string
          title: Status
          description: The status of the brief. Draft by default.
          example: Draft
        locale:
          type: string
          title: Locale
          description: The locale code in the format xx-XX.
          example: en-us
        fields:
          additionalProperties: true
          type: object
          title: Fields
          description: Dictionary of field names to their values.
        isTemplate:
          type: boolean
          title: Istemplate
          default: false
        contributors:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Contributors
          description: A list of contributors associated with the brief.
        createdBy:
          anyOf:
            - $ref: '#/components/schemas/ExternalLink'
            - type: 'null'
          description: The user who created the brief.
          example: user-12345
        createdOn:
          anyOf:
            - type: string
            - type: 'null'
          title: Createdon
          description: The ISO 8601 timestamp when the brief was created.
          example: '2026-01-15T10:30:00Z'
        updatedBy:
          anyOf:
            - $ref: '#/components/schemas/ExternalLink'
            - type: 'null'
          description: The user who last updated the brief.
          example: user-67890
        updatedOn:
          anyOf:
            - type: string
            - type: 'null'
          title: Updatedon
          description: The ISO 8601 timestamp when the brief was last updated.
          example: '2026-04-01T08:00:00Z'
        briefType:
          anyOf:
            - $ref: '#/components/schemas/BriefTypeLink'
            - type: 'null'
      type: object
      title: GetBriefResponse
    GetBriefTypeResponse:
      properties:
        id:
          type: string
          title: Id
          description: The unique UUID of the brief type.
          example: f2657200-e881-4027-8ddf-a9810eb9d177
        name:
          type: string
          title: Name
          description: The name of the brief type.
          example: travel_campaigns
        label:
          additionalProperties:
            type: string
          type: object
          title: Label
          description: >-
            The label of the brief type, which can be localized for different
            languages.
          example:
            en-us: Travel campaigns
        icon:
          anyOf:
            - type: string
            - type: 'null'
          title: Icon
          description: >-
            The name of the icon associated with the brief type, which is used
            to visually represent the brief type in the UI.
          example: mdiFileDocumentOutline
        iconColor:
          anyOf:
            - type: string
            - type: 'null'
          title: Iconcolor
          description: The color of the icon associated with the brief type.
          example: primary
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: The description of the brief type.
          example: Briefs used for planning and executing travel marketing campaigns.
        fields:
          items:
            oneOf:
              - $ref: '#/components/schemas/SimpleTextConfig'
              - $ref: '#/components/schemas/RichTextConfig'
              - $ref: '#/components/schemas/TimelineConfig'
              - $ref: '#/components/schemas/BudgetConfig'
              - $ref: '#/components/schemas/DateTimeConfig'
              - $ref: '#/components/schemas/BooleanConfig'
            discriminator:
              propertyName: type
              mapping:
                Boolean: '#/components/schemas/BooleanConfig'
                Budget: '#/components/schemas/BudgetConfig'
                DateTime: '#/components/schemas/DateTimeConfig'
                RichText: '#/components/schemas/RichTextConfig'
                SimpleText: '#/components/schemas/SimpleTextConfig'
                Timeline: '#/components/schemas/TimelineConfig'
          type: array
          title: Fields
          description: >-
            The list of fields that belong to this brief type, including their
            configurations and metadata.
      type: object
      title: GetBriefTypeResponse
      description: >-
        Response model for get brief type by ID — extends BriefTypeModel with
        audit fields
    GetPageComponentsResponse:
      properties:
        pageId:
          type: string
          format: uuid
          title: Pageid
          description: The unique identifier of the page.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        pageName:
          type: string
          title: Pagename
          description: The name of the page.
          example: Home Page
        pagePath:
          type: string
          title: Pagepath
          description: The path to the page.
          example: /sitecore/content/Home
        version:
          type: integer
          title: Version
          description: The version number of the page.
          example: 1
        language:
          type: string
          title: Language
          description: The language code of the page.
          example: en
        route:
          anyOf:
            - type: string
            - type: 'null'
          title: Route
          description: The route of the page, or null if not applicable.
          example: /home
        layoutEditingKind:
          anyOf:
            - type: string
            - type: 'null'
          title: Layouteditingkind
          description: The layout editing kind of the page, or null if not applicable.
          example: Standard
        template:
          anyOf:
            - $ref: '#/components/schemas/models__pages__TemplateModel'
            - type: 'null'
          description: The template used for the page, or null if not applicable.
          example: Page Template
        components:
          anyOf:
            - items:
                $ref: '#/components/schemas/ComponentModel'
              type: array
            - type: 'null'
          title: Components
          description: A list of components on the page, or null if none.
          default: []
      type: object
      title: GetPageComponentsResponse
    GetPagePreviewUrlResponse:
      properties:
        pageId:
          type: string
          format: uuid
          title: Pageid
          description: The unique identifier of the page.
          example: f0b81bcc-7388-46be-b109-6e73d1114470
        previewUrl:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          title: Previewurl
          description: The preview URL of the page.
          example: https://preview.example.com/page/f0b81bc-7388-46be-b109-6e73d1114470
      type: object
      title: GetPagePreviewUrlResponse
    GetPageResponse:
      properties:
        itemId:
          type: string
          format: uuid
          title: Itemid
          description: The unique identifier of the item.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        name:
          type: string
          title: Name
          description: The name of the page.
          example: Home Page
        templateId:
          type: string
          format: uuid
          title: Templateid
          description: The template ID used for the page.
          example: 9f8c7e6d-5b4a-4c3d-8e7f-1a2b3c4d5e6f
        locationPath:
          type: string
          title: Locationpath
          description: The location path of the page in the content tree.
          example: /sitecore/content/Verticals/SkatePark/Home/Home Page
        insertOptions:
          items:
            $ref: '#/components/schemas/PageInsertOptionModel'
          type: array
          title: Insertoptions
          description: A list of options for inserting the page.
        editablePlaceholders:
          items:
            $ref: '#/components/schemas/EditablePlaceholderModel'
          type: array
          title: Editableplaceholders
          description: Editable placeholders on the page.
      type: object
      title: GetPageResponse
    GoalType:
      type: string
      enum:
        - pageViewGoal
        - bouncesGoal
        - exitsGoal
      title: GoalType
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    HideComponentRequest:
      properties:
        language:
          anyOf:
            - type: string
            - type: 'null'
          title: Language
          description: Language code for the page
          default: en
          example: en
        page_version:
          anyOf:
            - type: integer
            - type: 'null'
          title: Page Version
          description: The version of the page to use, or null for the latest version.
          example: 1
      type: object
      title: HideComponentRequest
      description: Request model for hiding a component on the Default variant
    HideComponentResponse:
      properties:
        pageId:
          type: string
          format: uuid
          title: Pageid
          description: The unique identifier of the page where the component was hidden.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        componentId:
          type: string
          format: uuid
          title: Componentid
          description: The unique identifier of the component that was hidden.
          example: 86a03271-dff4-470a-92bd-b68c67de2e25
        language:
          type: string
          title: Language
          description: The language of the page.
          example: en
      type: object
      title: HideComponentResponse
      description: Response model for hide component operation
    InnerItemModel:
      properties:
        displayName:
          anyOf:
            - type: string
            - type: 'null'
          title: Displayname
          description: The display name of the inner item, or null if not set.
          example: Promo Image
        height:
          anyOf:
            - type: integer
            - type: 'null'
          title: Height
          description: The height of the inner item, or null if not set.
          example: 250
        width:
          anyOf:
            - type: integer
            - type: 'null'
          title: Width
          description: The width of the inner item, or null if not set.
          example: 300
      type: object
      title: InnerItemModel
    InsertOptionModel:
      properties:
        name:
          type: string
          title: Name
          description: The name of the insert option.
          example: Full Width Page
        templateId:
          type: string
          format: uuid
          title: Templateid
          description: The unique identifier of the template used for the insert option.
          example: 9f8c7e6d-5b4a-4c3d-8e7f-1a2b3c4d5e6f
      type: object
      title: InsertOptionModel
    LanguageModel:
      properties:
        displayName:
          type: string
          title: Displayname
          description: The display name of the language.
          example: English
        iso:
          type: string
          title: Iso
          description: The ISO code of the language.
          example: en
        name:
          type: string
          title: Name
          description: The name of the language.
          example: en
      type: object
      title: LanguageModel
    ListBrandKitResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: The unique identifier of the brand kit.
          example: b1234567-89ab-4cde-f012-3456789abcde
        name:
          type: string
          title: Name
          description: The name of the brand kit.
          example: Contoso Brand Kit
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: The brand kit description.
          example: Brand kit for Contoso Corporation.
        brandName:
          anyOf:
            - type: string
            - type: 'null'
          title: Brandname
          description: >-
            The name of the brand associated with the brand kit. Returns null if
            no brand name is set.
          example: Contoso
        companyName:
          anyOf:
            - type: string
            - type: 'null'
          title: Companyname
          description: >-
            The name of the company associated with the brand kit. Returns null
            if no company name is set.
          example: Contoso Corporation
        status:
          type: string
          title: Status
          description: The status of the brand kit.
          example: published
        tags:
          anyOf:
            - items:
                $ref: '#/components/schemas/TagModel'
              type: array
            - type: 'null'
          title: Tags
          description: A list of tags associated with the brand kit.
          default: []
      type: object
      title: ListBrandKitResponse
      description: Model for brandkit summary (used in list endpoint)
    ListBriefTypesResponse:
      properties:
        totalCount:
          type: integer
          title: Totalcount
          description: The total number of available brief types.
          example: 5
        data:
          items:
            $ref: '#/components/schemas/BriefTypeModel'
          type: array
          title: Data
          description: A list of available brief types.
      type: object
      title: ListBriefTypesResponse
    ListBriefsResponse:
      properties:
        totalCount:
          type: integer
          title: Totalcount
          description: The total number of briefs matching the query criteria.
          example: 10
        data:
          items:
            $ref: '#/components/schemas/GetBriefResponse'
          type: array
          title: Data
      type: object
      title: ListBriefsResponse
    ListSitesResponse:
      properties:
        sites:
          items:
            $ref: '#/components/schemas/SiteBasicModel'
          type: array
          title: Sites
          description: A list of sites.
      type: object
      title: ListSitesResponse
    MediaItem:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: The unique identifier of the media item.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        embedUrl:
          type: string
          title: Embedurl
          description: The URL to embed or access the media item.
          example: https://example.com/media/3f2504e0-4f89-11d3-9a0c-0305e82c3301
        size:
          type: integer
          title: Size
          description: The size of the media item in bytes.
          example: 204800
        dimensions:
          type: string
          title: Dimensions
          description: The dimensions of the media item.
          example: 1920x1080
        extension:
          type: string
          title: Extension
          description: The file extension of the media item.
          example: mp4
      type: object
      title: MediaItem
    NonVisualContentLocationModel:
      properties:
        itemId:
          type: string
          format: uuid
          title: Itemid
          description: The unique identifier of the item.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        name:
          type: string
          title: Name
          description: The name of the item.
          example: Sample Item
        path:
          type: string
          title: Path
          description: The path to the item.
          example: /content/items/3f2504e0-4f89-11d3-9a0c-0305e82c3301
        allowed_child_content_templates:
          items:
            $ref: '#/components/schemas/AllowedChildTemplateModel'
          type: array
          title: Allowed Child Content Templates
          description: A list of allowed child content templates.
      type: object
      title: NonVisualContentLocationModel
    PageHtmlResponse:
      properties:
        pageId:
          type: string
          format: uuid
          title: Pageid
          description: The unique identifier of the page.
          example: f0b81bcc-7388-46be-b109-6e73d1114470
        html:
          type: string
          title: Html
          description: The HTML content of the page.
          example: <html><body><h1>Webpage content</h1></body></html>
      type: object
      title: PageHtmlResponse
      description: Response model containing the HTML content of a page.
    PageInsertOptionModel:
      properties:
        templateId:
          type: string
          format: uuid
          title: Templateid
          description: The unique identifier of the template.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        name:
          type: string
          title: Name
          description: The name of the template.
          example: Full Width Page
      type: object
      title: PageInsertOptionModel
    PageLocationModel:
      properties:
        itemId:
          type: string
          format: uuid
          title: Itemid
          description: The unique identifier of the item.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        name:
          type: string
          title: Name
          description: The name of the item.
          example: Sample Item
        path:
          type: string
          title: Path
          description: The path to the item.
          example: /content/items/3f2504e0-4f89-11d3-9a0c-0305e82c3301
        allowed_child_page_templates:
          items:
            $ref: '#/components/schemas/AllowedChildTemplateModel'
          type: array
          title: Allowed Child Page Templates
          description: A list of allowed child page templates.
        is_page_folder:
          type: boolean
          title: Is Page Folder
          description: >-
            True when this location is a page folder (no presentation
            component); False for standard renderable pages.
          default: false
      type: object
      title: PageLocationModel
    PageModel:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: The unique identifier of the page.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        path:
          type: string
          title: Path
          description: The path to the page.
          example: /content/pages/3f2504e0-4f89-11d3-9a0c-0305e82c3301
      type: object
      title: PageModel
    PagePathByLiveUrlResponse:
      properties:
        itemId:
          type: string
          format: uuid
          title: Itemid
          description: The unique identifier of the item.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        name:
          type: string
          title: Name
          description: The name of the item.
          example: Home
        hasPresentation:
          type: boolean
          title: Haspresentation
          description: Whether the item has presentation details.
          example: true
        template:
          $ref: '#/components/schemas/PagePathTemplateModel'
          description: The template details of the item.
        insertOptions:
          items:
            $ref: '#/components/schemas/PagePathInsertOptionModel'
          type: array
          title: Insertoptions
          description: Insert options for the item.
      type: object
      title: PagePathByLiveUrlResponse
    PagePathInsertOptionModel:
      properties:
        name:
          type: string
          title: Name
          description: The name of the insert option.
          example: Full Width Page
        templateId:
          type: string
          format: uuid
          title: Templateid
          description: The unique identifier of the template.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
      type: object
      title: PagePathInsertOptionModel
    PagePathTemplateModel:
      properties:
        templateId:
          type: string
          format: uuid
          title: Templateid
          description: The unique identifier of the template.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        name:
          type: string
          title: Name
          description: The name of the template.
          example: Full Width Page
      type: object
      title: PagePathTemplateModel
    PageScreenshotResponse:
      properties:
        type:
          type: string
          title: Type
          description: The type of screenshot.
          example: png
        fullPage:
          type: boolean
          title: Fullpage
          description: Whether the screenshot is of the full page.
          example: true
        encoding:
          type: string
          title: Encoding
          description: The encoding format of the screenshot.
          example: base64
        timestamp:
          type: string
          format: date-time
          title: Timestamp
          description: The timestamp when the screenshot was taken.
          example: '2023-09-01T12:00:00Z'
        screenshot_base64:
          type: string
          title: Screenshot Base64
          description: The base64-encoded screenshot data.
          example: iVBORw0KGgoAAAANSUhEUgAA...
      type: object
      title: PageScreenshotResponse
    PageSearchItemModel:
      properties:
        itemId:
          type: string
          format: uuid
          title: Itemid
          description: The unique identifier of the item.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        name:
          type: string
          title: Name
          description: The name of the item.
          example: Home
        path:
          type: string
          title: Path
          description: The path of the item.
          example: /sitecore/content/verticals/SkatePark/home
        templateId:
          type: string
          format: uuid
          title: Templateid
          description: The unique identifier of the template.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        fields:
          items:
            $ref: '#/components/schemas/models__pages__FieldModel'
          type: array
          title: Fields
          description: A list of search fields associated with the item.
      type: object
      title: PageSearchItemModel
    PageTemplateFieldModel:
      properties:
        name:
          type: string
          title: Name
          description: The name of the field.
          example: Content
        type:
          type: string
          title: Type
          description: The field type.
          example: single-line text
        validation:
          type: boolean
          title: Validation
          description: Whether the field has validation rules.
          example: false
      type: object
      title: PageTemplateFieldModel
    PageTemplateResponse:
      properties:
        templateId:
          type: string
          format: uuid
          title: Templateid
          description: The unique identifier of the template.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        name:
          type: string
          title: Name
          description: The name of the template.
          example: Full Width Page
        fields:
          items:
            $ref: '#/components/schemas/PageTemplateFieldModel'
          type: array
          title: Fields
          description: A list of fields associated with the template.
      type: object
      title: PageTemplateResponse
    PersonalizationVariantDetailModelV1:
      properties:
        page_id:
          type: string
          title: Page Id
          description: The unique identifier of the page.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        variant_name:
          type: string
          title: Variant Name
          description: The name of the variant.
          example: Variant A
        audience_name:
          type: string
          title: Audience Name
          description: The name of the audience targeted by the variant.
          example: Returning Visitors
        template:
          type: string
          title: Template
          description: The template used for the variant.
          example: Default Template
        condition_groups:
          items:
            $ref: '#/components/schemas/FlowDefinitionConditionGroupV1'
          type: array
          title: Condition Groups
          description: A list of condition groups for the personalization variant.
          default: []
      type: object
      title: PersonalizationVariantDetailModelV1
    PersonalizationVariantDetailModelV2:
      properties:
        page_id:
          type: string
          title: Page Id
          description: The unique identifier of the page.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        variant_name:
          type: string
          title: Variant Name
          description: The name of the variant.
          example: Variant A
        audience_name:
          type: string
          title: Audience Name
          description: The name of the audience targeted by the variant.
          example: Returning Visitors
        template:
          type: string
          title: Template
          description: The template used for the variant.
          example: Default Template
        condition_groups:
          items:
            $ref: '#/components/schemas/FlowDefinitionConditionGroupV2'
          type: array
          title: Condition Groups
          description: A list of condition groups for the personalization variant.
          default: []
      type: object
      title: PersonalizationVariantDetailModelV2
    RelatedSystem:
      type: string
      enum:
        - contenthub
        - mms
        - ai
        - xmcloud
        - co
      title: RelatedSystem
      description: Represents the related system reference for external links
      example: ai
    ResetComponentRequest:
      properties:
        language:
          anyOf:
            - type: string
            - type: 'null'
          title: Language
          description: The language code for the page.
          default: en
          example: en
        page_version:
          anyOf:
            - type: integer
            - type: 'null'
          title: Page Version
          description: The version of the page to use, or null for the latest version.
          example: 1
        page_id:
          type: string
          format: uuid
          title: Page Id
          description: >-
            The unique identifier of the page containing the variant. To get
            this ID, use [List pages of a
            site](#operation/sites-get_all_pages_by_site).
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        component_id:
          type: string
          format: uuid
          title: Component Id
          description: >-
            The unique identifier of the component with personalization or A/B
            test variant to reset. To get this ID, use [List components of a
            page](#operation/pages-get_all_components_by_page).
          example: 429e3b45-277a-4c7f-adeb-4eb8b295d9ab
        variant_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Variant Id
          description: >-
            The unique identifier of the personalization or A/B testing variant
            to reset. To get this ID, you can use the [List flow
            definitions](https://api-docs.sitecore.com/sai/agent-api/flow-definitions/flows-list_flow_definitions_by_page)
            endpoint. Use the `transpiledVariants[].ref`, or `variants[].ref`
            when available.
             
            If you provide this value, the specified personalization or A/B test
            variant is reset. For personalization only, if you omit this value,
            the component on the default page variant is reset.
          example: 429e3b45277a4c7fadeb4eb8b295d9ab_9d6f8492a3234b96b4c89878a8a1a7ab
      type: object
      required:
        - page_id
        - component_id
      title: ResetComponentRequest
      description: Request model for resetting a component variant in a flow
    ResetComponentResponse:
      properties:
        pageId:
          type: string
          format: uuid
          title: Pageid
          description: The unique identifier of the page where the component was reset
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        componentId:
          type: string
          format: uuid
          title: Componentid
          description: The unique identifier of the component that was reset
          example: 86a03271-dff4-470a-92bd-b68c67de2e25
        language:
          type: string
          title: Language
          description: The language of the page.
          example: en
      type: object
      title: ResetComponentResponse
      description: Response model for reset component operation
    RichTextConfig:
      properties:
        type:
          type: string
          const: RichText
          title: Type
          description: The type of field in the brief type.
        name:
          type: string
          title: Name
          description: >-
            The name of the field. Must be alphanumeric with no spaces or
            special characters.
          example: TargetAudience
        label:
          additionalProperties:
            type: string
          type: object
          title: Label
          description: >-
            The display label of the field, which can be localized for different
            languages.
          example:
            en-us: Target audience
        helpText:
          additionalProperties:
            type: string
          type: object
          title: Helptext
          description: >-
            The help text for the field, which can be localized for different
            languages.
          example:
            en-us: >-
              Describe the target audience for the content, such as
              demographics, interests, and behaviors.
        required:
          type: boolean
          title: Required
          description: Whether the field is required.
          example: true
        aiEditable:
          type: boolean
          title: Aieditable
          description: Whether the field is editable by AI.
          example: false
        aiIntent:
          anyOf:
            - type: string
            - type: 'null'
          title: Aiintent
          description: The AI intent associated with the field.
          example: >-
            This field should be used to adapt language and tone for the
            intended audience.
        aiContext:
          anyOf:
            - type: string
            - type: 'null'
          title: Aicontext
          description: The AI context for the field.
          example: >-
            The content will be used in a hero banner on the homepage of an
            e-commerce website that sells healthy products.
      type: object
      title: RichTextConfig
    RichTextFieldValue:
      properties:
        type:
          type: string
          const: RichText
          title: Type
          description: The type of the field value.
        value:
          type: string
          title: Value
          description: The rich text content of the field value.
          example: >-
            Emphasize the product benefits and features in the hero banner to
            attract customers.
      type: object
      required:
        - type
        - value
      title: RichTextFieldValue
      description: Rich text field value
    SearchResponse:
      properties:
        results:
          items:
            $ref: '#/components/schemas/SearchResult'
          type: array
          title: Results
          description: A list of search results.
          default: []
      type: object
      title: SearchResponse
    SearchResult:
      properties:
        itemId:
          type: string
          format: uuid
          title: Itemid
          description: The unique identifier of the item.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        templateId:
          type: string
          format: uuid
          title: Templateid
          description: The unique identifier of the template associated with the item.
          example: 9f8c7e6d-5b4a-4c3d-8e7f-1a2b3c4d5e6f
        name:
          type: string
          title: Name
          description: The name of the item.
          example: Hero Banner
      type: object
      title: SearchResult
    SectionModel:
      properties:
        id:
          type: string
          title: Id
          description: The unique identifier of the brand kit section.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        name:
          type: string
          title: Name
          description: The name of the brand kit section.
          example: Brand Context
        fields:
          anyOf:
            - items:
                $ref: '#/components/schemas/models__brandkits__FieldModel'
              type: array
            - type: 'null'
          title: Fields
          description: A list of brand kit fields (subsections).
          default: []
      type: object
      title: SectionModel
      description: Model for the brand kit sections.
    SetComponentDatasourceRequest:
      properties:
        datasourceId:
          type: string
          format: uuid
          title: Datasourceid
          description: >-
            The unique identifier of the datasource to set for the component. To
            get this ID, you can use the [List
            datasources](#operation/datasources-list_datasources_by_page)
            endpoint.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        language:
          anyOf:
            - type: string
            - type: 'null'
          title: Language
          description: The language for the datasource.
          default: en
          example: en
        variantId:
          anyOf:
            - type: string
            - type: 'null'
          title: Variantid
          description: >-
            The unique identifier of personalization or A/B/n test variant to
            update. To get this ID, you can use the [List flow
            definitions](#operation/flows-list_flow_definitions_by_page)
            endpoint. Use the `transpiledVariants[].ref`, or `variants[].ref`
            when available. 
             
            If you provide this value, the datasource update applies only to the
            specified variant. If you omit this value, the change applies to the
            base page.
          example: 8bd7a9ec96b8490f9b894e3866fefb79_2a5c1e8c8d244f569a44d6b28cbecb05
      type: object
      required:
        - datasourceId
      title: SetComponentDatasourceRequest
    SetComponentDatasourceResponse:
      properties:
        success:
          type: boolean
          title: Success
          description: Whether the datasource was set successfully.
          example: true
        message:
          type: string
          title: Message
          description: A message providing additional information about the operation.
          example: Datasource set successfully.
        componentId:
          type: string
          format: uuid
          title: Componentid
          description: The unique identifier of the component.
          example: 86a03271-dff4-470a-92bd-b68c67de2e25
        pageId:
          type: string
          format: uuid
          title: Pageid
          description: The unique identifier of the page.
          example: 9f8c7e6d-5b4a-4c3d-8e7f-1a2b3c4d5e6f
        datasourceId:
          type: string
          format: uuid
          title: Datasourceid
          description: The unique identifier of the datasource.
          example: f0b81bcc-7388-46be-b109-6e73d1114470
      type: object
      title: SetComponentDatasourceResponse
    SetupVariantRequest:
      properties:
        page_id:
          type: string
          format: uuid
          title: Page Id
          description: The unique identifier of the page containing the component.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        component_id:
          type: string
          title: Component Id
          description: The unique identifier of the component to set up as a variant.
          example: d290f1ee-6c54-4b01-90e6-d701748f0851
        variant_strategy:
          $ref: '#/components/schemas/VariantStrategy'
          description: The strategy for the variant. Either HIDE, SWAP, or COPY.
        language:
          type: string
          title: Language
          description: The language code for the variant setup.
          default: en
          example: en
        page_version:
          anyOf:
            - type: integer
            - type: 'null'
          title: Page Version
          description: The version of the page to use, or null for the latest version.
          example: 1
        swapped_component:
          anyOf:
            - $ref: '#/components/schemas/SwappedComponentModel'
            - type: 'null'
          description: >-
            The replacement component details when the variant strategy is SWAP,
            or null otherwise.
      type: object
      required:
        - page_id
        - component_id
        - variant_strategy
      title: SetupVariantRequest
    SetupVariantResponse:
      properties:
        pageId:
          type: string
          format: uuid
          title: Pageid
          description: The unique identifier of the page.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        componentId:
          type: string
          format: uuid
          title: Componentid
          description: The unique identifier of the component set up as a variant.
          example: d290f1ee-6c54-4b01-90e6-d701748f0851
        componentRenderingId:
          type: string
          format: uuid
          title: Componentrenderingid
          description: The unique identifier of the component rendering definition.
          example: 86a03271-dff4-470a-92bd-b68c67de2e25
        flowId:
          type: string
          title: Flowid
          description: The unique identifier of the A/B/n test or personalization.
          example: 1fdfbc60-9646-469d-b971-2b0f4c033fbc
        variantId:
          type: string
          title: Variantid
          description: The unique identifier of the A/B/n test or personalization variant.
          example: 8ea2cb6f-a92a-4c05-88a3-a4c0b29c63a8
        datasource:
          anyOf:
            - type: string
            - type: 'null'
          title: Datasource
          description: >-
            The path to the datasource used by the variant, or null if not
            applicable.
          example: /sitecore/content/Verticals/SkatePark/Data/Promos/Summer Sale
      type: object
      title: SetupVariantResponse
    SimpleTextConfig:
      properties:
        type:
          type: string
          const: SimpleText
          title: Type
          description: Type of the field the brief type.
        name:
          type: string
          title: Name
          description: >-
            The name of the field. Must be alphanumeric with no spaces or
            special characters.
          example: TargetAudience
        label:
          additionalProperties:
            type: string
          type: object
          title: Label
          description: >-
            The display label of the field, which can be localized for different
            languages.
          example:
            en-us: Target audience
        helpText:
          additionalProperties:
            type: string
          type: object
          title: Helptext
          description: >-
            The text providing help or guidance for the field, which can be
            localized for different languages.
          example:
            en-us: Describe the target audience for the content.
        required:
          type: boolean
          title: Required
          description: Whether the field is required.
          example: true
        aiEditable:
          type: boolean
          title: Aieditable
          description: Whether the field is editable by AI.
          example: false
        aiIntent:
          anyOf:
            - type: string
            - type: 'null'
          title: Aiintent
          description: The AI intent associated with the field.
          example: This field should be used to specify the message of the brief.
        aiContext:
          anyOf:
            - type: string
            - type: 'null'
          title: Aicontext
          description: The AI context for the field.
          example: 'null'
      type: object
      title: SimpleTextConfig
    SimpleTextFieldValue:
      properties:
        type:
          type: string
          const: SimpleText
          title: Type
          description: Type of the field value.
        value:
          type: string
          title: Value
          description: The text value of the field.
          example: Message
      type: object
      required:
        - type
        - value
      title: SimpleTextFieldValue
      description: Simple text field value
    SiteBasicModel:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: The unique identifier of the site.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        name:
          type: string
          title: Name
          description: The name of the site.
          example: skate-park
        targetHostname:
          type: string
          title: Targethostname
          description: The target hostname of the site.
          example: skate-park.example.com
        rootPath:
          type: string
          title: Rootpath
          description: The root path of the site.
          example: /sitecore/content/SkatePark
      type: object
      title: SiteBasicModel
    SiteIdFromItemResponse:
      properties:
        siteRootItemId:
          type: string
          format: uuid
          title: Siterootitemid
          description: The unique identifier of the site root item.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        siteRootDisplayName:
          type: string
          title: Siterootdisplayname
          description: The display name of the site root.
          example: Skate Park
        siteRootName:
          type: string
          title: Siterootname
          description: The name of the site root.
          example: Skate Park
      type: object
      title: SiteIdFromItemResponse
    SiteInformationResponse:
      properties:
        itemId:
          type: string
          format: uuid
          title: Itemid
          description: The unique identifier of the item.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        name:
          type: string
          title: Name
          description: The name of the site.
          example: skate-park
        brand_information:
          type: string
          title: Brand Information
          description: Information about the brand associated with the site.
          example: Skate park brand guidelines
        rootPath:
          type: string
          title: Rootpath
          description: The root path of the site.
          example: /sitecore/content/SkatePark
        page_locations:
          items:
            $ref: '#/components/schemas/PageLocationModel'
          type: array
          title: Page Locations
          description: >-
            A list of page locations (pages and page folders) associated with
            the site. The `is_page_folder` flag helps identify which ones are
            pages and which ones are page folders.
        non_visual_content_locations:
          items:
            $ref: '#/components/schemas/NonVisualContentLocationModel'
          type: array
          title: Non Visual Content Locations
          description: A list of non-visual content locations associated with the site.
      type: object
      title: SiteInformationResponse
    SwappedComponentModel:
      properties:
        componentRenderingId:
          type: string
          format: uuid
          title: Componentrenderingid
          description: >-
            The unique identifier of the replacement component rendering
            definition.
          example: 86a03271-dff4-470a-92bd-b68c67de2e25
        datasourcePath:
          type: string
          title: Datasourcepath
          description: The path to the datasource used by the swapped component.
          example: /sitecore/content/Verticals/SkatePark/Data/Promos/Summer Sale
      type: object
      required:
        - componentRenderingId
        - datasourcePath
      title: SwappedComponentModel
    TagModel:
      properties:
        category:
          type: string
          title: Category
          description: The tag category.
          example: audience
        values:
          items:
            type: string
          type: array
          title: Values
          description: A list of tag values for the category.
      type: object
      title: TagModel
      description: Model for brand kit tags with category and values
    TimelineCalculation:
      type: integer
      enum:
        - 0
        - 1
        - 2
        - 3
      title: TimelineCalculation
      description: Represents the timeline calculation constraint.
    TimelineConfig:
      properties:
        type:
          type: string
          const: Timeline
          title: Type
          description: The type of field in the brief type.
        name:
          type: string
          title: Name
          description: >-
            The name of the field. Must be alphanumeric with no spaces or
            special characters.
          example: TargetAudience
        label:
          additionalProperties:
            type: string
          type: object
          title: Label
          description: >-
            The display label of the field, which can be localized for different
            languages.
          example:
            en-us: Target audience
        helpText:
          additionalProperties:
            type: string
          type: object
          title: Helptext
          description: >-
            The text providing help or guidance for the field, which can be
            localized for different languages.
          example:
            en-us: Describe the target audience for the content.
        required:
          type: boolean
          title: Required
          description: Whether the field is required.
          example: true
        aiEditable:
          type: boolean
          title: Aieditable
          description: Whether the field is editable by AI.
          example: false
        aiIntent:
          anyOf:
            - type: string
            - type: 'null'
          title: Aiintent
          description: The AI intent associated with the field.
          example: >-
            This field should be used to adapt language and tone for the
            intended audience.
        calculation:
          type: string
          description: >-
            The timeline calculation constraint. Either `Flexible`, `Backward`
            or `Forward`.
          example: Flexible
        skipHolidays:
          type: boolean
          title: Skipholidays
          description: Whether to skip holidays in timeline calculations.
          example: true
        skipWeekend:
          type: boolean
          title: Skipweekend
          description: Whether to skip weekends in timeline calculations.
          example: true
        timezone:
          type: string
          title: Timezone
          description: The timezone to use for timeline calculations.
      type: object
      title: TimelineConfig
    TimelineEvent:
      properties:
        title:
          type: string
          title: Title
          description: The title of the timeline event.
          example: Publish content
        duration:
          anyOf:
            - type: integer
            - type: 'null'
          title: Duration
          description: The duration of the timeline event in the specified units.
          example: 7
        unit:
          anyOf:
            - $ref: '#/components/schemas/TimelineEventUnit'
            - type: 'null'
          description: 'Timeline duration unit: Either `Day` or `Week`.'
        dueDate:
          anyOf:
            - type: string
            - type: 'null'
          title: Duedate
          description: The due date of the timeline event in yyyy-mm-dd format.
          example: '2026-01-01'
      type: object
      required:
        - title
      title: TimelineEvent
      description: Represents a timeline event.
    TimelineEventUnit:
      type: string
      enum:
        - Day
        - Week
      title: TimelineEventUnit
      description: Represents the units of time for timeline events.
    TimelineFieldValue:
      properties:
        type:
          type: string
          const: Timeline
          title: Type
          description: The type of the field value
        value:
          $ref: '#/components/schemas/TimelineValue'
          description: The timeline value containing start date, end date, and events.
      type: object
      required:
        - type
        - value
      title: TimelineFieldValue
      description: Timeline field value
    TimelineValue:
      properties:
        startDate:
          type: string
          title: Startdate
          description: The start date of the timeline in yyyy-mm-dd format.
          example: '2025-09-01'
        endDate:
          type: string
          title: Enddate
          description: The end date of the timeline in yyyy-mm-dd format.
          example: '2025-09-07'
        events:
          items:
            $ref: '#/components/schemas/TimelineEvent'
          type: array
          title: Events
          description: A list of events included in the timeline.
      type: object
      title: TimelineValue
    UpdateAssetRequest:
      properties:
        fields:
          additionalProperties: true
          type: object
          title: Fields
          description: A key-value map of metadata fields to update for the asset.
        language:
          type: string
          title: Language
          description: The new language code of the asset.
          example: en
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: The new name for the asset. If null, the name will not be updated.
          example: Skateboarder
        altText:
          anyOf:
            - type: string
            - type: 'null'
          title: Alttext
          description: >-
            The new alt text for the asset. If null, the alt text will not be
            updated.
          default: ''
          example: A skateboarder performing a trick
      type: object
      required:
        - fields
        - language
      title: UpdateAssetRequest
    UpdateAssetResponse:
      properties:
        itemId:
          type: string
          format: uuid
          title: Itemid
          description: The unique identifier of the asset.
          example: 550e8400-e29b-41d4-a716-446655440000
        name:
          type: string
          title: Name
          description: The updated name of the asset.
          example: Skateboarder in action
        path:
          type: string
          title: Path
          description: The path to the asset.
          example: /media/assets/As8c7e6d-5b4
        updatedFields:
          additionalProperties: true
          type: object
          title: Updatedfields
          description: The fields that were updated in the asset.
      type: object
      title: UpdateAssetResponse
    UpdateBriefRequestModel:
      properties:
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: The name of the brief
          example: New Summer Campaign Brief
        fields:
          anyOf:
            - additionalProperties:
                oneOf:
                  - $ref: '#/components/schemas/SimpleTextFieldValue'
                  - $ref: '#/components/schemas/RichTextFieldValue'
                  - $ref: '#/components/schemas/DateTimeFieldValue'
                  - $ref: '#/components/schemas/BudgetFieldValue'
                  - $ref: '#/components/schemas/BooleanFieldValue'
                  - $ref: '#/components/schemas/TimelineFieldValue'
                discriminator:
                  propertyName: type
                  mapping:
                    Boolean: '#/components/schemas/BooleanFieldValue'
                    Budget: '#/components/schemas/BudgetFieldValue'
                    DateTime: '#/components/schemas/DateTimeFieldValue'
                    RichText: '#/components/schemas/RichTextFieldValue'
                    SimpleText: '#/components/schemas/SimpleTextFieldValue'
                    Timeline: '#/components/schemas/TimelineFieldValue'
              type: object
            - type: 'null'
          title: Fields
          description: Dictionary of field names to their values
      type: object
      title: UpdateBriefRequestModel
      description: Model for updating an existing brief
    UpdateBriefResponse:
      properties:
        id:
          type: string
          title: Id
          description: The unique identifier of the brief.
          example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
        icon:
          anyOf:
            - type: string
            - type: 'null'
          title: Icon
          description: The icon associated with the brief.
        name:
          type: string
          title: Name
          description: The name of the brief.
          example: New Summer Campaign Brief
        status:
          type: string
          title: Status
          description: The status of the brief. Draft by default.
          example: Draft
        locale:
          type: string
          title: Locale
          description: The locale code in the format xx-XX.
          example: en-us
        fields:
          additionalProperties: true
          type: object
          title: Fields
          description: Dictionary of field names to their values.
        isTemplate:
          type: boolean
          title: Istemplate
          default: false
        contributors:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Contributors
          description: A list of users who contributed to the brief.
        createdBy:
          anyOf:
            - $ref: '#/components/schemas/ExternalLink'
            - type: 'null'
          description: The user who created the brief.
        createdOn:
          anyOf:
            - type: string
            - type: 'null'
          title: Createdon
          description: The ISO 8601 timestamp when the brief was created.
          example: '2026-01-15T10:30:00Z'
        updatedBy:
          anyOf:
            - $ref: '#/components/schemas/ExternalLink'
            - type: 'null'
          description: The user who last updated the brief.
        updatedOn:
          anyOf:
            - type: string
            - type: 'null'
          title: Updatedon
          description: The ISO 8601 timestamp when the brief was last updated.
          example: '2026-04-01T08:00:00Z'
        briefType:
          anyOf:
            - $ref: '#/components/schemas/BriefTypeLink'
            - type: 'null'
      type: object
      title: UpdateBriefResponse
    UpdateContentRequest:
      properties:
        fields:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Fields
          description: >-
            A key-value map of fields to update for the content item. If null,
            fields will not be updated.
        language:
          type: string
          title: Language
          description: The language version of the content item to update.
          default: en
          example: en
        createNewVersion:
          type: boolean
          title: Createnewversion
          description: Whether to create a new version of the content item.
          default: false
          example: false
        siteName:
          anyOf:
            - type: string
            - type: 'null'
          title: Sitename
          description: The unique name of the site where the content item resides.
          example: skate-park
      type: object
      title: UpdateContentRequest
    UpdateContentResponse:
      properties:
        itemId:
          type: string
          format: uuid
          title: Itemid
          description: The unique identifier of the content item.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        name:
          type: string
          title: Name
          description: The name of the content item.
          example: Sample Content Item
        path:
          type: string
          title: Path
          description: The path to the content item.
          example: /content/items/3f2504e0-4f89-11d3-9a0c-0305e82c3301
        updatedFields:
          additionalProperties: true
          type: object
          title: Updatedfields
          description: The fields that were updated in the content item.
      type: object
      title: UpdateContentResponse
    UpdateExperimentRequest:
      properties:
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: The updated name of the A/B/n test.
          example: Latest Hero Banner Experiment
        archived:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Archived
          description: Whether to archive the A/B/n test.
          default: false
          example: false
        goal_type:
          anyOf:
            - $ref: '#/components/schemas/GoalType'
            - type: 'null'
          description: |-
            How the A/B/n test evaluates the performance of its variants: 

             - `pageViewGoal` - measures the number of page views. 
             - `bouncersGoal` - measures the number of bounces. 
             - `exitsGoal` - measures the number of exits.
        targeted_pages:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Targeted Pages
          description: The updated list of page paths to target for the experiment.
          example: []
        variants:
          anyOf:
            - items:
                $ref: '#/components/schemas/Variant'
              type: array
            - type: 'null'
          title: Variants
          description: >-
            An updated list of variants to use for the A/B/n test. Traffic
            splits must sum to 100 and exactly one variant must be marked as
            control.
      type: object
      title: UpdateExperimentRequest
    UpdatePersonalizationRequest:
      properties:
        language:
          anyOf:
            - type: string
            - type: 'null'
          title: Language
          description: The language code for the personalization rule, or null for default.
          default: en
          example: en
        variant_name:
          type: string
          title: Variant Name
          description: The name of the personalization variant.
          example: Summer Sale Variant
        audience_name:
          type: string
          title: Audience Name
          description: The name of the audience for the personalization rule.
          example: Returning Customers
        condition_groups:
          items:
            $ref: '#/components/schemas/ConditionGroupInput'
          type: array
          title: Condition Groups
          description: List of condition groups with their conditions
      type: object
      required:
        - variant_name
        - audience_name
        - condition_groups
      title: UpdatePersonalizationRequest
    UploadAssetResponse:
      properties:
        success:
          type: boolean
          title: Success
          description: Whether the asset upload was successful.
          example: true
        mediaItem:
          $ref: '#/components/schemas/MediaItem'
          description: The uploaded media item details.
      type: object
      title: UploadAssetResponse
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
          description: The location of the error in the request.
        msg:
          type: string
          title: Message
          description: The error message.
        type:
          type: string
          title: Error Type
          description: The type of error.
        input:
          title: Input
          description: The input that caused the error.
        ctx:
          type: object
          title: Context
          description: The context in which the error occurred.
      type: object
      title: ValidationError
    Variant:
      properties:
        name:
          type: string
          title: Name
          description: The name of the variant.
          example: Variant A
        is_control:
          type: boolean
          title: Is Control
          description: >-
            Whether this is the control variant (baseline) for comparison in the
            A/B/n test.
          example: false
        traffic_split:
          type: number
          title: Traffic Split
          description: >-
            The percentage of traffic assigned to this variant. All variant
            splits must sum to 100.
          example: 50
      type: object
      required:
        - name
        - is_control
        - traffic_split
      title: Variant
    VariantComponentModel:
      properties:
        componentId:
          type: string
          format: uuid
          title: Componentid
          description: The unique identifier of the component.
          example: d290f1ee-6c54-4b01-90e6-d701748f0851
        componentRenderingId:
          type: string
          format: uuid
          title: Componentrenderingid
          description: The unique identifier of the component rendering definition.
          example: 86a03271-dff4-470a-92bd-b68c67de2e25
        variantStrategy:
          anyOf:
            - $ref: '#/components/schemas/VariantStrategy'
            - type: 'null'
          description: >-
            The variant strategy applied to this component. Either HIDE, SWAP,
            COPY, or null.
        datasourcePath:
          anyOf:
            - type: string
            - type: 'null'
          title: Datasourcepath
          description: >-
            The path to the datasource used by the variant component, or null if
            not applicable.
          example: /sitecore/content/Verticals/SkatePark/Data/Promos/Summer Sale
        componentName:
          type: string
          title: Componentname
          description: The internal name of the component.
          example: Promo
      type: object
      title: VariantComponentModel
    VariantInfoResponse:
      properties:
        flowId:
          type: string
          title: Flowid
          description: The unique identifier of the A/B/n test or personalization.
          example: 1fdfbc60-9646-469d-b971-2b0f4c033fbc
        variantId:
          type: string
          title: Variantid
          description: The unique identifier of the A/B/n test or personalization variant.
          example: 8ea2cb6f-a92a-4c05-88a3-a4c0b29c63a8
        components:
          items:
            $ref: '#/components/schemas/VariantComponentModel'
          type: array
          title: Components
          description: A list of components associated with the variant.
      type: object
      title: VariantInfoResponse
    VariantStrategy:
      type: string
      enum:
        - HIDE
        - SWAP
        - COPY
      title: VariantStrategy
    WorkflowModel:
      properties:
        workflowState:
          $ref: '#/components/schemas/WorkflowStateModel'
          description: The current workflow state of the content item.
      type: object
      title: WorkflowModel
      description: Model representing the workflow state of an item.
    WorkflowStateModel:
      properties:
        final:
          type: boolean
          title: Final
          description: Whether this is a final workflow state.
          example: false
        displayName:
          type: string
          title: Displayname
          description: The display name of the workflow state.
          example: Published
      type: object
      title: WorkflowStateModel
    models__brandkits__FieldModel:
      properties:
        id:
          type: string
          title: Id
          description: The unique identifier of the brand kit field (subsection).
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        name:
          type: string
          title: Name
          description: The name of the brand kit field.
          example: Brand purpose
        type:
          type: string
          title: Type
          description: The type of the brand kit field.
          example: text
        value:
          anyOf:
            - {}
            - type: 'null'
          title: Value
          description: The value of the brand kit field.
          example: >-
            The core reason for the brand existence is to fuel the potential of
            active individuals with clean, nutrient-dense energy solutions.
        intent:
          anyOf:
            - type: string
            - type: 'null'
          title: Intent
          description: The intent of the brand kit field.
          example: The core reason for the brand's existence.
      type: object
      title: FieldModel
      description: Model for the brand kit section field.
    models__content__TemplateModel:
      properties:
        templateId:
          type: string
          format: uuid
          title: Templateid
          description: The unique identifier of the template.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        name:
          type: string
          title: Name
          description: The name of the template.
          example: Article Page
      type: object
      title: TemplateModel
    models__pages__FieldModel:
      properties:
        name:
          type: string
          title: Name
          description: The name of the field.
          example: Title
        value:
          type: string
          title: Value
          description: The value of the field.
          example: Welcome to Our Site
      type: object
      title: FieldModel
    models__pages__TemplateModel:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: The unique identifier of the template.
          example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301
        name:
          type: string
          title: Name
          description: The name of the template.
          example: Article Page
      type: object
      title: TemplateModel
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer
      bearerFormat: JWT
