openapi: 3.0.1 info: title: Cart Actions Endpoints Pages API description: fabric's **Cart API** lets you add, update, and remove items from your Storefront cart, either as a guest user or as a logged-in user. It also provides functionality to merge carts when you switch from guest user to logged-in user, and apply coupons and other attributes (for example, gift wrapping) to the line items. Additionally, the API supports more advanced tasks such as using multiple carts within a B2B organization, sharing carts, and supporting a unified cart experience for multi-region and multi-brand businesses.

The Cart API provides high performance, scalability, multi-tenancy, and configurability to the end-to-end order processing actions that start from the item being added to the cart; through the pre-checkout stage that includes billing, shipping, and payment details; to the checkout stage where the order is processed and confirmed by fabric's Order Management System (OMS) contact: name: Cart Support email: support.cnc@fabric.inc license: name: fabric API License url: https://fabric.inc/api-license version: 3.0.0 servers: - url: https://api.fabric.inc/v3 security: - bearerAuth: [] 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
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: 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
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 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 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' 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
false = page is not active isArchived: type: boolean description: True = page is archived
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 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 securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: 'This is the authorization token used to authenticate the request. You must pass the access token generated from the system app. For more information, see the [Making your first API request](/v3/api-reference/getting-started/getting-started-with-fabric-apis#procedure) section. '