MealMe Connect Accounts API

MealMe Connect account linking and ordering.

OpenAPI Specification

mealme-connect-accounts-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: MealMe Food Ordering Carts Connect Accounts API
  version: 4.1.0
  description: 'MealMe provides a food and grocery ordering API for menus, inventory, and

    order placement at over one million restaurants and grocery stores in the

    United States and Canada. The API covers store and product search, store

    lookup, inventory/menu retrieval, product details, cart creation and

    management, order creation and finalization, payment methods, MealMe

    Connect accounts, customer support chat, order tracking webhooks, places

    search, and geocoding. Every menu item and grocery product returned

    includes real-time availability, prices, and customizations or modifiers.

    The current reference is version 4.1.0.


    Paths in this specification mirror the documented MealMe endpoints under

    https://api.mealme.ai (for example `/search/store/v3`, `/cart/create`,

    and `/order/order/v4`). Authentication uses an API key passed in the

    Authorization header.

    '
  contact:
    name: MealMe API Reference
    url: https://docs.mealme.ai/reference
servers:
- url: https://api.mealme.ai
  description: MealMe production API
security:
- apiKeyHeader: []
tags:
- name: Connect Accounts
  description: MealMe Connect account linking and ordering.
paths:
  /connect_account:
    post:
      tags:
      - Connect Accounts
      operationId: createConnectAccount
      summary: Create a Connect Account
      description: Create a MealMe Connect account for a store.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                store_id:
                  type: string
                credentials:
                  type: object
            examples:
              CreateConnectAccountRequestExample:
                summary: Default createConnectAccount request
                x-microcks-default: true
                value:
                  store_id: 8c9f33d5-d138-4a49-9a4f-162f195c89b8
                  credentials: {}
      responses:
        '200':
          description: Connect account created.
        '401':
          description: Missing Authorization
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    get:
      tags:
      - Connect Accounts
      operationId: getConnectAccount
      summary: Get a Connect Account
      description: Retrieve a MealMe Connect account.
      parameters:
      - in: query
        name: connect_account_id
        required: true
        schema:
          type: string
        example: id_7b2c4e
      responses:
        '200':
          description: Connect account.
        '401':
          description: Missing Authorization
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /link_connect_account:
    post:
      tags:
      - Connect Accounts
      operationId: linkConnectAccount
      summary: Link a Connect Account
      description: Link a MealMe Connect account.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                connect_account_id:
                  type: string
            examples:
              LinkConnectAccountRequestExample:
                summary: Default linkConnectAccount request
                x-microcks-default: true
                value:
                  connect_account_id: id_7b2c4e
      responses:
        '200':
          description: Linked.
        '401':
          description: Missing Authorization
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /connect_account_challenge:
    post:
      tags:
      - Connect Accounts
      operationId: solveConnectAccountChallenge
      summary: Solve a Connect Account Challenge
      description: Solve a verification challenge for a Connect account.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                connect_account_id:
                  type: string
                challenge_response:
                  type: string
            examples:
              SolveConnectAccountChallengeRequestExample:
                summary: Default solveConnectAccountChallenge request
                x-microcks-default: true
                value:
                  connect_account_id: id_7b2c4e
                  challenge_response: example
      responses:
        '200':
          description: Challenge solved.
        '401':
          description: Missing Authorization
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /get_connect_account_payment_methods:
    get:
      tags:
      - Connect Accounts
      operationId: getConnectAccountPaymentMethods
      summary: Get Connect Account Payment Methods
      description: Retrieve payment methods for a Connect account.
      parameters:
      - in: query
        name: connect_account_id
        required: true
        schema:
          type: string
        example: id_7b2c4e
      responses:
        '200':
          description: Payment methods.
        '401':
          description: Missing Authorization
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /connect_account_cart:
    post:
      tags:
      - Connect Accounts
      operationId: addConnectAccountCartItem
      summary: Add a Connect Account Cart Item
      description: Add an item to a Connect account cart.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                connect_account_id:
                  type: string
                items:
                  type: array
                  items:
                    $ref: '#/components/schemas/CartItem'
            examples:
              AddConnectAccountCartItemRequestExample:
                summary: Default addConnectAccountCartItem request
                x-microcks-default: true
                value:
                  connect_account_id: id_7b2c4e
                  items:
                  - product_id: prod_5a3e9d12
                    quantity: 1
                    product_marked_price: 1299
                    selected_options: []
                    notes: Leave at the front desk
      responses:
        '200':
          description: Item added.
        '401':
          description: Missing Authorization
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      tags:
      - Connect Accounts
      operationId: deleteConnectAccountCart
      summary: Delete a Connect Account Cart
      description: Delete a Connect account cart.
      parameters:
      - in: query
        name: connect_account_id
        required: true
        schema:
          type: string
        example: id_7b2c4e
      responses:
        '200':
          description: Deleted.
        '401':
          description: Missing Authorization
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /place_connect_account_order:
    post:
      tags:
      - Connect Accounts
      operationId: placeConnectAccountOrder
      summary: Place a Connect Account Order
      description: Place an order using a Connect account.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                connect_account_id:
                  type: string
            examples:
              PlaceConnectAccountOrderRequestExample:
                summary: Default placeConnectAccountOrder request
                x-microcks-default: true
                value:
                  connect_account_id: id_7b2c4e
      responses:
        '200':
          description: Order placed.
        '401':
          description: Missing Authorization
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    CartItem:
      type: object
      required:
      - product_id
      properties:
        product_id:
          type: string
          description: Product identifier from a search or inventory result.
          example: prod_5a3e9d12
        quantity:
          type: integer
          minimum: 1
          default: 1
          example: 1
        product_marked_price:
          type: integer
          description: Marked price in cents.
          example: 1299
        selected_options:
          type: array
          description: Selected product customizations and modifiers.
          items:
            type: object
          example: []
        notes:
          type: string
          description: Special instructions for the store.
          example: Leave at the front desk
  securitySchemes:
    apiKeyHeader:
      type: apiKey
      in: header
      name: Authorization
      description: API key issued by MealMe, passed in the Authorization header.