fabric Pages API

XM Pages API allows you to fetch all the live pages, or a live page by a specific URL

Operations 3

GET /v2/pages/live Get Live Pages for Specified Channels #
GET /v2/pages/metadata Get Meta Information About Live Pages #
GET /v2/page/live Get Live Page for a Channel by URL #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/fabric-com-pages-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

fabric-com-pages-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 2.0.0
  description: fabric's Experiences (formerly known as XM) enables you to design, implement, and optimize omnichannel e-commerce experiences, without having to code. With XM, you can easily add parent and child categories through our intuitive UI to create your website navigation, and seamlessly integrate with our APIs    for dynamic navigation rendering on your store front. In addition, developers can implement agile design by creating reusable design components and use one set of data and APIs for every channel.
  title: Experiences v2 (XM v2) Pages API
  contact:
    email: support@fabric.inc
  license:
    name: fabric Inc
    url: https://fabric.inc/api-license
servers:
- url: https://cdn.xm.fabric.inc/api
tags:
- name: Pages
  description: XM Pages API allows you to fetch all the live pages, or a live page by a specific URL
paths:
  /v2/pages/live:
    get:
      summary: Get Live Pages for Specified Channels
      description: Get a list of all the live pages for the specified channels
      operationId: getLivePagesV2
      tags:
      - Pages
      parameters:
      - in: query
        name: offset
        description: Number of items to omit before collecting the resulting set
        schema:
          type: integer
          default: 0
      - in: query
        name: limit
        description: Total number of results
        schema:
          type: integer
          default: 20
      - in: query
        name: channels
        description: Comma-separated list of channel IDs
        schema:
          type: string
          default: '12'
      - $ref: '#/components/parameters/XSiteContent'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                description: 200 response object
                properties:
                  message:
                    type: string
                    description: Status message
                  data:
                    type: object
                    description: Object holding the query information and the list of live page versions
                    properties:
                      query:
                        type: object
                        description: Query information
                        properties:
                          limit:
                            type: integer
                            description: Maximum number of records
                          offset:
                            type: integer
                            description: Number of items omitted before collecting the resulting set
                          count:
                            type: integer
                            description: Total number of records
                          channels:
                            type: array
                            description: Channel IDs to filter live pages
                            items:
                              type: string
                              description: Channel ID
                      livePages:
                        type: array
                        description: Array of live page versions
                        items:
                          type: object
                          description: Version details of the live page
                          allOf:
                          - $ref: '#/components/schemas/PageVersion'
                          - type: object
                            properties:
                              page:
                                allOf:
                                - $ref: '#/components/schemas/Page'
                                - type: object
                                  properties:
                                    typeId:
                                      type: string
                                      description: Database ID for the page type linked to the page
                                    typeName:
                                      type: string
                                      description: Name of the page type
                                    typeUrl:
                                      type: string
                                      description: URL associated with page type
              examples:
                LivePagesExist:
                  summary: Live Pages Exist
                  value:
                    message: List of pages with queryParams {"channels":"02SZCA,00SZAU","offset":0,"limit":20}
                    data:
                      query:
                        limit: 20
                        offset: 0
                        count: 1
                        channels:
                        - 02SZCA
                        - 00SZAU
                      livePages:
                      - _id: 613a76a1fa9449000f6c36c3
                        isArchived: false
                        name: Default
                        channel:
                        - 12
                        channels:
                        - 00SZAU
                        - 02SZCA
                        createdAt: '2021-09-09T21:03:29.712Z'
                        updatedAt: '2021-10-14T20:31:47.369Z'
                        components:
                        - _id: 61689237068cae000f12ef90
                          id: AboutUs
                          params:
                            desktopHeroImage:
                              url: https://imgurl.com/path/myPhoto.jpg
                              altText: Custom image
                            aboutUsContent:
                            - text: About us
                              firstText: Our Company
                              secondText: Our mission
                              thirdText: Our values
                              paragraph: false
                              dialog: false
                              components: []
                            components: []
                            additionalProp1: {}
                          order: 1
                          additionalProp1: {}
                        endDate: '2099-12-31T00:00:00.000Z'
                        pageId: 613a76a15363f9e9575dc953
                        status: SCHEDULED
                        versionId: 2446
                        page:
                          _id: 613a76a15363f9e9575dc953
                          name: Components
                          pageUrl: /components
                          __v: 0
                          channels:
                          - 00SZAU
                          - 02SZCA
                          createdAt: '2021-09-09T21:03:29.617Z'
                          isActive: true
                          isArchived: false
                          pageId: 1377
                          seoFields:
                            title: SEO
                            description: SEO description
                            _id: 612e4756c4b3c60010fff859
                            metadata:
                            - _id: 612e4756c4b3c60010fff85a
                              name: summary
                              content: Types of components
                              createdAt: '2021-08-31T15:14:30.973Z'
                              updatedAt: '2021-08-31T15:14:30.973Z'
                            createdAt: '2021-08-31T15:14:30.973Z'
                            updatedAt: '2021-08-31T15:14:30.973Z'
                          typeId: 61325fd059cbdbe62e888bc0
                          updatedAt: '2021-10-14T20:31:46.794Z'
                          typeName: Product category page
                          typeUrl: /category
                NoLivePages:
                  summary: No Live Pages
                  value:
                    message: No live pages found with queryParams {"channels":"01SZUS","offset":0,"limit":20}
                    query:
                      limit: 20
                      offset: 0
                      count: 0
                      channels:
                      - 01SZUS
                    livePages: []
        '404':
          description: Request was received but no data matches the request parameters
          content:
            application/json:
              schema:
                type: object
                description: 404 response object
                properties:
                  status:
                    type: string
                    description: Status description
                  message:
                    type: string
                    description: String message to inform client of error
                  statusCode:
                    type: integer
                    description: Status code of response
                example:
                  status: PAGE_NOT_FOUND
                  message: No Page Entry Found.
                  statusCode: 404
        '500':
          description: Request was received but an internal error occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                code: INTERNAL_SERVER_ERROR
                message: An internal error occurred. If the issue persists please contact support@fabric.inc.
  /v2/pages/metadata:
    get:
      summary: Get Meta Information About Live Pages
      description: Get all the meta information such as name, url, channels, and SEO fields.
      operationId: getLivePagesMetaV2
      tags:
      - Pages
      parameters:
      - in: query
        name: channels
        description: Comma-separated list of channel IDs
        schema:
          type: string
          default: '12'
      - in: query
        name: size
        description: Number of records to be returned
        required: false
        schema:
          type: integer
          format: int32
          minimum: 1
          default: 10
          maximum: 100
      - in: query
        name: startCursor
        description: Record pointer to get items after the specified record
        required: false
        schema:
          type: string
          minLength: 15
          maxLength: 15
          example: H796HJHGANLSADS
      - $ref: '#/components/parameters/XSiteContent'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                description: 200 response object
                properties:
                  size:
                    description: Number of records to be returned
                    type: integer
                    format: int32
                    minimum: 1
                    default: 10
                    maximum: 100
                    example: 10
                  nextCursor:
                    description: Record pointer to get items in the next data set
                    type: string
                    minLength: 15
                    maxLength: 15
                    example: H796HJHGANLSADS
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/PageMetaData'
                example:
                  size: 10
                  nextCursor: H796HJHGANLSADS
                  data:
                  - id: 5f328bf0b7c15700071233b9
                    name: HomePage
                    updatedAt: '2021-09-09T21:03:29.617Z'
                    publishedAt: '2021-09-09T21:03:29.617Z'
                    metadata:
                      url: /home
                      channels:
                      - 00SZAU
                      - 02SZCA
                      seoFields:
                        title: SEO
                        description: SEO description
                        metadata:
                        - name: background-color
                          content: white
        '204':
          description: No live pages exist
        '500':
          description: Request was received but an internal error occurred
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                code: INTERNAL_SERVER_ERROR
                message: An internal error occurred. If the issue persists please contact support@fabric.inc.
  /v2/page/live:
    get:
      summary: Get Live Page for a Channel by URL
      description: Gets live page for the specified page URL and channel
      operationId: getLivePageV2
      tags:
      - Pages
      parameters:
      - in: query
        name: url
        description: Relative page url for which to retrieve the live page version
        required: true
        schema:
          type: string
      - in: query
        name: channels
        description: Comma-separated list of channel IDs
        schema:
          type: string
          default: '12'
      - name: x-site-context
        in: header
        description: The `x-site-context` header is a JSON object that contains information about the source you wish to pull from. The mandatory `account` is the 24 character identifier found in Copilot. The `channel` (Sales channel ID), `stage` (environment name), and `date` attributes can be used to further narrow the scope of your data source.
        required: true
        schema:
          type: string
          example: '{"date": "2023-01-01T00:00:00.000Z", "channel": 12, "account": "1234abcd5678efgh9ijklmno","stage":"production"}'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                description: 200 response object
                properties:
                  status_code:
                    type: integer
                    description: Response status code
                  message:
                    type: string
                    description: Status message
                  data:
                    type: object
                    description: Data object holding the live page and version details
                    properties:
                      page:
                        type: object
                        description: Page details
                        allOf:
                        - $ref: '#/components/schemas/Page'
                        - type: object
                          properties:
                            pageType:
                              type: object
                              description: Details of page type
                              properties:
                                isDefault:
                                  type: boolean
                                  description: True = page type is default <br /> false = page type is not default
                                name:
                                  type: string
                                  description: Name of page type
                                urlPrefix:
                                  type: string
                                  description: URL prefix associated with page type
                      version:
                        type: array
                        description: Array holding live page version
                        items:
                          type: object
                          description: Version details of the live page
                          allOf:
                          - $ref: '#/components/schemas/PageVersion'
                          - type: object
                            properties:
                              __v:
                                type: integer
                                description: versionKey associated with the version
                              startDate:
                                type: string
                                format: date-time
                                description: Timestamp of when version was published
              example:
                status_code: 200
                message: 'Live version: 2446 for page: /components'
                data:
                  page:
                    _id: 613a76a15363f9e9575dc953
                    name: Components
                    pageUrl: /components
                    __v: 0
                    channels:
                    - 00SZAU
                    - 02SZCA
                    createdAt: '2021-09-09T21:03:29.617Z'
                    isActive: true
                    isArchived: false
                    pageId: 1377
                    seoFields:
                      title: SEO
                      description: SEO description
                      _id: 612e4756c4b3c60010fff859
                      metadata:
                      - _id: 612e4756c4b3c60010fff85a
                        name: summary
                        content: Types of components
                        createdAt: '2021-08-31T15:14:30.973Z'
                        updatedAt: '2021-08-31T15:14:30.973Z'
                      createdAt: '2021-08-31T15:14:30.973Z'
                      updatedAt: '2021-08-31T15:14:30.973Z'
                    updatedAt: '2021-10-14T20:31:46.794Z'
                    pageType:
                      isDefault: false
                      name: Product category page
                      urlPrefix: /category
                  version:
                  - _id: 613a76a1fa9449000f6c36c3
                    isArchived: false
                    name: Default
                    channel:
                    - 12
                    channels:
                    - 00SZAU
                    - 02SZCA
                    createdAt: '2021-09-09T21:03:29.712Z'
                    updatedAt: '2021-10-14T20:31:47.369Z'
                    components:
                      _id: 61689237068cae000f12ef90
                      id: AboutUs
                      params:
                        desktopHeroImage:
                          url: https://imgurl.com/path/myPhoto.jpg
                          altText: Custom image
                        aboutUsContent:
                        - text: About us
                          firstText: Our Company
                          secondText: Our mission
                          thirdText: Our values
                          paragraph: false
                          dialog: false
                          components: []
                        components: []
                        additionalProp1: {}
                      order: 1
                      additionalProp1: {}
                    endDate: '2099-12-31T00:00:00.000Z'
                    pageId: 613a76a15363f9e9575dc953
                    status: SCHEDULED
                    versionId: 2446
                    __v: 0
                    startDate: '2021-10-14T20:31:44.052Z'
        '204':
          description: Page is not live or is inactive
          content:
            application/json:
              schema:
                type: object
                description: 204 response object
                properties:
                  status_code:
                    type: integer
                    description: Response status code
                  status:
                    type: string
                    description: Message describing the request
                  message:
                    type: string
                    description: Message describing the result of the response
              examples:
                NoLiveVersion:
                  summary: No Live Versions
                  value:
                    status_code: 204
                    status: 'Live Page: /someUrl'
                    message: 'No live version available for page: /someUrl, status: SCHEDULED, Date: Tue Oct 19 2021 16:18:21 GMT-0400 (Eastern Daylight Time), Channel: 02SZCA.'
                InactivePage:
                  summary: Inactive Page
                  value:
                    status_code: 204
                    status: 'Live Page: /someUrl'
                    message: 'page: /someUrl is inactive or archived, so there will be no live versions of page.'
        '400':
          description: Page url not specified
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                code: REQUEST_VALIDATION
                message: 'Invalid data in query: must have required property URL'
        '404':
          description: Page not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                code: PAGE_NOT_FOUND
                message: No page entry found
        '500':
          description: Request was received but an internal error occurred
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                code: INTERNAL_SERVER_ERROR
                message: An internal error occurred. If the issue persists please contact support@fabric.inc.
