01Make your first request
- Open Dashboard → Settings → Integrations → API and create a key for the stores you need.
- Grant only the necessary scopes. This example requires products:read. Copy the token at creation; it cannot be displayed again.
- Store the token server-side as YALLABUY_API_TOKEN, then run the request below.
curl 'https://yallabuy.app/api/v1/products?limit=25' \
-H "Authorization: Bearer $YALLABUY_API_TOKEN"The base URL is https://yallabuy.app/api/v1. Replace the origin for another deployment. Use GET /api/v1 to diagnose the connection and inspect the credential’s scopes and bound stores.
02Authentication and access boundaries
Send Authorization: Bearer ybapi_… on every request. API keys are separate from ybmcp_ MCP tokens; browser session cookies do not replace this authentication.
- The server derives authorized stores from those bound to the credential that are still owned by its merchant and currently ACTIVE.
- Do not send tenant_id, store_id or branch_id as authorization selectors. Authority fields are rejected. Some writes require a credential bound to exactly one store.
- Scopes are necessary but do not bypass store status, plan or feature checks.
- Use a separate key for each integration. Revoke or rotate exposed credentials in API settings, then update your secret store.
03Find endpoints and request schemas
Search the registered GET, POST and DELETE endpoints below. Expand one to copy its cURL command with the required headers. Writes load your data from request.json; prepare it using the accompanying request-body schema. Open /api/openapi.json for the complete machine-readable contract.
04Follow cursor pagination
Cursor-paginated lists return data and pagination.next_cursor. Send the cursor unchanged with the same filters on the next request. Stop when it is null or absent; do not decode it or turn it into an offset.
const url = new URL('https://yallabuy.app/api/v1/products');
url.searchParams.set('limit', '25');
for (;;) {
const response = await fetch(url, {
headers: { Authorization: 'Bearer ' + process.env.YALLABUY_API_TOKEN },
});
const body = await response.json();
if (!response.ok) throw new Error(JSON.stringify(body.error));
await savePage(body.data); // Your own persistence function.
if (!body.pagination?.next_cursor) break;
url.searchParams.set('cursor', body.pagination.next_cursor);
}05Writes, idempotency and retries
- Grant the relevant write scope. Sensitive endpoints also require high_risk_enabled on the credential; this is distinct from MCP confirmations.
- For endpoints marked Idempotency-Key, generate and persist a UUID before each new operation. Retry the same operation with the same key and payload after a network failure.
- Replay semantics depend on the operation’s authority. Never reuse a key for a new operation or changed payload, and do not blindly retry writes without idempotency guarantees.
- Order creation reprices on the server. Product update is not a stock-editing API; use receive or adjust to preserve the stock ledger.
- POS orders belong to the register UI; API order creation uses the WEBSITE channel. Read support for staff, branches and settings does not imply write support.
06Errors and rate limits
{
"error": {
"code": "SCOPE_INSUFFICIENT",
"message": "The credential lacks a required scope.",
"request_id": "req_example"
}
}| HTTP / Code | Action |
|---|---|
| 400 VALIDATION_ERROR | Check field types and query parameters against OpenAPI. |
| 401 UNAUTHENTICATED | Check the token; it may be invalid, expired or revoked. |
| 403 SCOPE_INSUFFICIENT / FORBIDDEN | Check scopes, high-risk access, plan and feature gates. |
| 403 NO_AUTHORIZED_STORE | No bound store is currently owned and active. |
| 404 NOT_FOUND | Check the resource ID and credential access. |
| 409 CONFLICT / INVALID_STATE_TRANSITION | Fetch current state before changing or retrying the operation. |
| 429 RATE_LIMITED | Wait for the Retry-After interval. |
| 503 API_DISABLED | Ask the deployment administrator to enable the API; replacing the key does not fix this. |
| Class | Per-credential limit |
|---|---|
| Standard reads | 60 / minute |
| Heavy reads | 20 / minute |
| Standard writes | 20 / minute |
| High-risk writes | 10 / minute |
| Bulk writes | 5 / minute |
Retain request_id or X-Request-Id for troubleshooting without logging Authorization headers or customer data. Private data responses use Cache-Control: no-store.
07Move to production
- Start read-only with a test store, then grant only the write scopes the workflow requires.
- Combine webhooks with periodic API reconciliation. A notification does not replace reading current state.
- Set timeouts, respect Retry-After and durably persist keys for idempotent operations.
- Limit retained customer data and retention periods, and redact secrets from logs.
Live contract reference
Generated from the same registry that dispatches requests, so the catalog stays aligned with the implementation.
85 / 85 endpoints
Expand any endpoint to copy its cURL example. Run examples in a terminal with the token stored in your environment.
GET/api/v1Bearer authcURL
auth_echocurl --request GET "https://yallabuy.app/api/v1" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/storestore:readcURL
get_store_profilecurl --request GET "https://yallabuy.app/api/v1/store" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/store/settingsstore:readcURL
get_store_settingscurl --request GET "https://yallabuy.app/api/v1/store/settings" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/store/featuresstore:readcURL
get_feature_flagscurl --request GET "https://yallabuy.app/api/v1/store/features" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/store/designstore:readcURL
get_storefront_design_contextcurl --request GET "https://yallabuy.app/api/v1/store/design" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/store/setupstore:readcURL
get_store_setup_statuscurl --request GET "https://yallabuy.app/api/v1/store/setup" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/store/builderstore:readcURL
get_store_builder_contextcurl --request GET "https://yallabuy.app/api/v1/store/builder" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/productsproducts:readcURL
list_productscurl --request GET "https://yallabuy.app/api/v1/products" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/products/{id}products:readcURL
get_productcurl --request GET "https://yallabuy.app/api/v1/products/$YALLABUY_RESOURCE_ID" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_RESOURCE_ID
GET/api/v1/catalog/configproducts:readcURL
get_catalog_configcurl --request GET "https://yallabuy.app/api/v1/catalog/config" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/gift-boxesproducts:readcURL
list_gift_boxescurl --request GET "https://yallabuy.app/api/v1/gift-boxes" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/digital-assetsproducts:readcURL
list_digital_assetscurl --request GET "https://yallabuy.app/api/v1/digital-assets" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/serialsproducts:readcURL
list_serialscurl --request GET "https://yallabuy.app/api/v1/serials" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/ordersorders:readcURL
list_orderscurl --request GET "https://yallabuy.app/api/v1/orders" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/orders/{id}orders:readcURL
get_ordercurl --request GET "https://yallabuy.app/api/v1/orders/$YALLABUY_RESOURCE_ID" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_RESOURCE_ID
GET/api/v1/returnsorders:readcURL
list_returnscurl --request GET "https://yallabuy.app/api/v1/returns" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/returns/{id}orders:readcURL
get_returncurl --request GET "https://yallabuy.app/api/v1/returns/$YALLABUY_RESOURCE_ID" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_RESOURCE_ID
GET/api/v1/return-requestsorders:readcURL
list_return_requestscurl --request GET "https://yallabuy.app/api/v1/return-requests" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/inventoryinventory:readcURL
list_inventorycurl --request GET "https://yallabuy.app/api/v1/inventory" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/inventory/overviewinventory:readcURL
get_inventory_overviewcurl --request GET "https://yallabuy.app/api/v1/inventory/overview" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/inventory/movementsinventory:readcURL
list_inventory_movementscurl --request GET "https://yallabuy.app/api/v1/inventory/movements" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/inventory/{id}inventory:readcURL
get_inventory_itemcurl --request GET "https://yallabuy.app/api/v1/inventory/$YALLABUY_RESOURCE_ID" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_RESOURCE_ID
GET/api/v1/recipesinventory:readcURL
list_recipescurl --request GET "https://yallabuy.app/api/v1/recipes" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/customerscustomers:readcURL
list_customerscurl --request GET "https://yallabuy.app/api/v1/customers" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/customers/{id}/360customers:readcURL
get_customer_360curl --request GET "https://yallabuy.app/api/v1/customers/$YALLABUY_RESOURCE_ID/360" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_RESOURCE_ID
GET/api/v1/marketingmarketing:readcURL
get_marketing_overviewcurl --request GET "https://yallabuy.app/api/v1/marketing" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/marketing/couponsmarketing:readcURL
list_couponscurl --request GET "https://yallabuy.app/api/v1/marketing/coupons" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/marketing/promotionsmarketing:readcURL
list_promotionscurl --request GET "https://yallabuy.app/api/v1/marketing/promotions" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/marketing/promotions/performancemarketing:readcURL
get_promotion_performancecurl --request GET "https://yallabuy.app/api/v1/marketing/promotions/performance" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/analytics/salesanalytics:readcURL
get_sales_analyticscurl --request GET "https://yallabuy.app/api/v1/analytics/sales" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/analytics/product-performanceanalytics:readcURL
get_product_sales_performancecurl --request GET "https://yallabuy.app/api/v1/analytics/product-performance" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/analytics/insightsanalytics:readcURL
get_business_insightscurl --request GET "https://yallabuy.app/api/v1/analytics/insights" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/analytics/overviewstore:readcURL
get_business_overviewcurl --request GET "https://yallabuy.app/api/v1/analytics/overview" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/action-centerstore:readcURL
get_action_centercurl --request GET "https://yallabuy.app/api/v1/action-center" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/finance/profit-lossfinance:readcURL
get_profit_losscurl --request GET "https://yallabuy.app/api/v1/finance/profit-loss" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/expensesfinance:readcURL
list_expensescurl --request GET "https://yallabuy.app/api/v1/expenses" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/shiftsfinance:readcURL
list_shiftscurl --request GET "https://yallabuy.app/api/v1/shifts" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/shifts/{id}finance:readcURL
get_shiftcurl --request GET "https://yallabuy.app/api/v1/shifts/$YALLABUY_RESOURCE_ID" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_RESOURCE_ID
GET/api/v1/staffstore:readcURL
list_staffcurl --request GET "https://yallabuy.app/api/v1/staff" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/staff/{id}store:readcURL
get_staff_membercurl --request GET "https://yallabuy.app/api/v1/staff/$YALLABUY_RESOURCE_ID" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_RESOURCE_ID
GET/api/v1/branchesstore:readcURL
list_branchescurl --request GET "https://yallabuy.app/api/v1/branches" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/activitystore:readcURL
get_activity_logcurl --request GET "https://yallabuy.app/api/v1/activity" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/security/login-historystore:readcURL
get_login_historycurl --request GET "https://yallabuy.app/api/v1/security/login-history" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/security/staff-activitystore:readcURL
get_staff_activitycurl --request GET "https://yallabuy.app/api/v1/security/staff-activity" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/security/activitystore:readcURL
get_security_activitycurl --request GET "https://yallabuy.app/api/v1/security/activity" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/restaurant/floor-planstore:readcURL
get_floor_plancurl --request GET "https://yallabuy.app/api/v1/restaurant/floor-plan" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/restaurant/kdsorders:readcURL
get_kds_boardcurl --request GET "https://yallabuy.app/api/v1/restaurant/kds" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/restaurant/configstore:readcURL
get_kitchen_configcurl --request GET "https://yallabuy.app/api/v1/restaurant/config" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/searchstore:readcURL
search_everythingcurl --request GET "https://yallabuy.app/api/v1/search" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/store/design/contextstore:readcURL
get_storefront_design_contextcurl --request GET "https://yallabuy.app/api/v1/store/design/context" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/store/design/proposalstore:readcURL
propose_storefront_designcurl --request GET "https://yallabuy.app/api/v1/store/design/proposal" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/store/design/previewstore:readcURL
preview_storefront_designcurl --request GET "https://yallabuy.app/api/v1/store/design/preview" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/store/design/diffstore:readcURL
get_storefront_design_diffcurl --request GET "https://yallabuy.app/api/v1/store/design/diff" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
GET/api/v1/store/design/verifystore:readcURL
verify_storefront_designcurl --request GET "https://yallabuy.app/api/v1/store/design/verify" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN
POST/api/v1/orders/{id}/transitionorders:writecURL
update_order_statusHigh-risk accesscurl --request POST "https://yallabuy.app/api/v1/orders/$YALLABUY_RESOURCE_ID/transition" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary @request.jsonSet these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_RESOURCE_ID
Save your operation’s data in request.json using the schema below. The schema describes the fields; it is not itself the request body.
request.json · View request body schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"PENDING",
"CONFIRMED",
"PROCESSING",
"READY",
"SHIPPED",
"DELIVERED",
"COMPLETED",
"CANCELLED"
]
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 300
}
},
"required": [
"status"
],
"additionalProperties": false
}POST/api/v1/ordersorders:writecURL
place_orderHigh-risk accessIdempotency-Key · UUIDcurl --request POST "https://yallabuy.app/api/v1/orders" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json' \
--header "Idempotency-Key: $YALLABUY_IDEMPOTENCY_KEY" \
--header 'Content-Type: application/json' \
--data-binary @request.jsonSet these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_IDEMPOTENCY_KEY
Save your operation’s data in request.json using the schema below. The schema describes the fields; it is not itself the request body.
request.json · View request body schema
{
"type": "object",
"properties": {
"order_type": {
"type": "string",
"enum": [
"DELIVERY",
"TABLE",
"PICKUP"
]
},
"items": {
"minItems": 1,
"maxItems": 200,
"type": "array",
"items": {
"type": "object",
"properties": {
"product_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"variant_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"notes": {
"type": "string",
"maxLength": 500
},
"extras": {
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"id"
],
"additionalProperties": false
}
},
"box_contents": {
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"product_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"product_id",
"quantity"
],
"additionalProperties": false
}
}
},
"required": [
"product_id",
"quantity"
],
"additionalProperties": false
}
},
"payment_method": {
"type": "string",
"enum": [
"CASH",
"COD",
"CARD",
"ONLINE_CARD",
"VODAFONE_CASH",
"INSTAPAY",
"BANK_TRANSFER"
]
},
"customer_name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"customer_phone": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"shipping_address": {
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"notes": {
"type": "string",
"maxLength": 2000
},
"table_number": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"coupon_code": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"gift_details": {
"type": "object",
"properties": {
"recipient_name": {
"type": "string",
"maxLength": 200
},
"recipient_phone": {
"type": "string",
"maxLength": 40
},
"message": {
"type": "string",
"maxLength": 300
},
"wrapping": {
"type": "string",
"maxLength": 80
},
"occasion": {
"type": "string",
"maxLength": 80
}
},
"additionalProperties": false
},
"idempotency_key": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"order_type",
"items",
"payment_method",
"idempotency_key"
],
"additionalProperties": false
}POST/api/v1/orders/{id}/dispatchorders:writecURL
dispatch_orderHigh-risk accesscurl --request POST "https://yallabuy.app/api/v1/orders/$YALLABUY_RESOURCE_ID/dispatch" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary @request.jsonSet these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_RESOURCE_ID
Save your operation’s data in request.json using the schema below. The schema describes the fields; it is not itself the request body.
request.json · View request body schema
{
"type": "object",
"properties": {
"driver_name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"driver_phone": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"shipping_carrier": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"tracking_number": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 300
}
},
"required": [
"driver_name",
"driver_phone"
],
"additionalProperties": false
}POST/api/v1/cancellation-requests/{id}/decideorders:writecURL
decide_cancellation_requestHigh-risk accesscurl --request POST "https://yallabuy.app/api/v1/cancellation-requests/$YALLABUY_RESOURCE_ID/decide" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary @request.jsonSet these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_RESOURCE_ID
Save your operation’s data in request.json using the schema below. The schema describes the fields; it is not itself the request body.
request.json · View request body schema
{
"type": "object",
"properties": {
"decision": {
"type": "string",
"enum": [
"APPROVED",
"REJECTED"
]
},
"decision_reason": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
},
"required": [
"decision"
],
"additionalProperties": false
}POST/api/v1/orders/{id}/kitchenorders:writecURL
advance_kitchen_statuscurl --request POST "https://yallabuy.app/api/v1/orders/$YALLABUY_RESOURCE_ID/kitchen" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary @request.jsonSet these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_RESOURCE_ID
Save your operation’s data in request.json using the schema below. The schema describes the fields; it is not itself the request body.
request.json · View request body schema
{
"type": "object",
"properties": {
"next_status": {
"type": "string",
"enum": [
"QUEUED",
"IN_PREP",
"READY",
"SERVED"
]
}
},
"required": [
"next_status"
],
"additionalProperties": false
}POST/api/v1/orders/{id}/transfer-tableorders:writecURL
transfer_table_orderHigh-risk accesscurl --request POST "https://yallabuy.app/api/v1/orders/$YALLABUY_RESOURCE_ID/transfer-table" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary @request.jsonSet these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_RESOURCE_ID
Save your operation’s data in request.json using the schema below. The schema describes the fields; it is not itself the request body.
request.json · View request body schema
{
"type": "object",
"properties": {
"dest_table_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"dest_table_id"
],
"additionalProperties": false
}POST/api/v1/inventory/receiveinventory:writecURL
receive_stockHigh-risk accessIdempotency-Key · UUIDcurl --request POST "https://yallabuy.app/api/v1/inventory/receive" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json' \
--header "Idempotency-Key: $YALLABUY_IDEMPOTENCY_KEY" \
--header 'Content-Type: application/json' \
--data-binary @request.jsonSet these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_IDEMPOTENCY_KEY
Save your operation’s data in request.json using the schema below. The schema describes the fields; it is not itself the request body.
request.json · View request body schema
{
"type": "object",
"properties": {
"item_type": {
"type": "string",
"enum": [
"PRODUCT",
"VARIANT",
"INGREDIENT"
]
},
"item_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"quantity": {
"type": "number",
"minimum": 0.000001,
"maximum": 100000000
},
"unit_code": {
"type": "string",
"minLength": 1,
"maxLength": 10
},
"unit_cost": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"reason": {
"type": "string",
"maxLength": 300
},
"idempotency_key": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"item_type",
"item_id",
"quantity",
"unit_cost",
"idempotency_key"
],
"additionalProperties": false
}POST/api/v1/inventory/adjustinventory:writecURL
adjust_inventoryHigh-risk accessIdempotency-Key · UUIDcurl --request POST "https://yallabuy.app/api/v1/inventory/adjust" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json' \
--header "Idempotency-Key: $YALLABUY_IDEMPOTENCY_KEY" \
--header 'Content-Type: application/json' \
--data-binary @request.jsonSet these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_IDEMPOTENCY_KEY
Save your operation’s data in request.json using the schema below. The schema describes the fields; it is not itself the request body.
request.json · View request body schema
{
"type": "object",
"properties": {
"item_type": {
"type": "string",
"enum": [
"PRODUCT",
"VARIANT",
"INGREDIENT"
]
},
"item_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"quantity": {
"type": "number",
"minimum": -100000000,
"maximum": 100000000
},
"kind": {
"type": "string",
"enum": [
"ADJUSTMENT",
"DAMAGE",
"LOSS"
]
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 300
},
"idempotency_key": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"item_type",
"item_id",
"quantity",
"reason",
"idempotency_key"
],
"additionalProperties": false
}POST/api/v1/inventory/bulk/previewinventory:readcURL
preview_bulk_inventorycurl --request POST "https://yallabuy.app/api/v1/inventory/bulk/preview" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary @request.jsonSet these environment variables before running: YALLABUY_API_TOKEN
Save your operation’s data in request.json using the schema below. The schema describes the fields; it is not itself the request body.
request.json · View request body schema
{
"anyOf": [
{
"type": "object",
"properties": {
"operation": {
"type": "string",
"const": "RECEIVE"
},
"items": {
"minItems": 1,
"maxItems": 25,
"type": "array",
"items": {
"type": "object",
"properties": {
"record_ref": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"item_type": {
"type": "string",
"enum": [
"PRODUCT",
"VARIANT",
"INGREDIENT"
]
},
"item_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"quantity": {
"type": "number",
"minimum": 0.000001,
"maximum": 100000000
},
"unit_code": {
"type": "string",
"minLength": 1,
"maxLength": 10
},
"unit_cost": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"reason": {
"type": "string",
"maxLength": 300
}
},
"required": [
"record_ref",
"item_type",
"item_id",
"quantity",
"unit_cost"
],
"additionalProperties": false
}
}
},
"required": [
"operation",
"items"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"operation": {
"type": "string",
"const": "ADJUST"
},
"items": {
"minItems": 1,
"maxItems": 25,
"type": "array",
"items": {
"type": "object",
"properties": {
"record_ref": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"item_type": {
"type": "string",
"enum": [
"PRODUCT",
"VARIANT",
"INGREDIENT"
]
},
"item_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"quantity": {
"type": "number",
"minimum": -100000000,
"maximum": 100000000
},
"kind": {
"type": "string",
"enum": [
"ADJUSTMENT",
"DAMAGE",
"LOSS"
]
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 300
}
},
"required": [
"record_ref",
"item_type",
"item_id",
"quantity",
"reason"
],
"additionalProperties": false
}
}
},
"required": [
"operation",
"items"
],
"additionalProperties": false
}
]
}POST/api/v1/inventory/bulk/applyinventory:writecURL
apply_bulk_inventoryHigh-risk accesscurl --request POST "https://yallabuy.app/api/v1/inventory/bulk/apply" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary @request.jsonSet these environment variables before running: YALLABUY_API_TOKEN
Save your operation’s data in request.json using the schema below. The schema describes the fields; it is not itself the request body.
request.json · View request body schema
{
"anyOf": [
{
"type": "object",
"properties": {
"operation_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"preview_hash": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"operation": {
"type": "string",
"const": "RECEIVE"
},
"items": {
"minItems": 1,
"maxItems": 25,
"type": "array",
"items": {
"type": "object",
"properties": {
"record_ref": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"item_type": {
"type": "string",
"enum": [
"PRODUCT",
"VARIANT",
"INGREDIENT"
]
},
"item_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"quantity": {
"type": "number",
"minimum": 0.000001,
"maximum": 100000000
},
"unit_code": {
"type": "string",
"minLength": 1,
"maxLength": 10
},
"unit_cost": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"reason": {
"type": "string",
"maxLength": 300
}
},
"required": [
"record_ref",
"item_type",
"item_id",
"quantity",
"unit_cost"
],
"additionalProperties": false
}
}
},
"required": [
"operation_id",
"preview_hash",
"operation",
"items"
]
},
{
"type": "object",
"properties": {
"operation_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"preview_hash": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"operation": {
"type": "string",
"const": "ADJUST"
},
"items": {
"minItems": 1,
"maxItems": 25,
"type": "array",
"items": {
"type": "object",
"properties": {
"record_ref": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"item_type": {
"type": "string",
"enum": [
"PRODUCT",
"VARIANT",
"INGREDIENT"
]
},
"item_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"quantity": {
"type": "number",
"minimum": -100000000,
"maximum": 100000000
},
"kind": {
"type": "string",
"enum": [
"ADJUSTMENT",
"DAMAGE",
"LOSS"
]
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 300
}
},
"required": [
"record_ref",
"item_type",
"item_id",
"quantity",
"reason"
],
"additionalProperties": false
}
}
},
"required": [
"operation_id",
"preview_hash",
"operation",
"items"
]
}
]
}POST/api/v1/returnsorders:writecURL
create_returnHigh-risk accessIdempotency-Key · UUIDcurl --request POST "https://yallabuy.app/api/v1/returns" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json' \
--header "Idempotency-Key: $YALLABUY_IDEMPOTENCY_KEY" \
--header 'Content-Type: application/json' \
--data-binary @request.jsonSet these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_IDEMPOTENCY_KEY
Save your operation’s data in request.json using the schema below. The schema describes the fields; it is not itself the request body.
request.json · View request body schema
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"items": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"product_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"variant_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"required": [
"name",
"quantity"
],
"additionalProperties": false
}
},
"refund_method": {
"type": "string",
"enum": [
"CASH",
"ORIGINAL_PAYMENT",
"STORE_CREDIT"
]
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"notes": {
"type": "string",
"maxLength": 1500
},
"idempotency_key": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"order_id",
"items",
"reason",
"idempotency_key"
],
"additionalProperties": false
}POST/api/v1/return-requests/{id}/revieworders:writecURL
review_return_requestHigh-risk accesscurl --request POST "https://yallabuy.app/api/v1/return-requests/$YALLABUY_RESOURCE_ID/review" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary @request.jsonSet these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_RESOURCE_ID
Save your operation’s data in request.json using the schema below. The schema describes the fields; it is not itself the request body.
request.json · View request body schema
{
"type": "object",
"properties": {
"decision": {
"type": "string",
"enum": [
"APPROVED",
"REJECTED"
]
},
"refund_method": {
"type": "string",
"enum": [
"CASH",
"ORIGINAL_PAYMENT",
"STORE_CREDIT"
]
},
"restock": {
"type": "boolean"
},
"reject_reason": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
},
"required": [
"decision"
],
"additionalProperties": false
}POST/api/v1/tables/{id}/releaseorders:writecURL
release_tableHigh-risk accesscurl --request POST "https://yallabuy.app/api/v1/tables/$YALLABUY_RESOURCE_ID/release" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary @request.jsonSet these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_RESOURCE_ID
Save your operation’s data in request.json using the schema below. The schema describes the fields; it is not itself the request body.
request.json · View request body schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}POST/api/v1/productsproducts:writecURL
create_productcurl --request POST "https://yallabuy.app/api/v1/products" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary @request.jsonSet these environment variables before running: YALLABUY_API_TOKEN
Save your operation’s data in request.json using the schema below. The schema describes the fields; it is not itself the request body.
request.json · View request body schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": {
"type": "string",
"maxLength": 5000
},
"price": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"compare_at_price": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"cost_price": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"sku": {
"type": "string",
"maxLength": 100
},
"barcode": {
"type": "string",
"maxLength": 100
},
"category_ids": {
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"is_available": {
"type": "boolean"
},
"is_featured": {
"type": "boolean"
},
"low_stock_threshold": {
"type": "number",
"minimum": 0
},
"stock_quantity": {
"type": "number",
"minimum": 0,
"maximum": 100000000
},
"variants": {
"maxItems": 30,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 200
},
"sku": {
"type": "string",
"maxLength": 100
},
"color": {
"type": "string",
"maxLength": 100
},
"size": {
"type": "string",
"maxLength": 100
},
"price_override": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"compare_at_price": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"cost_price": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"stock_quantity": {
"type": "number",
"minimum": 0,
"maximum": 100000000
},
"low_stock_threshold": {
"type": "number",
"minimum": 0
}
},
"additionalProperties": false
}
}
},
"required": [
"name",
"price"
],
"additionalProperties": false
}POST/api/v1/products/{id}products:writecURL
update_productcurl --request POST "https://yallabuy.app/api/v1/products/$YALLABUY_RESOURCE_ID" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary @request.jsonSet these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_RESOURCE_ID
Save your operation’s data in request.json using the schema below. The schema describes the fields; it is not itself the request body.
request.json · View request body schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": {
"type": "string",
"maxLength": 5000
},
"price": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"compare_at_price": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"cost_price": {
"type": "number",
"minimum": 0,
"maximum": 1000000000
},
"sku": {
"type": "string",
"maxLength": 100
},
"barcode": {
"type": "string",
"maxLength": 100
},
"category_ids": {
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"is_available": {
"type": "boolean"
},
"is_featured": {
"type": "boolean"
},
"low_stock_threshold": {
"type": "number",
"minimum": 0
}
},
"additionalProperties": false
}DELETE/api/v1/products/{id}products:writecURL
archive_productcurl --request DELETE "https://yallabuy.app/api/v1/products/$YALLABUY_RESOURCE_ID" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_RESOURCE_ID
POST/api/v1/customerscustomers:writecURL
create_customercurl --request POST "https://yallabuy.app/api/v1/customers" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary @request.jsonSet these environment variables before running: YALLABUY_API_TOKEN
Save your operation’s data in request.json using the schema below. The schema describes the fields; it is not itself the request body.
request.json · View request body schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"phone": {
"type": "string",
"minLength": 3,
"maxLength": 32
},
"whatsapp_number": {
"anyOf": [
{
"type": "string",
"minLength": 3,
"maxLength": 32
},
{
"type": "null"
}
]
},
"email": {
"anyOf": [
{
"type": "string",
"maxLength": 254,
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
{
"type": "null"
}
]
},
"address": {
"anyOf": [
{
"type": "string",
"maxLength": 500
},
{
"type": "null"
}
]
},
"notes": {
"anyOf": [
{
"type": "string",
"maxLength": 1500
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"phone"
],
"additionalProperties": false
}POST/api/v1/customers/{id}customers:writecURL
update_customercurl --request POST "https://yallabuy.app/api/v1/customers/$YALLABUY_RESOURCE_ID" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary @request.jsonSet these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_RESOURCE_ID
Save your operation’s data in request.json using the schema below. The schema describes the fields; it is not itself the request body.
request.json · View request body schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"whatsapp_number": {
"anyOf": [
{
"type": "string",
"minLength": 3,
"maxLength": 32
},
{
"type": "null"
}
]
},
"email": {
"anyOf": [
{
"type": "string",
"maxLength": 254,
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
{
"type": "null"
}
]
},
"address": {
"anyOf": [
{
"type": "string",
"maxLength": 500
},
{
"type": "null"
}
]
},
"notes": {
"anyOf": [
{
"type": "string",
"maxLength": 1500
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
}DELETE/api/v1/customers/{id}customers:writecURL
delete_customercurl --request DELETE "https://yallabuy.app/api/v1/customers/$YALLABUY_RESOURCE_ID" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_RESOURCE_ID
POST/api/v1/couponsmarketing:writecURL
create_couponcurl --request POST "https://yallabuy.app/api/v1/coupons" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary @request.jsonSet these environment variables before running: YALLABUY_API_TOKEN
Save your operation’s data in request.json using the schema below. The schema describes the fields; it is not itself the request body.
request.json · View request body schema
{
"type": "object",
"properties": {
"code": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"discount_type": {
"type": "string",
"enum": [
"PERCENTAGE",
"FIXED_AMOUNT"
]
},
"discount_value": {
"type": "number",
"exclusiveMinimum": 0
},
"min_order_amount": {
"type": "number",
"minimum": 0
},
"usage_limit": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"start_date": {
"anyOf": [
{
"type": "string",
"minLength": 4,
"maxLength": 40
},
{
"type": "null"
}
]
},
"end_date": {
"anyOf": [
{
"type": "string",
"minLength": 4,
"maxLength": 40
},
{
"type": "null"
}
]
},
"is_active": {
"type": "boolean"
},
"max_discount_amount": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0
},
{
"type": "null"
}
]
},
"per_customer_limit": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"scope": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"ALL",
"PRODUCTS",
"CATEGORIES"
]
},
"product_ids": {
"maxItems": 500,
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"category_ids": {
"maxItems": 500,
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
}
},
"required": [
"kind"
],
"additionalProperties": false
},
"eligible_customers": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"ALL",
"SEGMENTS",
"CUSTOM_SEGMENT"
]
},
"segment_keys": {
"maxItems": 4,
"type": "array",
"items": {
"type": "string",
"enum": [
"VIP",
"NEW",
"REGULAR",
"AT_RISK"
]
}
},
"custom_segment_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"mode"
],
"additionalProperties": false
},
"stacks_with_automatic": {
"type": "boolean"
}
},
"required": [
"code",
"discount_type",
"discount_value"
],
"additionalProperties": false
}POST/api/v1/coupons/{id}marketing:writecURL
update_couponcurl --request POST "https://yallabuy.app/api/v1/coupons/$YALLABUY_RESOURCE_ID" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary @request.jsonSet these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_RESOURCE_ID
Save your operation’s data in request.json using the schema below. The schema describes the fields; it is not itself the request body.
request.json · View request body schema
{
"type": "object",
"properties": {
"code": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"discount_type": {
"type": "string",
"enum": [
"PERCENTAGE",
"FIXED_AMOUNT"
]
},
"discount_value": {
"type": "number",
"exclusiveMinimum": 0
},
"min_order_amount": {
"type": "number",
"minimum": 0
},
"usage_limit": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"start_date": {
"anyOf": [
{
"type": "string",
"minLength": 4,
"maxLength": 40
},
{
"type": "null"
}
]
},
"end_date": {
"anyOf": [
{
"type": "string",
"minLength": 4,
"maxLength": 40
},
{
"type": "null"
}
]
},
"is_active": {
"type": "boolean"
},
"max_discount_amount": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0
},
{
"type": "null"
}
]
},
"per_customer_limit": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"scope": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"ALL",
"PRODUCTS",
"CATEGORIES"
]
},
"product_ids": {
"maxItems": 500,
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"category_ids": {
"maxItems": 500,
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
}
},
"required": [
"kind"
],
"additionalProperties": false
},
"eligible_customers": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"ALL",
"SEGMENTS",
"CUSTOM_SEGMENT"
]
},
"segment_keys": {
"maxItems": 4,
"type": "array",
"items": {
"type": "string",
"enum": [
"VIP",
"NEW",
"REGULAR",
"AT_RISK"
]
}
},
"custom_segment_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"mode"
],
"additionalProperties": false
},
"stacks_with_automatic": {
"type": "boolean"
}
},
"additionalProperties": false
}DELETE/api/v1/coupons/{id}marketing:writecURL
delete_couponcurl --request DELETE "https://yallabuy.app/api/v1/coupons/$YALLABUY_RESOURCE_ID" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_RESOURCE_ID
POST/api/v1/promotionsmarketing:writecURL
create_promotioncurl --request POST "https://yallabuy.app/api/v1/promotions" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary @request.jsonSet these environment variables before running: YALLABUY_API_TOKEN
Save your operation’s data in request.json using the schema below. The schema describes the fields; it is not itself the request body.
request.json · View request body schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"name_en": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 120
},
{
"type": "null"
}
]
},
"promotion_type": {
"type": "string",
"enum": [
"CART_PERCENTAGE",
"CART_FIXED",
"CART_TIERS",
"ITEM_PERCENTAGE",
"QUANTITY_PERCENTAGE",
"FREE_SHIPPING"
]
},
"priority": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"starts_at": {
"anyOf": [
{
"type": "string",
"minLength": 4,
"maxLength": 40
},
{
"type": "null"
}
]
},
"ends_at": {
"anyOf": [
{
"type": "string",
"minLength": 4,
"maxLength": 40
},
{
"type": "null"
}
]
},
"min_order_amount": {
"type": "number",
"minimum": 0
},
"discount_value": {
"type": "number",
"minimum": 0
},
"max_uses": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"scope": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"ALL",
"PRODUCTS",
"CATEGORIES"
]
},
"product_ids": {
"maxItems": 500,
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"category_ids": {
"maxItems": 500,
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
}
},
"required": [
"kind"
],
"additionalProperties": false
},
"eligible_customers": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"ALL",
"SEGMENTS",
"CUSTOM_SEGMENT"
]
},
"segment_keys": {
"maxItems": 4,
"type": "array",
"items": {
"type": "string",
"enum": [
"VIP",
"NEW",
"REGULAR",
"AT_RISK"
]
}
},
"custom_segment_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"mode"
],
"additionalProperties": false
},
"is_active": {
"type": "boolean"
},
"min_quantity": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"tiers": {
"anyOf": [
{
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"min_subtotal": {
"type": "number",
"minimum": 0
},
"percent": {
"type": "number",
"minimum": 0,
"maximum": 100
}
},
"required": [
"min_subtotal",
"percent"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"promotion_type"
],
"additionalProperties": false
}POST/api/v1/promotions/{id}marketing:writecURL
update_promotioncurl --request POST "https://yallabuy.app/api/v1/promotions/$YALLABUY_RESOURCE_ID" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary @request.jsonSet these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_RESOURCE_ID
Save your operation’s data in request.json using the schema below. The schema describes the fields; it is not itself the request body.
request.json · View request body schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"name_en": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 120
},
{
"type": "null"
}
]
},
"priority": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"starts_at": {
"anyOf": [
{
"type": "string",
"minLength": 4,
"maxLength": 40
},
{
"type": "null"
}
]
},
"ends_at": {
"anyOf": [
{
"type": "string",
"minLength": 4,
"maxLength": 40
},
{
"type": "null"
}
]
},
"min_order_amount": {
"type": "number",
"minimum": 0
},
"discount_value": {
"type": "number",
"minimum": 0
},
"max_uses": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"scope": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"ALL",
"PRODUCTS",
"CATEGORIES"
]
},
"product_ids": {
"maxItems": 500,
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"category_ids": {
"maxItems": 500,
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
}
},
"required": [
"kind"
],
"additionalProperties": false
},
"eligible_customers": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"ALL",
"SEGMENTS",
"CUSTOM_SEGMENT"
]
},
"segment_keys": {
"maxItems": 4,
"type": "array",
"items": {
"type": "string",
"enum": [
"VIP",
"NEW",
"REGULAR",
"AT_RISK"
]
}
},
"custom_segment_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"mode"
],
"additionalProperties": false
},
"is_active": {
"type": "boolean"
},
"min_quantity": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"tiers": {
"anyOf": [
{
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"min_subtotal": {
"type": "number",
"minimum": 0
},
"percent": {
"type": "number",
"minimum": 0,
"maximum": 100
}
},
"required": [
"min_subtotal",
"percent"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
}DELETE/api/v1/promotions/{id}marketing:writecURL
delete_promotioncurl --request DELETE "https://yallabuy.app/api/v1/promotions/$YALLABUY_RESOURCE_ID" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_RESOURCE_ID
POST/api/v1/bundlesmarketing:writecURL
create_bundlecurl --request POST "https://yallabuy.app/api/v1/bundles" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary @request.jsonSet these environment variables before running: YALLABUY_API_TOKEN
Save your operation’s data in request.json using the schema below. The schema describes the fields; it is not itself the request body.
request.json · View request body schema
{
"type": "object",
"properties": {
"name_ar": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"name_en": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 200
},
{
"type": "null"
}
]
},
"bundle_type": {
"type": "string",
"enum": [
"BXGY",
"COMBO_FIXED"
]
},
"buy_product_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"buy_quantity": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"get_product_id": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"get_quantity": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"discount_value": {
"type": "number",
"minimum": 0
},
"is_active": {
"type": "boolean"
}
},
"required": [
"name_ar",
"bundle_type",
"buy_product_id"
],
"additionalProperties": false
}POST/api/v1/bundles/{id}marketing:writecURL
update_bundlecurl --request POST "https://yallabuy.app/api/v1/bundles/$YALLABUY_RESOURCE_ID" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary @request.jsonSet these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_RESOURCE_ID
Save your operation’s data in request.json using the schema below. The schema describes the fields; it is not itself the request body.
request.json · View request body schema
{
"type": "object",
"properties": {
"name_ar": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"name_en": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 200
},
{
"type": "null"
}
]
},
"bundle_type": {
"type": "string",
"enum": [
"BXGY",
"COMBO_FIXED"
]
},
"buy_product_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"buy_quantity": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"get_product_id": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"get_quantity": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"discount_value": {
"type": "number",
"minimum": 0
},
"is_active": {
"type": "boolean"
}
},
"additionalProperties": false
}DELETE/api/v1/bundles/{id}marketing:writecURL
delete_bundlecurl --request DELETE "https://yallabuy.app/api/v1/bundles/$YALLABUY_RESOURCE_ID" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json'Set these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_RESOURCE_ID
POST/api/v1/returns/{id}/refund-approvalorders:writecURL
refund_approvalHigh-risk accesscurl --request POST "https://yallabuy.app/api/v1/returns/$YALLABUY_RESOURCE_ID/refund-approval" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary @request.jsonSet these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_RESOURCE_ID
Save your operation’s data in request.json using the schema below. The schema describes the fields; it is not itself the request body.
request.json · View request body schema
{
"type": "object",
"properties": {
"amount": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100000000
},
"method": {
"type": "string",
"enum": [
"CASH",
"ORIGINAL_PAYMENT",
"STORE_CREDIT"
]
},
"note": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
},
"required": [
"amount",
"method"
],
"additionalProperties": false
}POST/api/v1/returns/{id}/refund-executionorders:writecURL
refund_executionHigh-risk accesscurl --request POST "https://yallabuy.app/api/v1/returns/$YALLABUY_RESOURCE_ID/refund-execution" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary @request.jsonSet these environment variables before running: YALLABUY_API_TOKEN, YALLABUY_RESOURCE_ID
Save your operation’s data in request.json using the schema below. The schema describes the fields; it is not itself the request body.
request.json · View request body schema
{
"type": "object",
"properties": {
"amount": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100000000
},
"executed_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"external_reference": {
"type": "string",
"minLength": 1,
"maxLength": 300
},
"evidence_note": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"shift_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"amount",
"external_reference"
],
"additionalProperties": false
}POST/api/v1/store/design/applystorefront:writecURL
apply_storefront_designHigh-risk accesscurl --request POST "https://yallabuy.app/api/v1/store/design/apply" \
--header "Authorization: Bearer $YALLABUY_API_TOKEN" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary @request.jsonSet these environment variables before running: YALLABUY_API_TOKEN
Save your operation’s data in request.json using the schema below. The schema describes the fields; it is not itself the request body.
request.json · View request body schema
{
"type": "object",
"properties": {
"requested_direction": {
"type": "string",
"enum": [
"editorial-noir",
"atelier-sculpted",
"paper-boutique",
"frame-eyewear",
"luminous-editorial",
"ember-expressive",
"kinetic-craft",
"greenery-market"
]
},
"brand_changes": {
"type": "object",
"properties": {
"primary": {
"type": "string",
"pattern": "^#[0-9a-f]{6}$"
},
"accent": {
"type": "string",
"pattern": "^#[0-9a-f]{6}$"
},
"background": {
"type": "string",
"pattern": "^#[0-9a-f]{6}$"
},
"surface": {
"type": "string",
"pattern": "^#[0-9a-f]{6}$"
},
"text": {
"type": "string",
"pattern": "^#[0-9a-f]{6}$"
},
"muted": {
"type": "string",
"pattern": "^#[0-9a-f]{6}$"
},
"dark_background": {
"type": "string",
"pattern": "^#[0-9a-f]{6}$"
},
"dark_surface": {
"type": "string",
"pattern": "^#[0-9a-f]{6}$"
},
"dark_text": {
"type": "string",
"pattern": "^#[0-9a-f]{6}$"
},
"border": {
"anyOf": [
{
"type": "string",
"pattern": "^#[0-9a-f]{6}$"
},
{
"type": "string",
"const": ""
}
]
},
"radius": {
"type": "string",
"enum": [
"",
"sharp",
"soft",
"round"
]
},
"button": {
"type": "string",
"enum": [
"",
"solid",
"outline"
]
},
"card": {
"type": "string",
"enum": [
"",
"elevated",
"flat",
"outlined"
]
},
"image_ratio": {
"type": "string",
"enum": [
"",
"square",
"portrait"
]
},
"motion": {
"type": "string",
"enum": [
"",
"none",
"subtle",
"expressive"
]
}
},
"additionalProperties": false
},
"homepage_preset_id": {
"type": "string",
"pattern": "^[a-z0-9-]{1,64}$"
},
"homepage": {
"type": "object",
"properties": {
"sections": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z0-9_-]{1,64}$"
},
"type": {
"type": "string",
"enum": [
"hero",
"category_showcase",
"featured_products",
"new_arrivals",
"product_collection",
"promo_banner",
"image_text",
"brand_story",
"feature_cards",
"gallery",
"location",
"social",
"cta",
"gift_collection"
]
},
"visible": {
"type": "boolean"
},
"config": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"id",
"type"
],
"additionalProperties": false
}
}
},
"required": [
"sections"
],
"additionalProperties": false
},
"commerce_changes": {
"type": "object",
"properties": {
"card_variant": {
"type": "string",
"enum": [
"classic"
]
}
},
"additionalProperties": false
},
"navigation_changes": {
"type": "object",
"properties": {
"orders_link": {
"type": "boolean"
}
},
"additionalProperties": false
},
"content_changes": {
"type": "object",
"properties": {
"store_name": {
"type": "string",
"maxLength": 1500
},
"store_name_en": {
"type": "string",
"maxLength": 1500
},
"footer_tagline": {
"type": "string",
"maxLength": 1500
},
"footer_tagline_en": {
"type": "string",
"maxLength": 1500
},
"hero_badge": {
"type": "string",
"maxLength": 120
},
"hero_badge_en": {
"type": "string",
"maxLength": 120
},
"hero_title": {
"type": "string",
"maxLength": 1500
},
"hero_title_en": {
"type": "string",
"maxLength": 1500
},
"hero_subtitle": {
"type": "string",
"maxLength": 1500
},
"hero_subtitle_en": {
"type": "string",
"maxLength": 1500
},
"story_title": {
"type": "string",
"maxLength": 1500
},
"story_title_en": {
"type": "string",
"maxLength": 1500
},
"story_text": {
"type": "string",
"maxLength": 1500
},
"story_text_en": {
"type": "string",
"maxLength": 1500
},
"about_subtitle": {
"type": "string",
"maxLength": 1500
},
"about_subtitle_en": {
"type": "string",
"maxLength": 1500
},
"mission_title": {
"type": "string",
"maxLength": 1500
},
"mission_title_en": {
"type": "string",
"maxLength": 1500
},
"mission_text": {
"type": "string",
"maxLength": 1500
},
"mission_text_en": {
"type": "string",
"maxLength": 1500
},
"returns_text": {
"type": "string",
"maxLength": 1500
},
"returns_text_en": {
"type": "string",
"maxLength": 1500
},
"bestsellers_title": {
"type": "string",
"maxLength": 1500
},
"bestsellers_title_en": {
"type": "string",
"maxLength": 1500
},
"bestsellers_subtitle": {
"type": "string",
"maxLength": 1500
},
"bestsellers_subtitle_en": {
"type": "string",
"maxLength": 1500
},
"features_title": {
"type": "string",
"maxLength": 1500
},
"features_title_en": {
"type": "string",
"maxLength": 1500
},
"features_subtitle": {
"type": "string",
"maxLength": 1500
},
"features_subtitle_en": {
"type": "string",
"maxLength": 1500
},
"feature_cards": {
"maxItems": 8,
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"title_en": {
"type": "string",
"maxLength": 120
},
"description": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"description_en": {
"type": "string",
"maxLength": 500
},
"icon": {
"type": "string",
"enum": [
"sparkles",
"heart",
"shield",
"truck"
]
}
},
"required": [
"title",
"description",
"icon"
],
"additionalProperties": false
}
},
"location_headline": {
"type": "string",
"maxLength": 1500
},
"location_headline_en": {
"type": "string",
"maxLength": 1500
},
"location_subheadline": {
"type": "string",
"maxLength": 1500
},
"location_subheadline_en": {
"type": "string",
"maxLength": 1500
},
"address": {
"type": "string",
"maxLength": 1500
},
"address_en": {
"type": "string",
"maxLength": 1500
},
"hours": {
"type": "string",
"maxLength": 1500
},
"hours_en": {
"type": "string",
"maxLength": 1500
},
"instagram_subtitle": {
"type": "string",
"maxLength": 1500
},
"instagram_subtitle_en": {
"type": "string",
"maxLength": 1500
},
"instagram_handle": {
"type": "string",
"maxLength": 200
},
"logo_image": {
"type": "string",
"maxLength": 4096
},
"hero_image": {
"type": "string",
"maxLength": 4096
},
"story_image": {
"type": "string",
"maxLength": 4096
}
},
"additionalProperties": false
},
"merchant_request": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"proposal_id": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"base_design_rev": {
"type": "integer",
"minimum": 0,
"maximum": 1000000000
}
},
"required": [
"proposal_id",
"base_design_rev"
],
"additionalProperties": false
}COMPLETE YOUR INTEGRATION
