> ## 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.

# Map your codes

> Your codes then appear as `external_id` in the menu and in every order line. Items can also get a `barcode` (markets). `null` removes. All or nothing - an unknown id gets `404`, a taken code `422 external_id_taken`, a taken barcode `422 barcode_taken`.



## OpenAPI

````yaml PUT /menu/mapping
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/mapping:
    put:
      tags:
        - Menu
      summary: Map your codes and barcodes
      description: >-
        Your codes then appear as `external_id` in the menu and in every order
        line. Items can also get a `barcode` (markets). `null` removes. All or
        nothing - an unknown id gets `404`, a taken code `422
        external_id_taken`, a taken barcode `422 barcode_taken`.
      operationId: putMapping
      parameters:
        - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                items:
                  type: array
                  items:
                    type: object
                    required:
                      - id
                    properties:
                      id:
                        type: integer
                        example: 3062
                      external_id:
                        type:
                          - string
                          - 'null'
                        maxLength: 100
                        example: BURG-SMASH
                      barcode:
                        type:
                          - string
                          - 'null'
                        maxLength: 64
                        example: '7290000066318'
                addons:
                  type: array
                  items:
                    type: object
                    required:
                      - id
                      - external_id
                    properties:
                      id:
                        type: integer
                        example: 412
                      external_id:
                        type:
                          - string
                          - 'null'
                        example: ADD-CHEDDAR
      responses:
        '200':
          description: Saved
          content:
            application/json:
              example:
                items: 2
                addons: 1
components:
  parameters:
    IdempotencyKey:
      name: Idempotency-Key
      in: header
      description: >-
        Any unique string. Repeating a request with the same key within 24 hours
        returns the first answer instead of acting twice.
      schema:
        type: string
        example: 5f0c3d1e-8b6a-4e1f-9c2d-7a1b0e4f6d21
  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.