> ## Documentation Index
> Fetch the complete documentation index at: https://developers.xfaster.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Get the catalog

> Categories, items with option groups, and add-ons. Deals appear as items and switch off by themselves when one of their items is off.



## OpenAPI

````yaml GET /menu
openapi: 3.1.0
info:
  title: XFaster Partner API
  version: '1.0'
  description: >
    Receive XFaster orders in your POS, send their status back, and keep the
    menu, stock and prices in sync.

    One API key per store, or one integrator key for all your stores (it names
    the store in X-XFaster-Store). Money is in agorot (integers, VAT included).
    Times are ISO 8601 with the Israel offset.
servers:
  - url: https://staging2.xfaster.net/api/partner/v1
    description: Sandbox (test keys, xfp_test_…)
  - url: https://apps.xfaster.net/api/partner/v1
    description: Live (live keys, xfp_live_…)
security:
  - apiKey: []
  - apiKey: []
    storeHeader: []
tags:
  - name: Store
  - name: Orders
  - name: Menu
  - name: Market
  - name: Reports
  - name: Sandbox
paths:
  /menu:
    get:
      tags:
        - Menu
      summary: Get the menu
      description: >-
        Categories, items with option groups, and add-ons. Deals appear as items
        and switch off by themselves when one of their items is off.
      operationId: getMenu
      responses:
        '200':
          description: The menu
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Menu'
components:
  schemas:
    Menu:
      type: object
      properties:
        categories:
          type: array
          items:
            type: object
            properties:
              id:
                type: integer
              external_id:
                type:
                  - string
                  - 'null'
                description: Your code, set by PUT /menu
              name:
                type: string
              position:
                type: integer
        items:
          type: array
          items:
            $ref: '#/components/schemas/Item'
        addons:
          type: array
          items:
            $ref: '#/components/schemas/Addon'
    Item:
      type: object
      properties:
        id:
          type: integer
          example: 3062
        external_id:
          type:
            - string
            - 'null'
        category_id:
          type:
            - integer
            - 'null'
        name:
          type: string
        price:
          type: integer
          example: 6000
        discount:
          type:
            - object
            - 'null'
        sale_price:
          type:
            - integer
            - 'null'
          example: 5500
        available:
          type: boolean
        off_until:
          type:
            - string
            - 'null'
          format: date-time
        barcode:
          type:
            - string
            - 'null'
        unit:
          type:
            - string
            - 'null'
        by_weight:
          type: boolean
        stock:
          type:
            - integer
            - 'null'
          description: null where the store doesn't count stock (restaurants)
        option_groups:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              type:
                type: string
                enum:
                  - single
                  - multi
              min:
                type: integer
              max:
                type: integer
              options:
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                    price:
                      type: integer
        addon_ids:
          type: array
          items:
            type: integer
    Addon:
      type: object
      properties:
        id:
          type: integer
        external_id:
          type:
            - string
            - 'null'
        name:
          type: string
        price:
          type: integer
        available:
          type: boolean
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: >-
        The store's API key (xfp_test_… on the sandbox, xfp_live_… on live).
        XFaster creates it and shows it once. An integrator key (one key for a
        POS company) also sends X-XFaster-Store.
    storeHeader:
      type: apiKey
      in: header
      name: X-XFaster-Store
      description: >-
        Integrator keys only: the XFaster store id this request is for. It must
        be linked to your key (else 403 store_not_linked); without it 400
        store_header_required. Store keys don't send it.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.