Slice Public API (v1)

Version 1 of the Slice Public API: a RESTful HTTP API documented on Slice's Stoplight developer portal (project slice-public-api, spec node /API-V1.yaml). It provides programmatic access to pizzeria-focused resources in the Slice network — shops and orders — for technology partners integrating ordering and operations with local pizzerias. Paths, methods, operation summaries, and component-schema names were confirmed from Slice's live Stoplight project node tree; schema property internals are auth-gated and not enumerated.

OpenAPI Specification

slice-public-api-v1-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Slice Public API
  description: |-
    The Slice Public API is a RESTful HTTP API for technology partners integrating
    with the Slice network of independent local pizzerias. It exposes pizzeria-oriented
    resources — shops and orders — so partners can discover Slice shops and create,
    retrieve, update, and cancel orders against them.

    This is the **v1** surface of the Slice Public API, documented on Slice's Stoplight
    developer portal at https://developer.slicelife.com (project `slice-public-api`,
    spec node `/API-V1.yaml`).

    The paths, methods, operation summaries, and component-schema names in this
    description were reconstructed from Slice's live Stoplight project node tree, which
    is publicly enumerable. The raw OpenAPI document body and per-property schema
    definitions on developer.slicelife.com are gated behind workspace authentication,
    so individual schema properties are intentionally NOT enumerated here — the
    `Order` and `Error` schemas are declared as objects without invented fields. The
    server URL is also not published publicly and is therefore omitted rather than
    fabricated; partners obtain it together with credentials from Slice.

    Access requires an API key issued by Slice; partners request credentials from
    [email protected].
  version: 'v1'
  contact:
    name: Slice API Support
    email: [email protected]
    url: https://developer.slicelife.com/
  x-generated-from: stoplight-node-tree
  x-spec-node: /API-V1.yaml
  x-spec-node-stable-id: 5yhsktwvkfni9
  x-properties-source: |-
    Operation paths/methods/summaries are confirmed-real from the live Stoplight
    project node tree. Schema property internals were auth-gated and are not
    enumerated to avoid fabrication.
  x-last-validated: '2026-06-03'
externalDocs:
  description: Slice Public API documentation (Stoplight)
  url: https://developer.slicelife.com/
tags:
  - name: Shops
    description: Discover pizzerias (shops) in the Slice network.
  - name: Orders
    description: Create, retrieve, update, and cancel orders against a Slice shop.
security:
  - ApiKeyAuth: []
paths:
  /shops:
    get:
      operationId: getShops
      summary: Get Shops
      description: |-
        Returns shops (independent pizzerias) available in the Slice network.
        Confirmed operation from the Stoplight node `/API-V1.yaml/paths/~1shops/get`.
      tags:
        - Shops
      responses:
        '200':
          description: A collection of Slice shops.
        '401':
          $ref: '#/components/responses/Unauthorized'
        default:
          $ref: '#/components/responses/Error'
  /orders:
    post:
      operationId: createOrder
      summary: Create Order
      description: |-
        Creates a new order against a Slice shop.
        Confirmed operation from the Stoplight node `/API-V1.yaml/paths/~1orders/post`.
      tags:
        - Orders
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Order'
      responses:
        '201':
          description: The created order.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
        '400':
          $ref: '#/components/responses/Error'
        '401':
          $ref: '#/components/responses/Unauthorized'
        default:
          $ref: '#/components/responses/Error'
  /orders/{orderID}:
    parameters:
      - $ref: '#/components/parameters/OrderID'
    get:
      operationId: getOrder
      summary: Get Order
      description: |-
        Retrieves a single order by its identifier.
        Confirmed operation from `/API-V1.yaml/paths/~1orders~1{orderID}/get`.
      tags:
        - Orders
      responses:
        '200':
          description: The requested order.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/Error'
        default:
          $ref: '#/components/responses/Error'
    put:
      operationId: updateOrder
      summary: Update Order
      description: |-
        Updates an existing order by its identifier.
        Confirmed operation from `/API-V1.yaml/paths/~1orders~1{orderID}/put`.
      tags:
        - Orders
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Order'
      responses:
        '200':
          description: The updated order.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
        '400':
          $ref: '#/components/responses/Error'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/Error'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: deleteOrder
      summary: Delete Order
      description: |-
        Cancels/deletes an existing order by its identifier.
        Confirmed operation from `/API-V1.yaml/paths/~1orders~1{orderID}/delete`.
      tags:
        - Orders
      responses:
        '204':
          description: The order was deleted.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/Error'
        default:
          $ref: '#/components/responses/Error'
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: |-
        API key issued by Slice to approved technology partners. Request credentials
        from [email protected]. The exact header name is assigned with the
        credentials; `Authorization` is used here as the documented placeholder.
  parameters:
    OrderID:
      name: orderID
      in: path
      required: true
      description: The unique identifier of the order.
      schema:
        type: string
  responses:
    Unauthorized:
      description: Authentication failed or API key is missing/invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Error:
      description: An error response.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Order:
      type: object
      title: Order
      description: |-
        A Slice order. Confirmed component schema from the Stoplight node
        `/API-V1.yaml/components/schemas/Order`. Individual order properties are
        defined in the auth-gated source document and are deliberately not enumerated
        here to avoid fabrication.
      additionalProperties: true
    Error:
      type: object
      title: Error
      description: |-
        A Slice API error payload. Corresponds to the shared `error` model
        (`/models/error.yaml`) referenced by the spec. Property internals are
        auth-gated and not enumerated here to avoid fabrication.
      additionalProperties: true