Get Onboarding by Store ID
curl --request GET \
--url https://api-staging.luladelivery.store/stores/{store_id}/statusimport requests
url = "https://api-staging.luladelivery.store/stores/{store_id}/status"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api-staging.luladelivery.store/stores/{store_id}/status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-staging.luladelivery.store/stores/{store_id}/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-staging.luladelivery.store/stores/{store_id}/status"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-staging.luladelivery.store/stores/{store_id}/status")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-staging.luladelivery.store/stores/{store_id}/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"current_pause": "<string>",
"is_close": true,
"is_closed": true,
"UberEats": [
{
"success": true,
"is_open": true,
"status": "<string>",
"end_time": "<string>",
"current_pause": "<string>",
"description": [
{}
],
"id": "<string>",
"partner_store_id": "<string>",
"name": "<string>"
}
],
"DoorDash": [
{
"description": [
{
"reason": "<string>",
"notes": "<string>",
"created_at": "<string>",
"end_time": "<string>",
"experience": "<string>"
}
]
}
],
"GrubHub": [
{
"description": [
{
"merchant_status": "<string>",
"merchant_status_descriptor": "<string>",
"pos_merchant_status": "<string>",
"reason": "<string>",
"holds_active_account": true,
"accepting_phone_orders": true,
"accepting_online_orders": true
}
]
}
]
}Onboarding
Get Onboarding by Store ID
This endpoint retrieves the current onboarding and operational status of a store by its store ID. It provides comprehensive information about the store’s availability across all delivery platforms and any onboarding-related status information.
GET
/
stores
/
{store_id}
/
status
Get Onboarding by Store ID
curl --request GET \
--url https://api-staging.luladelivery.store/stores/{store_id}/statusimport requests
url = "https://api-staging.luladelivery.store/stores/{store_id}/status"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api-staging.luladelivery.store/stores/{store_id}/status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-staging.luladelivery.store/stores/{store_id}/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-staging.luladelivery.store/stores/{store_id}/status"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-staging.luladelivery.store/stores/{store_id}/status")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-staging.luladelivery.store/stores/{store_id}/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"current_pause": "<string>",
"is_close": true,
"is_closed": true,
"UberEats": [
{
"success": true,
"is_open": true,
"status": "<string>",
"end_time": "<string>",
"current_pause": "<string>",
"description": [
{}
],
"id": "<string>",
"partner_store_id": "<string>",
"name": "<string>"
}
],
"DoorDash": [
{
"description": [
{
"reason": "<string>",
"notes": "<string>",
"created_at": "<string>",
"end_time": "<string>",
"experience": "<string>"
}
]
}
],
"GrubHub": [
{
"description": [
{
"merchant_status": "<string>",
"merchant_status_descriptor": "<string>",
"pos_merchant_status": "<string>",
"reason": "<string>",
"holds_active_account": true,
"accepting_phone_orders": true,
"accepting_online_orders": true
}
]
}
]
}This endpoint retrieves detailed onboarding and operational status for a specific store. It’s particularly useful for checking the current state of a store’s onboarding process and its operational status across delivery platforms.
Path Parameters
string
required
The unique identifier of the store to retrieve onboarding status for
Query Parameters
string
required
Current local date and time for the store’s timezoneFormat: “MMM DD YYYY HH:mm:ss”Example: “Nov 15 2024 03:46:34”
Response
string
Any current pause reason affecting all platforms
boolean
Overall store closure status across all platforms
boolean
Alternative closure status indicator
array
Array of UberEats store status objects
Show UberEats Status Object
Show UberEats Status Object
boolean
Whether the platform query was successful
boolean
Whether the store is currently open on UberEats
string
Current platform status: “ONLINE” or “OFFLINE”
string
When current status expires (null if permanent)
string
Any active pause reason for this platform
array
Detailed status descriptions and reasons
string
Internal store partner record ID
string
UberEats-specific store identifier
string
Store name as it appears on UberEats
array
Array of DoorDash store status objects
array
Array of GrubHub store status objects
Show GrubHub Status Object
Show GrubHub Status Object
array
GrubHub-specific merchant status information
Show GrubHub Description
Show GrubHub Description
string
GrubHub internal merchant status code
string
Human-readable status description
string
POS integration status: “online” or “offline”
string
Reason for current status if offline
boolean
Whether the merchant account is active
boolean
Whether phone orders are being accepted
boolean
Whether online orders are being accepted
Response Example
{
"current_pause": null,
"is_close": false,
"UberEats": [
{
"success": true,
"is_open": true,
"status": "ONLINE",
"end_time": null,
"current_pause": null,
"description": [
{
"status": "ONLINE"
}
],
"id": "37fa9980-33ba-4419-92c2-a6e5144fdc82",
"partner_store_id": "15be0357-9b4d-4f05-9a5a-9485b5f783e5",
"name": "Lula Convenience Store"
}
],
"DoorDash": [
{
"success": true,
"is_open": false,
"status": "OFFLINE",
"end_time": "2024-11-16T06:59",
"current_pause": null,
"description": [
{
"reason": "POS Integration - Store Availability Webhook",
"notes": "Store is closed",
"created_at": "2024-11-14T23:03:49.019",
"end_time": "2024-11-16T06:59",
"experience": "ANY_EXPERIENCE"
}
],
"id": "1704fecd-e6ca-45bb-b1b5-776aee294af8",
"partner_store_id": "b1015bdb-e831-42ef-b6f8-720fab19321f",
"name": "Lula Convenience Store"
}
],
"GrubHub": [
{
"success": true,
"is_open": false,
"status": "OFFLINE",
"end_time": null,
"current_pause": null,
"description": [
{
"merchant_status": "PT_PREMIUM_DATA_PROBLEMS",
"merchant_status_descriptor": "Account Update/Escalation (RC)",
"pos_merchant_status": "offline",
"reason": "If you do not expect this location to be offline, please contact Grubhub",
"holds_active_account": true,
"accepting_phone_orders": true,
"accepting_online_orders": false
}
],
"id": "d0b3e829-299f-42cc-a768-2f9a908f3355",
"partner_store_id": "1240569280",
"name": "Lula Convenience Store"
}
],
"is_closed": false
}
Onboarding Status Interpretation
Understanding Onboarding Status
Understanding Onboarding Status
status
All platforms show
success: true and is_open: trueStore is fully operational and accepting orders
status
Some platforms are online while others are offline
May indicate incomplete setup or platform-specific issues
status
Platforms show
success: false or error descriptionsRequires investigation and resolution before going live
status
Platforms may be offline due to scheduled hours or temporary pauses
Check end_time fields to see if status will change automatically
Use Cases
When to Use This Endpoint
When to Use This Endpoint
use-case
Verify that store onboarding completed successfully across all platforms
Essential checkpoint after initiating onboarding process
use-case
Regular monitoring of store availability and platform health
Set up automated monitoring to detect issues quickly
use-case
Investigate why a store might not be receiving orders
Offline platforms won’t generate orders
use-case
Building dashboards to show current store operational status
Real-time data suitable for monitoring interfaces
Real-time Status: This endpoint provides real-time status information directly from delivery partner systems, ensuring accuracy for operational decisions.
Timezone Awareness: The current_local_date parameter ensures status checks account for the store’s local timezone, which is important for schedule-based operations.