components:
  schemas:
    Error:
      type: object
      description: Server error response object
      properties:
        code:
          type: string
          description: Code associated with the type of server error
        message:
          type: string
          description: Message associated with the server error
      required:
      - code
      - message
    Page:
      type: object
      description: Page details
      properties:
        name:
          type: string
          description: Page name
        pageUrl:
          type: string
          description: Relative page URL
        createdAt:
          type: string
          format: date-time
          description: Timestamp of page creation
        updatedAt:
          type: string
          format: date-time
          description: Timestamp of when page was last updated
        isActive:
          type: boolean
          description: True = page is active <br /> false = page is not active
        isArchived:
          type: boolean
          description: True = page is archived <br /> false = page is not archived
        pageId:
          type: integer
          description: Page ID
        channels:
          type: array
          description: Channel IDs associated with the page
          items:
            type: string
            description: Channel ID associated with the page
        seoFields:
          $ref: '#/components/schemas/SeoFields'
        typeName:
          type: string
          description: Name of the page type of page (optional)
        typeUrl:
          type: string
          description: URL of the page type of page (optional)
        _id:
          type: string
          description: Database ID associated with the page
        __v:
          type: integer
          description: VersionKey associated with the page
        channel:
          type: array
          description: deprecated field holding channel information
          items:
            type: integer
            description: Channel identifier
    PageMetaData:
      type: object
      description: Page metadata
      properties:
        id:
          type: string
          description: Page ID
        name:
          type: string
          description: Page name
        updatedAt:
          type: string
          format: date-time
          description: Timestamp of when the page was last updated
        publishedAt:
          type: string
          format: date-time
          description: Timestamp of when page was last published
        metadata:
          type: object
          description: Page metadata
          properties:
            url:
              type: string
              description: Page URL
            channels:
              type: array
              description: Page channels
              items:
                type: string
                description: Channel identifier
            seoFields:
              $ref: '#/components/schemas/SeoFields'
    Components:
      type: array
      description: List of components
      items:
        type: object
        description: Component data
        properties:
          _id:
            type: string
            description: Virtual ID associated with the component
          id:
            type: string
            description: Identifier used in the UI by the component
          params:
            type: object
            description: Attached fields and values of the component
            additionalProperties: true
        additionalProperties: true
    SeoFields:
      type: object
      description: SEO fields
      properties:
        title:
          type: string
          description: SEO field name
        description:
          type: string
          description: SEO field description
        createdAt:
          type: string
          format: date-time
          description: Timestamp of SEO field creation
        updatedAt:
          type: string
          format: date-time
          description: Timestamp of when SEO field was last updated
        metadata:
          type: array
          description: list of metadata associated with the SEO field
          items:
            type: object
            description: Metadata associated with the SEO field
            properties:
              name:
                type: string
                description: Metadata name
              content:
                type: string
                description: Metadata content
              _id:
                type: string
                description: Virutal ID associated with the SEO field metadata
              createdAt:
                type: string
                format: date-time
                description: Timestamp of metadata creation
              updatedAt:
                type: string
                format: date-time
                description: Timestamp of when metadata was last updated
        _id:
          type: string
          description: Virtual ID associated with the SEO field
    PageVersion:
      type: object
      description: Version details
      properties:
        _id:
          type: string
          description: Database ID associated with the version
        isArchived:
          type: boolean
          description: True = version is archived <br /> false = version is not archived
        channel:
          type: array
          description: Deprecated field holding channel information
          items:
            type: integer
            description: Channel identifier
        channels:
          type: array
          description: Channel IDs associated with the version
          items:
            type: string
            description: Channel ID associated with the version
        status:
          type: string
          description: Current status of the version
        endDate:
          type: string
          description: Ending timestamp of page. That is Date and time when the version will no longer be live
          format: date-time
        pageId:
          type: string
          description: Database ID of the page associated with the version
        name:
          type: string
          description: Version name
        description:
          type: string
          description: Version description
        components:
          $ref: '#/components/schemas/Components'
        versionId:
          type: integer
          description: Version ID
        createdAt:
          type: string
          format: date-time
          description: Timestamp of version creation
        updatedAt:
          type: string
          format: date-time
          description: Timestamp on when version was last updated