### Location response example (JSON) Source: https://kitchenhub.readme.io/reference/locations-stores-api Example of a successful response when retrieving location data. ```json { "locations": [ { "id": "48112773-9ebe-4900-a886-21612854214f", "partner_location_id": null, "location_name": "Downtown Restaurant", "location_street": "123 Main St", "location_country": "US", "location_city": "New York", "location_state": "US", "location_zipcode": "1122", "lat": null, "lon": null, "created_at": "2026-02-19T17:10:13.135953+00:00", "location_timezone": "America/New_York", "location_lat": null, "location_lon": null, "location_delivery_time": 30, "restaurant_delivery_time": 30, "pickup_notes": null, "location_status": "active", "auto_accept_cooking_time": 20, "auto_accept_enabled": false, "auto_complete_enabled": true } ] } ``` -------------------------------- ### Delivery Webhook Example Source: https://kitchenhub.readme.io/reference/webhooks-api This example demonstrates the structure of a webhook payload for a delivery-related event, specifically when a delivery is updated. ```APIDOC ## Delivery Webhook ### Description This webhook is triggered for delivery-related events. The `event_name` can vary, and this example shows the structure for a `DeliveryUpdated` event. ### Event Data - **webhook_type** (string) - The type of webhook, e.g., "Delivery". - **event_name** (string) - The specific event that occurred, e.g., "DeliveryUpdated". - **version** (integer) - The version of the webhook event. ### Restaurant Data - **restaurant_id** (string) - The unique identifier for the restaurant. - **proxy_restaurant_id** (string) - The proxy ID for the restaurant. - **partner_store_id** (string) - The partner's store ID. ### Delivery Data - **id** (integer) - The unique identifier for the delivery. - **order_id** (string) - The internal order ID. - **order_number** (string) - The order number. - **order_external_id** (string) - The external order ID. - **scheduled_order** (boolean) - Indicates if the order is scheduled. - **delivery_order_id** (string) - The unique ID for the delivery order. - **cancellation_reason** (string) - Reason for cancellation, if applicable. - **pickup_info** (object) - Information about the pickup location. - **restaurant_name** (string) - **restaurant_address** (string) - **pickup_datetime** (string) - ISO 8601 format. - **pickup_notes** (string) - **store_name** (string) - **store_address** (string) - **estimated_pickup_at** (string) - **customer_info** (object) - Information about the customer. - **first_name** (string) - **last_name** (string) - **phone_number** (string) - **email** (string) - **drop_off_info** (object) - Information about the drop-off location. - **drop_off_address** (string) - **drop_off_datetime** (string) - ISO 8601 format. - **drop_off_notes** (string) - **estimated_dropoff_at** (string) - **charges** (object) - Details about the charges. - **total** (number) - **delivery_fee** (number) - **delivery_tips** (number) - **subtotal** (number) - **status** (string) - The current status of the delivery (e.g., "cancelled"). - **provider_id** (string) - The ID of the delivery provider. - **courier_info** (object) - Information about the courier. - **id** (string) - **name** (string) - **phone_number** (string) - **phone_code** (string) - **photo_url** (string) - **vehicle_type** (string) - **delivery_type** (string) - The type of delivery. - **tracking_url** (string) - URL for tracking the delivery. - **created_at** (string) - ISO 8601 format. - **delivered_at** (string) - ISO 8601 format. - **canceled_at** (string) - ISO 8601 format. - **accepted_at** (string) - ISO 8601 format. - **is_mock_delivery** (boolean) - Indicates if it's a mock delivery. - **items** (array) - List of items in the order. - **name** (string) - **quantity** (integer) - **price** (string) - **is_alcohol** (boolean) - **store_id** (string) - The ID of the store. - **virtual_brand_company_id** (string) - The virtual brand company ID. - **delivery_provider_id** (string) - The ID of the delivery provider. - **delivery_at** (string) - ISO 8601 format. ### Request Example ```json { "event_data":{ "webhook_type":"Delivery", "event_name":"DeliveryUpdated", "version":1 }, "restaurant_data":{ "restaurant_id":"ea5f5110-5455-4b35-9000-e12e994ad000", "proxy_restaurant_id":"05594593-4626-4800-a1cf-3d08d8c93000", "partner_store_id":"123" }, "delivery_data":{ "id":123123, "order_id":"cart-01", "order_number":null, "order_external_id":null, "scheduled_order":false, "delivery_order_id":"4a20d80e05944a8eaa21fa2558e31000", "cancellation_reason":"store_closed", "pickup_info":{ "restaurant_name":"Test Restaurant", "restaurant_address":"368 E Campbell Ave, Campbell, California 95008", "pickup_datetime":"2025-11-18T18:26:25.669000+00:00", "pickup_notes":null, "store_name":"Test Restaurant", "store_address":"368 E Campbell Ave, Campbell, California 95008", "estimated_pickup_at":null }, "customer_info":{ "first_name":"Joe", "last_name":"Doe", "phone_number":"000111000", "email":null }, "drop_off_info":{ "drop_off_address":"368E Campbell Ave, Campbell, CA, 95008, USA", "drop_off_datetime":null, "drop_off_notes":"Dropoff notes", "estimated_dropoff_at":null }, "charges":{ "total":10, "delivery_fee":6.25, "delivery_tips":100, "subtotal":null }, "status":"cancelled", "provider_id":null, "courier_info":{ "id":null, "name":"", "phone_number":null, "phone_code":null, "photo_url":null, "vehicle_type":null }, "delivery_type":"restaurant", "tracking_url":null, "created_at":"2025-11-18T18:16:38.907966", "delivered_at":null, "canceled_at":"2025-11-18T18:54:30.040889", "accepted_at":null, "is_mock_delivery":false, "items":[ { "name":"Test item1", "quantity":1, "price":"9", "is_alcohol":false } ], "store_id":"ea5f5110-5455-4b35-9000-e12e994ad000", "virtual_brand_company_id":"Test Company", "delivery_provider_id":"doordash_drive", "delivery_at":null } } ``` ``` -------------------------------- ### Cook Notification Webhook Example Source: https://kitchenhub.readme.io/reference/webhooks-api This example shows the structure of a webhook payload for a cook-related event, specifically when an order is ready for cooking. ```APIDOC ## Cook Notification ### Description This webhook is triggered for cook-related events. The `event_name` must be `OrderCook`. ### Event Data - **webhook_type** (string) - The type of webhook, e.g., "Cook". - **event_name** (string) - The specific event that occurred, must be "OrderCook". - **version** (integer) - The version of the webhook event. ### Restaurant Data - **restaurant_id** (string) - The unique identifier for the restaurant. - **proxy_restaurant_id** (string) - The proxy ID for the restaurant. - **partner_store_id** (string) - The partner's store ID. ### Cook Data - **order_id** (integer) - The unique identifier for the order. - **distance** (number) - The distance to the restaurant. - **order_number** (string) - The order number. - **provider_id** (string) - The ID of the order provider. ### Request Example ```json { "event_data":{ "webhook_type":"Cook", "event_name":"OrderCook", "version":1 }, "restaurant_data":{ "restaurant_id":"adf7a8e2-50d9-4a74-bd81-969e86870000", "proxy_restaurant_id":"9ab8cc76-367a-429f-9a7e-8504eab95000", "partner_store_id":null }, "cook_data":{ "order_id":123123, "distance":500.0, "order_number":"333444", "provider_id":"doordash_pos" } } ``` ``` -------------------------------- ### Order Payload Example Source: https://kitchenhub.readme.io/reference/orders-api This is an example of the order payload received via webhook. It includes details about the order, customer, items, and pricing. ```json { "order_id": "123456", "status": "new", "store_id": "store_001", "scheduled_time": null, "customer": { "name": "John Doe", "phone": "+1234567890" }, "items": [ { "item_id": "burger_001", "name": "Cheeseburger", "quantity": 2, "modifiers": [ { "name": "Extra cheese" } ] } ], "total_price": 19.99, "delivery_type": "pickup", "marketplace": "Doordash" } ``` -------------------------------- ### Create store response (JSON) Source: https://kitchenhub.readme.io/reference/locations-stores-api Example of a successful response after creating a new store. ```json { "id": "store_001", "location_id": "loc_001", "name": "Main Brand", "partner_id": "partner_store_001", "settings": { "timezone": "Europe/Nicosia" } } ``` -------------------------------- ### Delivery Object Example Source: https://kitchenhub.readme.io/reference/deliveries-api An example of a complete Delivery object, illustrating the structure and data types for all its nested components. ```APIDOC ## Delivery Object Example ### Description This example demonstrates the structure of a Delivery object, including pickup details, customer information, drop-off specifics, charges, and courier information. ### Response Example ```json { "id": 467338, "order_id": "222172845", "store_id": "5d84d149-342f-4202-a614-05ae080a2d7a", "scheduled_order": false, "delivery_order_id": "183a2ff75b944a5d83b32125f0f54bb6", "cancellation_reason": null, "delivery_type": "restaurant", "pickup_info": { "pickup_datetime": "2024-09-18T22:25:19.552000Z", "store_name": "Auto Delivery Enabled DoorDash Drive", "store_address": "19 North Park Avenue, Rockville Centre, NY 11570", "pickup_notes": null, "estimated_pickup_at": null }, "customer_info": { "first_name": "first_name test", "last_name": "last_name test", "phone_number": "+12345677877", "email": null }, "drop_off_info": { "drop_off_address": "19 North Park Avenue, Rockville Centre, NY 11570, US", "drop_off_datetime": null, "drop_off_notes": "Drop-off Notes", "estimated_dropoff_at": null }, "charges": { "total": "55.0", "delivery_fee": "9.75", "delivery_tips": "10", "subtotal": "133.0" }, "status": "new", "created_at": "2024-10-09T07:44:21.885334Z", "delivery_provider_id": "doordash_drive", "courier_info": null, "delivery_at": null, "cancelled_at": null, "accepted_at": null, "is_mock_delivery": false } ``` ``` -------------------------------- ### Order Notification Example Source: https://kitchenhub.readme.io/reference/webhooks-api This is an example of the JSON payload received for an Order notification. It includes details about the event type, order status, order information, provider, store, customer, items, delivery, payment, charges, and timestamps. ```APIDOC ## Order Notification Example ### Description This is an example of the JSON payload received for an Order notification. It includes details about the event type, order status, order information, provider, store, customer, items, delivery, payment, charges, and timestamps. ### Event Types - `OrderCreated` - `OrderUpdated` ### Example Payload ```json { "version":"2.0.0", "event_data":{ "event_type":"Order", "status":"OrderUpdated" }, "order":{ "order":{ "id":6316634709688320, "external_id":"99fc40a4-fa10-4703-9cfc-230c3aa5b287", "number":"86f0bbdf", "daily_number":11, "type":"delivery", "status":"cancelled", "notes":null, "paid":true, "asap":true, "add_disposable_items":false, "prep_time_minutes":null, "table_number":null, "cancelled_by":"not accepted" }, "provider":{ "id":"doordash_pos", "name":"doordash_pos", "merchant_id":"0ba73df4-bd12-421a-8e51-ef64c7350268", "store_id":null }, "store":{ "id":"e6f5206e-6939-4b3d-82c4-0e7bde09c4e8", "name":"Nikki's store", "partner_store_id":null }, "customer":{ "name":"Test Customer", "email":null, "phone_number":"8552228111", "phone_code":null }, "items":[ { "id":"3082240d-26ff-4462-94d4-bbfccdf42b52", "partner_id":"3082240d-26ff-4462-94d4-bbfccdf42b52", "name":"Test Item1", "quantity":1, "price":"2.0", "base_price":"2.0", "instructions":"Item for TEST", "is_alcohol":false, "options":[ { "id":"c4949f63-a157-4bd0-9f84-f776d9dba390", "partner_id":"c4949f63-a157-4bd0-9f84-f776d9dba390", "name":"Test option1", "quantity":1, "price":"0.0", "base_price":"0.0", "modifier_name":"Test modifier1", "options":[] } ] } ], "delivery":{ "type":"provider", "status":null, "notes":null, "address":{ "country":null, "street":null, "city":null, "state":null, "zipcode":null, "unit_number":null, "latitude":null, "longitude":null }, "full_address":null, "courier":{ "name":null, "photo_url":null, "phone_number":null, "status":"pending" }, "service":null, "cancellation_reason":null }, "payment":{ "method":"ONLINE" }, "charges":{ "subtotal":"2.0", "tax":"0.17", "tax_payout":"0.17", "restaurant_tip_amount":"0.0", "adjustment":null, "tips":"0.0", "discount":"0.0", "total":"2.17", "delivery_fee":null, "service_fee":null, "processing_fee":null, "commission":null, "payout":null, "other_fee":{} }, "timestamps":{ "placed_at":"2025-04-22T13:12:18.031201Z", "created_at":"2025-04-22T13:12:18.589083Z", "pickup_at":"2025-04-22T13:19:53Z", "accepted_at":null, "cancelled_at":"2025-04-22T13:18:02.289876Z", "completed_at":null, "delivery_at":null, "scheduled_for":null }, "location":{ "id":"e2634686-7717-41b7-b545-cb40da3a6c04", "partner_location_id":null, "name":"Test Location1", "street":"100 N Centre Ave", "city":"Rockville Centre", "state":"NY", "zipcode":"11570", "lat":null, "lon":null } } } ``` ``` -------------------------------- ### Create location response (JSON) Source: https://kitchenhub.readme.io/reference/locations-stores-api Example of a successful response after creating a new location. ```json { "id": "43ceefbf-bd8e-4f8f-b6b3-5b2e4328131d", "partner_location_id": null, "location_name": "Downtown Restaurant", "location_street": "123 Main St", "location_city": "New York", "location_state": "US", "location_zipcode": "1122", "location_timezone": "America/New_York", "location_country": "US", "pickup_notes": null, "created_at": "2026-02-18T18:28:42.626521+00:00", "restaurant_delivery_time": 30, "location_status": "active" } ``` -------------------------------- ### Get Webhooks Source: https://kitchenhub.readme.io/reference/get_v2-webhooks Retrieves the current webhook configurations. ```APIDOC ## GET /v2/webhooks/ ### Description Get webhooks configuration. ### Method GET ### Endpoint https://api.kitchenhub.app/v2/webhooks/ ### Parameters ### Request Example ### Response #### Success Response (200) - **url** (string) - Webhook url - **version** (integer) - Webhook version - **webhook_type** (string) - Type of webhook - **filters** (object) - Filters for the webhook - **authorization_headers** (object) - Headers for authorization - **id** (string) - Webhook id - **created_at** (string) - Date and time of webhook creation - **updated_at** (string) - Date and time of webhook update #### Response Example { "example": "{\"url\": \"https://example.com/webhook\", \"version\": 1, \"webhook_type\": \"Order\", \"filters\": {\"order_status\": [\"new\"]}, \"authorization_headers\": {\"X-Api-Key\": \"your-api-key\"}, \"id\": \"wh_12345\", \"created_at\": \"2023-01-01T12:00:00Z\", \"updated_at\": \"2023-01-01T12:00:00Z\"}" } #### Error Response - **401** Unauthorized - **403** Forbidden - **422** Validation error - **424** Error on provider side. Please try again later - **500** Technical error. Please contact support to resolve this issue - **501** Provider is not supported or not implemented yet ``` -------------------------------- ### Order Notification Example Source: https://kitchenhub.readme.io/reference/webhooks-api This JSON payload represents an example of an Order notification, specifically an OrderUpdated event. It includes detailed information about the order, provider, store, customer, items, delivery, payment, charges, and timestamps. ```json { "version":"2.0.0", "event_data":{ "event_type":"Order", "status":"OrderUpdated" }, "order":{ "order":{ "id":6316634709688320, "external_id":"99fc40a4-fa10-4703-9cfc-230c3aa5b287", "number":"86f0bbdf", "daily_number":11, "type":"delivery", "status":"cancelled", "notes":null, "paid":true, "asap":true, "add_disposable_items":false, "prep_time_minutes":null, "table_number":null, "cancelled_by":"not accepted" }, "provider":{ "id":"doordash_pos", "name":"doordash_pos", "merchant_id":"0ba73df4-bd12-421a-8e51-ef64c7350268", "store_id":null }, "store":{ "id":"e6f5206e-6939-4b3d-82c4-0e7bde09c4e8", "name":"Nikki's store", "partner_store_id":null }, "customer":{ "name":"Test Customer", "email":null, "phone_number":"8552228111", "phone_code":null }, "items":[ { "id":"3082240d-26ff-4462-94d4-bbfccdf42b52", "partner_id":"3082240d-26ff-4462-94d4-bbfccdf42b52", "name":"Test Item1", "quantity":1, "price":"2.0", "base_price":"2.0", "instructions":"Item for TEST", "is_alcohol":false, "options":[ { "id":"c4949f63-a157-4bd0-9f84-f776d9dba390", "partner_id":"c4949f63-a157-4bd0-9f84-f776d9dba390", "name":"Test option1", "quantity":1, "price":"0.0", "base_price":"0.0", "modifier_name":"Test modifier1", "options":[] } ] } ], "delivery":{ "type":"provider", "status":null, "notes":null, "address":{ "country":null, "street":null, "city":null, "state":null, "zipcode":null, "unit_number":null, "latitude":null, "longitude":null }, "full_address":null, "courier":{ "name":null, "photo_url":null, "phone_number":null, "status":"pending" }, "service":null, "cancellation_reason":null }, "payment":{ "method":"ONLINE" }, "charges":{ "subtotal":"2.0", "tax":"0.17", "tax_payout":"0.17", "restaurant_tip_amount":"0.0", "adjustment":null, "tips":"0.0", "discount":"0.0", "total":"2.17", "delivery_fee":null, "service_fee":null, "processing_fee":null, "commission":null, "payout":null, "other_fee":{} }, "timestamps":{ "placed_at":"2025-04-22T13:12:18.031201Z", "created_at":"2025-04-22T13:12:18.589083Z", "pickup_at":"2025-04-22T13:19:53Z", "accepted_at":null, "cancelled_at":"2025-04-22T13:18:02.289876Z", "completed_at":null, "delivery_at":null, "scheduled_for":null }, "location":{ "id":"e2634686-7717-41b7-b545-cb40da3a6c04", "partner_location_id":null, "name":"Test Location1", "street":"100 N Centre Ave", "city":"Rockville Centre", "state":"NY", "zipcode":"11570", "lat":null, "lon":null } } } ``` -------------------------------- ### Retrieve stores response (JSON) Source: https://kitchenhub.readme.io/reference/locations-stores-api Example of a successful response when retrieving a list of stores. ```json [ { "id": "store_001", "location_id": "loc_001", "name": "Main Brand", "partner_id": "partner_store_001", "settings": { "timezone": "Europe/Nicosia" } } ] ``` -------------------------------- ### Get Stores Source: https://kitchenhub.readme.io/reference/get_v2-stores Fetches a list of all stores. This endpoint does not require any parameters. ```APIDOC ## GET /v2/stores ### Description Retrieves a list of all stores. ### Method GET ### Endpoint /v2/stores ### Response #### Success Response (200) - **stores** (array) - A list of store objects. - **id** (integer) - The unique identifier for the store. - **name** (string) - The name of the store. - **address** (string) - The address of the store. - **city** (string) - The city where the store is located. - **state** (string) - The state where the store is located. - **zip_code** (string) - The zip code of the store. - **phone_number** (string) - The phone number of the store. - **email** (string) - The email address of the store. - **is_active** (boolean) - Indicates if the store is currently active. - **created_at** (string) - The timestamp when the store was created. - **updated_at** (string) - The timestamp when the store was last updated. ### Response Example { "stores": [ { "id": 1, "name": "Downtown Store", "address": "123 Main St", "city": "Anytown", "state": "CA", "zip_code": "90210", "phone_number": "555-1234", "email": "downtown@example.com", "is_active": true, "created_at": "2023-01-01T10:00:00Z", "updated_at": "2023-01-01T10:00:00Z" } ] } ``` -------------------------------- ### Update location response (JSON) Source: https://kitchenhub.readme.io/reference/locations-stores-api Example of a successful response after updating a location. ```json { "id": "43ceefbf-bd8e-4f8f-b6b3-5b2e4328131d", "partner_location_id": null, "location_name": "Downtown Restaurant", "location_street": "123 Main St", "location_country": "US", "location_city": "New York", "location_state": "US", "location_zipcode": "1122", "lat": null, "lon": null, "created_at": "2026-02-18T18:28:42.626521+00:00", "location_timezone": "America/New_York", "location_lat": null, "location_lon": null, "location_delivery_time": 30, "restaurant_delivery_time": 30, "pickup_notes": null, "location_status": "active", "auto_accept_cooking_time": 20, "auto_accept_enabled": false, "auto_complete_enabled": true, "stores": [] } ``` -------------------------------- ### Get List of Supported Integrations Source: https://kitchenhub.readme.io/reference/providers-api Retrieve a list of all supported food delivery platforms that can be integrated with your KitchenHub account. ```bash GET /api/v2/integrations/providers ``` -------------------------------- ### Create Store Source: https://kitchenhub.readme.io/reference/post_v2-stores This operation creates a new store. You must provide a `location_id` and `store_name`. Other fields like `partner_store_id`, `auto_accept_enabled`, `auto_complete_enabled`, `auto_accept_cooking_time`, and `restaurant_delivery_time` are optional and have default values if not provided. ```APIDOC ## POST /v2/stores ### Description Creates a new store with specified details and operational settings. ### Method POST ### Endpoint /v2/stores ### Parameters #### Request Body - **location_id** (string) - Required - The unique identifier for the store's location. - **store_name** (string) - Required - Human-readable store name. No more 256 characters, minimum length: 3 characters. - **partner_store_id** (string) - Optional - You can pass store ID in your system. - **auto_accept_enabled** (boolean) - Optional - Auto accept orders. Default value: False. - **auto_complete_enabled** (boolean) - Optional - Auto complete orders. Default value: True. - **auto_accept_cooking_time** (integer) - Optional - Auto accept orders cooking Time in minutes. Default value: 20. - **restaurant_delivery_time** (integer) - Optional - Restaurant self-delivery time in minutes. Default value: 30. ### Request Example ```json { "location_id": "loc-12345", "store_name": "My Awesome Store", "partner_store_id": "ps-67890", "auto_accept_enabled": true, "auto_complete_enabled": false, "auto_accept_cooking_time": 15, "restaurant_delivery_time": 25 } ``` ### Response #### Success Response (200) - **id** (string) - The unique identifier for the created store. - **location_id** (string) - The location ID of the store. - **store_name** (string) - The name of the store. - **partner_store_id** (string) - The partner store ID. - **auto_accept_enabled** (boolean) - Indicates if auto-accept is enabled. - **auto_complete_enabled** (boolean) - Indicates if auto-complete is enabled. - **auto_accept_cooking_time** (integer) - The auto-accept cooking time in minutes. - **restaurant_delivery_time** (integer) - The restaurant delivery time in minutes. #### Response Example ```json { "id": "store-abcde", "location_id": "loc-12345", "store_name": "My Awesome Store", "partner_store_id": "ps-67890", "auto_accept_enabled": true, "auto_complete_enabled": false, "auto_accept_cooking_time": 15, "restaurant_delivery_time": 25 } ``` ``` -------------------------------- ### List Integrations for a Store Source: https://kitchenhub.readme.io/reference/providers-api Retrieve a list of all integration accounts associated with a particular store. ```bash GET /api/v2/stores/{store_id}/integration_accounts ``` -------------------------------- ### GET /v2/locations Source: https://kitchenhub.readme.io/reference/locations-stores-api Retrieves a list of all configured locations. ```APIDOC ## GET /v2/locations ### Description Retrieves a list of all configured locations. ### Method GET ### Endpoint /v2/locations ### Response #### Success Response (200 OK) - **locations** (array) - A list of location objects. ### Response Example ```json { "locations": [ { "id": "48112773-9ebe-4900-a886-21612854214f", "partner_location_id": null, "location_name": "Downtown Restaurant", "location_street": "123 Main St", "location_country": "US", "location_city": "New York", "location_state": "US", "location_zipcode": "1122", "lat": null, "lon": null, "created_at": "2026-02-19T17:10:13.135953+00:00", "location_timezone": "America/New_York", "location_lat": null, "location_lon": null, "location_delivery_time": 30, "restaurant_delivery_time": 30, "pickup_notes": null, "location_status": "active", "auto_accept_cooking_time": 20, "auto_accept_enabled": false, "auto_complete_enabled": true } ] } ``` #### Error Response (401 Unauthorized) - **error** (string) - Error message. - **message** (string) - Detailed error message. ### Error Example ```json { "error": "Unauthorized", "message": "Invalid or missing API token." } ``` ``` -------------------------------- ### Resume an Integration Source: https://kitchenhub.readme.io/reference/providers-api Re-enable order flow for a previously paused integration. ```bash POST /api/v2/integration_accounts/{integration_account_id}/resume ``` -------------------------------- ### Get Delivery Source: https://kitchenhub.readme.io/reference/deliveries-api Retrieve details for a single delivery. ```APIDOC ## GET /v2/deliveries/{delivery_id}/ ### Description Get a single delivery. ### Method GET ### Endpoint /v2/deliveries/{delivery_id}/ ``` -------------------------------- ### Create New Integration Connection Source: https://kitchenhub.readme.io/reference/providers-api Initiate a new connection to a food delivery provider. Requires the provider's ID, your store ID, and a URL to redirect the user after connection. ```bash POST /api/v2/integration_accounts * `provider_id` * `store_id` * `redirect_url` ``` -------------------------------- ### GET /stores Source: https://kitchenhub.readme.io/reference/locations-stores-api Retrieves a list of all stores across all locations. ```APIDOC ## GET /stores ### Description Retrieves a list of all stores across all locations. ### Method GET ### Endpoint /stores ### Response #### Success Response (200 OK) - **stores** (array) - A list of store objects. ### Response Example ```json [ { "id": "store_001", "location_id": "loc_001", "name": "Main Brand", "partner_id": "partner_store_001", "settings": { "timezone": "Europe/Nicosia" } } ] ``` ``` -------------------------------- ### Get Store by ID Source: https://kitchenhub.readme.io/reference/get_v2-stores-store-id Fetches details for a specific store. ```APIDOC ## GET /v2/stores/{store_id}/ ### Description Retrieves detailed information about a specific store using its unique identifier. ### Method GET ### Endpoint /v2/stores/{store_id}/ ### Parameters #### Path Parameters - **store_id** (string) - Required - The unique identifier of the store. ### Response #### Success Response (200) - **id** (string) - Store Id in our system - **partner_store_id** (string) - Store ID in your system - **store_name** (string) - Store Name - **street** (string) - Restaurant Street - **city** (string) - Restaurant City - **country** (string) - Restaurant Country - **state** (string) - Restaurant State - **zipcode** (string) - Restaurant Zipcode - **lat** (number) - Restaurant Latitude - **lon** (number) - Restaurant Longitude - **location_id** (string) - Location Id - **created_at** (string) - Created at - **auto_accept_enabled** (boolean) - Auto Accept Orders. - **auto_complete_enabled** (boolean) - Auto complete orders. - **auto_accept_cooking_time** (string) - Auto Accept Cooking Time #### Error Response - **401** - Unauthorized - **403** - Forbidden - **404** - Store not found - **422** - Validation error - **424** - Error on provider side. Please try again later - **500** - Technical error. Please contact support to resolve this issue - **501** - Provider is not supported or not implemented yet ``` -------------------------------- ### Get Integration Details Source: https://kitchenhub.readme.io/reference/providers-api Fetch detailed information about a specific integration account, including its current status. ```bash GET /api/v2/integration_accounts/{integration_account_id} ``` -------------------------------- ### Create a new store (HTTP) Source: https://kitchenhub.readme.io/reference/locations-stores-api Use this endpoint to create a new store under a specific location. Requires authentication and a JSON payload. ```http POST /stores HTTP/1.1 Host: api.kitchenhub.com Content-Type: application/json Authorization: Bearer {token} ``` -------------------------------- ### Get All Providers Source: https://kitchenhub.readme.io/reference/get_v2-providers-1 Retrieves information about all available integration providers. ```APIDOC ## GET /v2/providers/ ### Description Get information about all integration providers. ### Method GET ### Endpoint /v2/providers/ ### Parameters ### Request Example ### Response #### Success Response (200) - **data** (array) - List of providers with their general information. - **count** (integer) - Total number of providers. #### Response Example { "data": [ { "id": "some-provider-id", "name": "Provider Name", "description": "Description of the provider.", "logo_url": "https://example.com/logo.png", "website_url": "https://example.com", "is_active": true, "capabilities": { "pull_menu": { "is_supported": true, "description": "Supports pulling menu data." }, "update_menu": { "is_supported": false, "description": "Does not support pushing menu updates." } }, "price_support": { "price": true, "original_price": false } } ], "count": 1 } #### Error Response (401) Unauthorized #### Error Response (403) Forbidden #### Error Response (422) Validation error #### Error Response (424) Error on provider side. Please try again later #### Error Response (500) Technical error. Please contact support to resolve this issue #### Error Response (501) Provider is not supported or not implemented yet ``` -------------------------------- ### Create Store Source: https://kitchenhub.readme.io/reference/post_v2-stores Use this endpoint to create a new store. You need to provide the `location_id` and `store_name` in the request body. ```APIDOC ## POST /v2/stores/ ### Description Creates a new store associated with a specific location. ### Method POST ### Endpoint /v2/stores/ ### Request Body - **location_id** (string) - Required - ID of location where store is created - **store_name** (string) - Required - Name of the store - **auto_accept_enabled** (boolean) - Optional - Enables auto-accept for orders. - **auto_complete_enabled** (boolean) - Optional - Enables auto-complete for orders. - **auto_accept_cooking_time** (integer) - Optional - The cooking time in minutes for auto-accepting orders. - **restaurant_delivery_time** (integer) - Optional - The self-delivery time in minutes for the restaurant. Defaults to 30. ### Request Example ```json { "location_id": "loc_12345", "store_name": "My Awesome Store", "auto_accept_enabled": true, "auto_complete_enabled": false, "auto_accept_cooking_time": 15, "restaurant_delivery_time": 45 } ``` ### Response #### Success Response (201) - **id** (string) - Store Id in our system - **store_name** (string) - Store Name - **partner_store_id** (string) - Store ID in your system - **location_id** (string) - ID of location where store is created - **created_at** (string) - Store Creation Date - **auto_accept_enabled** (boolean) - Auto Accept Orders. - **auto_complete_enabled** (boolean) - Auto complete orders. - **auto_accept_cooking_time** (integer) - Auto accept orders cooking time in minutes. - **restaurant_delivery_time** (integer) - Restaurant self-delivery time in minutes. Default value: 30 #### Response Example ```json { "id": "store_abcde", "store_name": "My Awesome Store", "partner_store_id": "partner_xyz789", "location_id": "loc_12345", "created_at": "2023-10-27T10:00:00Z", "auto_accept_enabled": true, "auto_complete_enabled": false, "auto_accept_cooking_time": 15, "restaurant_delivery_time": 45 } ``` #### Error Responses - **400** - Bad request - **401** - Unauthorized - **403** - Forbidden - **404** - Location not found - **422** - Validation error - **424** - Error on provider side. Please try again later - **500** - Technical error. Please contact support to resolve this issue - **501** - Provider is not supported or not implemented yet ``` -------------------------------- ### Get Location List Source: https://kitchenhub.readme.io/reference/get_v2-locations Retrieves a list of available locations. ```APIDOC ## GET /v2/locations/ ### Description Retrieves a list of available locations. ### Method GET ### Endpoint https://api.kitchenhub.app/v2/locations/ ### Parameters ### Request Body ### Request Example ### Response #### Success Response (200) - **id** (string) - Location Id - **partner_location_id** (string) - Partner Location Id - **location_name** (string) - Location Name - **location_street** (string) - Location Street - **location_country** (string) - Location Country - **location_city** (string) - Location City - **location_state** (string) - Location State - **location_zipcode** (string) - Location Zipcode - **lat** (number) - Location Latitude - **lon** (number) - Location Longitude - **created_at** (string) - Location Creation Date - **location_timezone** (string) - Example: America/New_York, US/Eastern - **location_lat** (number) - Location Latitude - **location_lon** (number) - Location Longitude - **location_delivery_time** (integer) - Default Location delivery Time - **restaurant_delivery_time** (integer) - Restaurant self-delivery time in minutes. Default value: 30 - **pickup_notes** (string) - Pickup Notes #### Response Example { "example": "response body" } #### Error Responses - **401** - Unauthorized - **403** - Forbidden - **422** - Validation error - **424** - Error on provider side. Please try again later - **500** - Technical error. Please contact support to resolve this issue - **501** - Provider is not supported or not implemented yet ``` -------------------------------- ### List Client Webhook Configurations Source: https://kitchenhub.readme.io/reference/get_v2-webhooks Retrieves a list of all configured client webhooks. ```APIDOC ## ListClientWebhookConfig ### Description Returns a list of client webhook configurations. ### Method GET ### Endpoint /webhooks/client ### Parameters #### Query Parameters - **limit** (integer) - Optional - The maximum number of webhook configurations to return. - **offset** (integer) - Optional - The number of webhook configurations to skip. ### Response #### Success Response (200) - **webhooks** (array) - A list of `ClientWebhookConfigDTO` objects. ### Response Example ```json { "webhooks": [ { "url": "https://example.com/webhook", "version": "v1", "webhook_type": "order.created", "id": "wh_12345", "created_at": "2023-10-27T10:00:00Z" } ] } ``` ```