# Fodista Public APIs ## Docs - [👋 Introduction ](https://api-docs.fodista.com/-introduction-1648588m0.md): - [📋 Prerequisites](https://api-docs.fodista.com/-prerequisites-1648593m0.md): - [⚠️ Disclaimer](https://api-docs.fodista.com/%EF%B8%8F-disclaimer-1648614m0.md): ## API Docs - Invoice History [Retrieve POS invoice history](https://api-docs.fodista.com/retrieve-pos-invoice-history-22347961e0.md): Think of this call as retrieving the cash register tape. It lists every submitted POS Invoice that belongs to the restaurant branch or brand attached to the access token. Use it to feed accounting systems or analytics tools. Provide a start and end datetime so the export is limited to the window you care about. - Public Menu [List menu categories](https://api-docs.fodista.com/list-menu-categories-22347962e0.md): Returns the menu categories visible to the access token. Each category includes name, title, color and hierarchy metadata. - Public Menu [List menu products](https://api-docs.fodista.com/list-menu-products-22347963e0.md): Returns every menu product that is visible for the configured branch or brand. Use optional filters to evaluate availability for specific order types. Tokens that only have the Online Ordering scope must request `visibility=online`. - Public Menu [Fetch a single menu product](https://api-docs.fodista.com/fetch-a-single-menu-product-22347964e0.md): Retrieves the full definition of one menu product, including options and modifier groups. Visibility is enforced automatically: tokens with only the Online Ordering scope receive the online catalogue. - Online Ordering [Retrieve the assigned online store](https://api-docs.fodista.com/retrieve-the-assigned-online-store-22347965e0.md): Returns a curated subset of the Online Store configuration tied to the access token. Only the storefront-facing settings are included. - Online Ordering [Add a menu product to the cart](https://api-docs.fodista.com/add-a-menu-product-to-the-cart-22347966e0.md): Creates the cart when needed and appends the requested menu product. The API automatically enforces that the product belongs to the same brand/branch as the access token and that the online store matches. - Online Ordering [Update a cart item](https://api-docs.fodista.com/update-a-cart-item-22347967e0.md): Replaces a cart line and its modifiers at the provided index. The API removes the current item and inserts the payload again at the same position so the index remains stable. - Online Ordering [Remove menu products from the cart](https://api-docs.fodista.com/remove-menu-products-from-the-cart-22347968e0.md): Deletes one or more line items from the cart. Pass the zero-based `index` of each cart row that should disappear. Index values are returned in the cart summary response. - Online Ordering [Get cart totals](https://api-docs.fodista.com/get-cart-totals-22347969e0.md): Returns a light-weight snapshot with the top-level item count and the rounded total. Use it to show the cart badge or confirm how much the guest should pay. If the cart does not exist the API calmly returns zeros instead of throwing an error. - Online Ordering [Get cart details](https://api-docs.fodista.com/get-cart-details-22347970e0.md): Fetches everything the storefront needs to render the basket: customer details, order type, products, modifiers, taxes and the checkout eligibility flag. The data is always limited to the online store assigned to the access token. - Online Ordering [Update cart details](https://api-docs.fodista.com/update-cart-details-22347971e0.md): Use this endpoint to keep the cart in sync with the shopper's selections. It can update the order type, mode of payment, promised time, and customer contact or address information. - Online Ordering [Get address from coordinates](https://api-docs.fodista.com/get-address-from-coordinates-22347972e0.md): Translates latitude and longitude into a human-friendly address so the storefront can prefill delivery details without exposing implementation specifics. - Online Ordering [Checkout](https://api-docs.fodista.com/checkout-22347973e0.md): Transitions the cart into the next workflow stage (typically creating a bona fide order). The access token must have permission to checkout carts for the assigned online store. - Online Ordering [List currently online branches](https://api-docs.fodista.com/list-currently-online-branches-26023364e0.md): Returns the restaurant branches that are open right now and online ordering-ready. Provide latitude and longitude together to restrict results to branches that cover the coordinate via their delivery zones. Supply restaurant_brand to constrain the results to branches linked to that brand. Tokens bound to a specific branch always return that branch only. - POS Ordering [Submit POS orders](https://api-docs.fodista.com/submit-pos-orders-26003192e0.md): Accepts one or more POS orders from an external system. The endpoint opens a cashier session when needed, posts the orders, creates POS Invoices, and then closes the session. Requests with more than ten orders are queued, return a job id, and must be polled via the general job status endpoint to retrieve the final result. Rate limit: one submit orders request per minute; exceeding it returns HTTP 429 to protect the cashier session workflow. Each order's `grand_total` must equal the sum of item and modifier amounts plus total taxes minus any `additional_discount_amount` so the invoice values reconcile. - General [Get External Job status](https://api-docs.fodista.com/get-external-job-status-26003193e0.md): Polls an External Job created by queued public API requests such as submit POS orders. Returns the current status and includes the final response payload or error message when the job completes. Rate limit: one job status request every 10 seconds; exceeding it returns HTTP 429. ## Schemas - [ErrorResponse](https://api-docs.fodista.com/errorresponse-9969900d0.md): - [InvoiceTax](https://api-docs.fodista.com/invoicetax-9969901d0.md): - [InvoiceSummary](https://api-docs.fodista.com/invoicesummary-9969902d0.md): - [CartTotals](https://api-docs.fodista.com/carttotals-9969903d0.md): - [CartModifier](https://api-docs.fodista.com/cartmodifier-9969904d0.md): - [CartItem](https://api-docs.fodista.com/cartitem-9969905d0.md): - [CartItemRequest](https://api-docs.fodista.com/cartitemrequest-9969906d0.md): - [CartModifierRequest](https://api-docs.fodista.com/cartmodifierrequest-9969907d0.md): - [CartSummary](https://api-docs.fodista.com/cartsummary-9969908d0.md): - [CustomerPayload](https://api-docs.fodista.com/customerpayload-9969909d0.md): - [MenuProductOrderType](https://api-docs.fodista.com/menuproductordertype-9969910d0.md): - [MenuProductOptionCombination](https://api-docs.fodista.com/menuproductoptioncombination-9969911d0.md): - [MenuProductOptions](https://api-docs.fodista.com/menuproductoptions-9969912d0.md): - [MenuProductModifierSettings](https://api-docs.fodista.com/menuproductmodifiersettings-9969913d0.md): - [MenuProductModifierOption](https://api-docs.fodista.com/menuproductmodifieroption-9969914d0.md): - [MenuProductModifier](https://api-docs.fodista.com/menuproductmodifier-9969915d0.md): - [MenuProduct](https://api-docs.fodista.com/menuproduct-9969916d0.md): - [MenuCategory](https://api-docs.fodista.com/menucategory-9969917d0.md): - [PosOrderRequest](https://api-docs.fodista.com/posorderrequest-11855415d0.md): - [PosOrder](https://api-docs.fodista.com/posorder-11855416d0.md): - [PosOrderItem](https://api-docs.fodista.com/posorderitem-11855417d0.md): - [PosOrderModifier](https://api-docs.fodista.com/posordermodifier-11855418d0.md): - [PosOrderTax](https://api-docs.fodista.com/posordertax-11855419d0.md): - [PosOrderPayment](https://api-docs.fodista.com/posorderpayment-11855420d0.md): - [PosOrderSubmitResponse](https://api-docs.fodista.com/posordersubmitresponse-11855421d0.md): - [ExternalJobStatusResponse](https://api-docs.fodista.com/externaljobstatusresponse-11855422d0.md):