{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/schema.json","name":"UGiftMe Multi-Platform Integration Hub API","colors":{"primary":"#F97316","light":"#FB923C","dark":"#EA580C"},"logo":{"light":"https://mintcdn.com/ugiftme-c0b4beea/2tCyDZ0Ixofjq9xJ/logo/ugm-logo.png?fit=max\u0026auto=format\u0026n=2tCyDZ0Ixofjq9xJ\u0026q=85\u0026s=f2d2882b102f0e0c5c64c0d32e6e2ec9","dark":"https://mintcdn.com/ugiftme-c0b4beea/2tCyDZ0Ixofjq9xJ/logo/ugm-logo.png?fit=max\u0026auto=format\u0026n=2tCyDZ0Ixofjq9xJ\u0026q=85\u0026s=f2d2882b102f0e0c5c64c0d32e6e2ec9"},"favicon":"https://mintcdn.com/ugiftme-c0b4beea/2tCyDZ0Ixofjq9xJ/logo/image.png?fit=max\u0026auto=format\u0026n=2tCyDZ0Ixofjq9xJ\u0026q=85\u0026s=48b64cd1dc451777220d5450b0466feb","api":{"playground":{"display":"interactive"}},"fonts":{"heading":{"family":"Marr Sans Cond Web Bold Regular","source":"fonts/marr-sans.woff2","format":"woff2"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"ugiftme-c0b4beea","hasAudioNarration":false,"actualSubdomain":"ugiftme-c0b4beea","customDomains":["docs.ugift.me"],"gitSource":{"type":"github","owner":"gift-alliance","repo":"zapier-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21e7908d1fcd719df05a0c","collectionId":"85f7bcc8-8057-435a-b21a-08ca797c0b4b","schemaVersion":"v2"},"entitlements":{},"buildId":"6a21e7908d1fcd719df05a0c:success","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"API Reference","count":26},{"language":"default","tag":"Outbound webhook events","count":26},{"language":"default","tag":"Outbound Webhooks","count":7},{"language":"default","tag":"Orders \u0026 Dispatch","count":6},{"language":"default","tag":"Webhooks","count":6},{"language":"default","tag":"Financials","count":3},{"language":"default","tag":"Product Catalog","count":3},{"language":"default","tag":"API Guide","count":2},{"language":"default","tag":"API Overview","count":1},{"language":"default","tag":"Authentication","count":1}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/orders-\u0026-dispatch/bulk-order","slug":"/api-reference/orders-\u0026-dispatch/bulk-order","pageMetadata":{"title":"Bulk Order","description":"Creates multiple orders in one request. Optional `Idempotency-Key` applies to the bulk operation.\n\n**Responses**\n- **201** when orders are created synchronously (or idempotent replay), with `orders`, `summary`, and optional `rejectedOrders`.\n- **202** when async processing is enabled (`orderRequestId`, `status: queued`); poll **GET** `/api/v1/business/orders/order-requests/{id}`.\n- **402** when the wallet balance (after holds) is insufficient for the bulk total.\n\n**How to call** — **POST** `{server}/api/v1/business/orders/bulk` with `X-API-Key` and JSON body `{ \"orders\": [ ... ] }` (each item matches **CreateOrderRequest**).\n","deprecated":null,"version":null,"openapi":"/openapi-business.yaml post /api/v1/business/orders/bulk","href":"/api-reference/orders-\u0026-dispatch/bulk-order","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n li: \"li\",\n p: \"p\",\n strong: \"strong\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Creates multiple orders in one request. Optional \", _jsx(_components.code, {\n children: \"Idempotency-Key\"\n }), \" applies to the bulk operation.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.strong, {\n children: \"Responses\"\n })\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"201\"\n }), \" when orders are created synchronously (or idempotent replay), with \", _jsx(_components.code, {\n children: \"orders\"\n }), \", \", _jsx(_components.code, {\n children: \"summary\"\n }), \", and optional \", _jsx(_components.code, {\n children: \"rejectedOrders\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"202\"\n }), \" when async processing is enabled (\", _jsx(_components.code, {\n children: \"orderRequestId\"\n }), \", \", _jsx(_components.code, {\n children: \"status: queued\"\n }), \"); poll \", _jsx(_components.strong, {\n children: \"GET\"\n }), \" \", _jsx(_components.code, {\n children: \"/api/v1/business/orders/order-requests/{id}\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.strong, {\n children: \"402\"\n }), \" when the wallet balance (after holds) is insufficient for the bulk total.\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"How to call\"\n }), \" — \", _jsx(_components.strong, {\n children: \"POST\"\n }), \" \", _jsx(_components.code, {\n children: \"{server}/api/v1/business/orders/bulk\"\n }), \" with \", _jsx(_components.code, {\n children: \"X-API-Key\"\n }), \" and JSON body \", _jsx(_components.code, {\n children: \"{ \\\"orders\\\": [ ... ] }\"\n }), \" (each item matches \", _jsx(_components.strong, {\n children: \"CreateOrderRequest\"\n }), \").\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Bulk Order","description":"Creates multiple orders in one request. Optional `Idempotency-Key` applies to the bulk operation.\n\n**Responses**\n- **201** when orders are created synchronously (or idempotent replay), with `orders`, `summary`, and optional `rejectedOrders`.\n- **202** when async processing is enabled (`orderRequestId`, `status: queued`); poll **GET** `/api/v1/business/orders/order-requests/{id}`.\n- **402** when the wallet balance (after holds) is insufficient for the bulk total.\n\n**How to call** — **POST** `{server}/api/v1/business/orders/bulk` with `X-API-Key` and JSON body `{ \"orders\": [ ... ] }` (each item matches **CreateOrderRequest**).\n","deprecated":null,"version":null,"openapi":"/openapi-business.yaml post /api/v1/business/orders/bulk","href":"/api-reference/orders-\u0026-dispatch/bulk-order","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"createBulkOrders","tags":["Orders \u0026 Dispatch"],"summary":"Bulk Order","description":"Creates multiple orders in one request. Optional `Idempotency-Key` applies to the bulk operation.\n\n**Responses**\n- **201** when orders are created synchronously (or idempotent replay), with `orders`, `summary`, and optional `rejectedOrders`.\n- **202** when async processing is enabled (`orderRequestId`, `status: queued`); poll **GET** `/api/v1/business/orders/order-requests/{id}`.\n- **402** when the wallet balance (after holds) is insufficient for the bulk total.\n\n**How to call** — **POST** `{server}/api/v1/business/orders/bulk` with `X-API-Key` and JSON body `{ \"orders\": [ ... ] }` (each item matches **CreateOrderRequest**).\n","parameters":["e779408e-3474-4f2c-8f8e-9de9d6371b2a"],"requestBody":"5ddd41a4-b24f-4607-855c-9a5831127d46","responses":{"201":"5294d605-4b42-4730-b054-36d879149619","202":"59312783-cccb-4e63-b768-c02c92c25253","400":"3ce53fea-311e-4917-9559-5e5395ff70c4","401":"a9ae5bc5-9f00-4f1a-afee-46be59848b65","402":"bdf2ac68-2bf1-4a6a-87fc-7c9aee49da5b","403":"2c8a585f-49ad-40d9-a3ab-06501b2e13a1","429":"e314b885-5801-4caa-8962-982f84196853","500":"969c996a-3cda-4aab-9ee7-e1bbb6763df1"},"method":"post","type":"path","servers":["652919f1-ece8-4515-836e-66e5297f00c9","e0929d81-db8d-4e5d-a366-72d1a47acfe5"],"security":["04627765-201f-4db5-901d-45a374f6f94e"],"path":"/api/v1/business/orders/bulk","baseUrlOptions":["https://api-stage.ugift.me","https://api.ugift.me"],"title":"Bulk Order","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"e779408e-3474-4f2c-8f8e-9de9d6371b2a":{"name":"Idempotency-Key","in":"header","schema":{"type":"string","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["orders"],"properties":{"orders":{"type":"array","items":{"type":"object","required":["productCode","merchant","currency","valuePurchased"],"properties":{"productCode":{"type":"string","isRequired":true,"uniqueKey":"orders.items.[INDEX].productCode","typeLabel":"string"},"merchant":{"type":"string","isRequired":true,"uniqueKey":"orders.items.[INDEX].merchant","typeLabel":"string"},"currency":{"type":"string","example":"GBP","isRequired":true,"uniqueKey":"orders.items.[INDEX].currency","typeLabel":"string"},"valuePurchased":{"type":"number","isRequired":true,"uniqueKey":"orders.items.[INDEX].valuePurchased","typeLabel":"number"},"recipientEmail":{"type":"string","format":"email","uniqueKey":"orders.items.[INDEX].recipientEmail","typeLabel":"string\u003cemail>"},"recipientName":{"type":"string","uniqueKey":"orders.items.[INDEX].recipientName","typeLabel":"string"},"giftMessage":{"type":"string","uniqueKey":"orders.items.[INDEX].giftMessage","typeLabel":"string"}},"uniqueKey":"orders.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"orders","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"orders":[{"productCode":"\u003cstring>","merchant":"\u003cstring>","currency":"GBP","valuePurchased":123,"recipientEmail":"jsmith@example.com","recipientName":"\u003cstring>","giftMessage":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"5294d605-4b42-4730-b054-36d879149619":{"description":"Bulk orders created (sync path or idempotent replay)","content":{"application/json":{"schema":{"type":"object","required":["success","orders","summary"],"properties":{"success":{"type":"boolean","example":true,"isRequired":true,"uniqueKey":"success","typeLabel":"boolean"},"orders":{"type":"array","items":{"type":"object","description":"Account-facing order shape. List/search responses include `imageUrl` from `withImageUrl`; synchronous **201** creates may include populated `product` instead of `imageUrl`.\n","properties":{"_id":{"type":"string","example":"65b0d1e2f3a4b56789012345","uniqueKey":"orders.items.[INDEX]._id","typeLabel":"string"},"productCode":{"type":"string","example":"AMAZON_UK_STD","uniqueKey":"orders.items.[INDEX].productCode","typeLabel":"string"},"product":{"type":"object","description":"Populated `product` on synchronous **201** order responses.","properties":{"imageUrl":{"type":"string","example":"https://cdn.ugift.me/products/amazon-uk-card.png","uniqueKey":"orders.items.[INDEX].product.imageUrl","typeLabel":"string"},"merchant":{"type":"string","example":"Amazon UK","uniqueKey":"orders.items.[INDEX].product.merchant","typeLabel":"string"},"productCode":{"type":"string","example":"AMAZON_UK_STD","uniqueKey":"orders.items.[INDEX].product.productCode","typeLabel":"string"}},"example":{"imageUrl":"https://cdn.ugift.me/products/amazon-uk-card.png","merchant":"Amazon UK","productCode":"AMAZON_UK_STD"},"uniqueKey":"orders.items.[INDEX].product","typeLabel":"object"},"merchant":{"type":"object","additionalProperties":true,"uniqueKey":"orders.items.[INDEX].merchant","typeLabel":"object"},"currency":{"type":"string","example":"GBP","uniqueKey":"orders.items.[INDEX].currency","typeLabel":"string"},"valuePurchased":{"type":"number","example":50,"uniqueKey":"orders.items.[INDEX].valuePurchased","typeLabel":"number"},"status":{"type":"string","example":"active","uniqueKey":"orders.items.[INDEX].status","typeLabel":"string"},"isPaid":{"type":"boolean","example":true,"uniqueKey":"orders.items.[INDEX].isPaid","typeLabel":"boolean"},"isActive":{"type":"boolean","example":true,"uniqueKey":"orders.items.[INDEX].isActive","typeLabel":"boolean"},"isActivated":{"type":"boolean","example":false,"uniqueKey":"orders.items.[INDEX].isActivated","typeLabel":"boolean"},"usageLimit":{"type":"number","example":1,"uniqueKey":"orders.items.[INDEX].usageLimit","typeLabel":"number"},"giftOrder":{"type":"object","additionalProperties":true,"uniqueKey":"orders.items.[INDEX].giftOrder","typeLabel":"object"},"transactionId":{"type":"string","example":"txn_01HZZ9K2M4P8Q6R7S8T9V0W1X","uniqueKey":"orders.items.[INDEX].transactionId","typeLabel":"string"},"createdAt":{"type":"string","format":"date-time","example":"2025-04-12T14:22:10.000Z","uniqueKey":"orders.items.[INDEX].createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","example":"2025-04-12T14:22:11.000Z","uniqueKey":"orders.items.[INDEX].updatedAt","typeLabel":"string\u003cdate-time>"},"imageUrl":{"type":"string","example":"https://cdn.ugift.me/products/amazon-uk-card.png","uniqueKey":"orders.items.[INDEX].imageUrl","typeLabel":"string"},"previousUserId":{"type":"string","description":"Present on some gift/recipient flows.","uniqueKey":"orders.items.[INDEX].previousUserId","typeLabel":"string"}},"example":{"_id":"65b0d1e2f3a4b56789012345","productCode":"AMAZON_UK_STD","merchant":{"name":"Amazon UK","distributionMethod":"EMAIL","voucherCode":"XXXX-XXXX-XXXX-XXXX","redemptionUrl":"https://www.amazon.co.uk/gc/redeem"},"currency":"GBP","valuePurchased":50,"status":"active","isPaid":true,"isActive":true,"usageLimit":1,"giftOrder":{"message":"Thanks for being a great customer!","recipientEmail":"alex@example.com","recipientName":"Alex"},"transactionId":"txn_01HZZ9K2M4P8Q6R7S8T9V0W1X","createdAt":"2025-04-12T14:22:10.000Z","updatedAt":"2025-04-12T14:22:11.000Z","imageUrl":"https://cdn.ugift.me/products/amazon-uk-card.png"},"uniqueKey":"orders.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"orders","typeLabel":"object[]"},"summary":{"type":"object","required":["totalOrders","totalValue","currency","remainingBalance"],"properties":{"totalOrders":{"type":"integer","example":2,"isRequired":true,"uniqueKey":"summary.totalOrders","typeLabel":"integer"},"totalValue":{"type":"number","example":75,"isRequired":true,"uniqueKey":"summary.totalValue","typeLabel":"number"},"currency":{"type":"string","example":"GBP","isRequired":true,"uniqueKey":"summary.currency","typeLabel":"string"},"remainingBalance":{"type":"number","example":1925.5,"isRequired":true,"uniqueKey":"summary.remainingBalance","typeLabel":"number"}},"isRequired":true,"uniqueKey":"summary","typeLabel":"object"},"rejectedOrders":{"type":"array","items":{"type":"object","required":["productCode","reason"],"properties":{"productCode":{"type":"string","isRequired":true,"uniqueKey":"rejectedOrders.items.[INDEX].productCode","typeLabel":"string"},"reason":{"type":"string","isRequired":true,"uniqueKey":"rejectedOrders.items.[INDEX].reason","typeLabel":"string"}},"uniqueKey":"rejectedOrders.items.[INDEX]","typeLabel":"object"},"uniqueKey":"rejectedOrders","typeLabel":"object[]"}},"example":{"success":true,"orders":[{"_id":"65b0d1e2f3a4b56789012345","productCode":"AMAZON_UK_STD","merchant":{"name":"Amazon UK"},"currency":"GBP","valuePurchased":25,"status":"active","imageUrl":"https://cdn.ugift.me/products/amazon-uk-card.png"},{"_id":"65b0d1e2f3a4b56789012346","productCode":"JL_UK_STD","merchant":{"name":"John Lewis"},"currency":"GBP","valuePurchased":50,"status":"active","imageUrl":"https://cdn.ugift.me/products/johnlewis-card.png"}],"summary":{"totalOrders":2,"totalValue":75,"currency":"GBP","remainingBalance":1925.5},"rejectedOrders":[{"productCode":"UNKNOWN_CODE","reason":"Product not found"}]},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":true,"orders":[{"_id":"65b0d1e2f3a4b56789012345","productCode":"AMAZON_UK_STD","merchant":{"name":"Amazon UK"},"currency":"GBP","valuePurchased":25,"status":"active","imageUrl":"https://cdn.ugift.me/products/amazon-uk-card.png"},{"_id":"65b0d1e2f3a4b56789012346","productCode":"JL_UK_STD","merchant":{"name":"John Lewis"},"currency":"GBP","valuePurchased":50,"status":"active","imageUrl":"https://cdn.ugift.me/products/johnlewis-card.png"}],"summary":{"totalOrders":2,"totalValue":75,"currency":"GBP","remainingBalance":1925.5},"rejectedOrders":[{"productCode":"UNKNOWN_CODE","reason":"Product not found"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"59312783-cccb-4e63-b768-c02c92c25253":{"description":"Queued (async)","content":{"application/json":{"schema":{"type":"object","required":["orderRequestId","status"],"properties":{"orderRequestId":{"type":"string","example":"65e4f5b6c7d8e90123456789","isRequired":true,"uniqueKey":"orderRequestId","typeLabel":"string"},"status":{"type":"string","example":"queued","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"message":{"type":"string","example":"Order queued for processing","uniqueKey":"message","typeLabel":"string"}},"example":{"orderRequestId":"65e4f5b6c7d8e90123456789","status":"queued","message":"Order queued for processing"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"orderRequestId":"65e4f5b6c7d8e90123456789","status":"queued","message":"Order queued for processing"}}},"exampleType":"generated"}},"exampleType":"generated"},"3ce53fea-311e-4917-9559-5e5395ff70c4":{"description":"Validation error — required fields missing, invalid format, or business rule failure.\nAlways includes `error`; many responses also include `message` and endpoint-specific fields.\n","content":{"application/json":{"schema":{"oneOf":[{"type":"object","description":"Client or validation failure. Always includes `error`; optional `message` and endpoint-specific fields.\n","required":["error"],"example":{"error":"Some required fields are missing","message":"All fields are required: productCode, merchant, currency, valuePurchased"},"properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"string"},"message":{"type":"string","description":"Additional detail about the failure","uniqueKey":"oneOf.0.message","typeLabel":"string"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Client or validation failure. Always includes `error`; optional `message` and endpoint-specific fields.\n","required":["error"],"example":{"error":"Invalid event types","message":"events must be a non-empty array","validEvents":["order.queued","order.processing","order.succeeded","order.failed","product.updated","wallet.updated"]},"properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.error","typeLabel":"string"},"message":{"type":"string","uniqueKey":"oneOf.1.message","typeLabel":"string"},"validEvents":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.validEvents.items.[INDEX]","typeLabel":"string"},"uniqueKey":"oneOf.1.validEvents","typeLabel":"string[]"}},"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"orderMissingFields":{"title":"orderMissingFields","value":{"error":"Some required fields are missing","message":"All fields are required: productCode, merchant, currency, valuePurchased"}},"orderIdempotencyConflict":{"title":"orderIdempotencyConflict","value":{"error":"Some required fields are missing","message":"Idempotency-Key reuse with different payload is not allowed"}},"orderCurrencyMismatch":{"title":"orderCurrencyMismatch","value":{"error":"Product currency does not match original order currency","message":"Order currency (USD) does not match product currency (GBP)"}},"webhookInvalidUrl":{"title":"webhookInvalidUrl","value":{"error":"Invalid webhook URL"}},"webhookInvalidEvents":{"title":"webhookInvalidEvents","value":{"error":"Invalid event types","message":"events must be a non-empty array","validEvents":["order.queued","order.processing","order.succeeded","order.failed","product.updated","wallet.updated"]}},"walletInvalidCurrency":{"title":"walletInvalidCurrency","value":{"error":"Some required fields are missing","message":"Currency must be one of: GBP, USD, EUR, NGN"}}},"exampleType":"examples"}},"exampleType":"examples"},"a9ae5bc5-9f00-4f1a-afee-46be59848b65":{"description":"Authentication failed — missing, invalid, or (for some routes) unresolvable API key context.\n","content":{"application/json":{"schema":{"oneOf":[{"type":"object","description":"Missing or invalid `X-API-Key`.","required":["error"],"properties":{"error":{"type":"string","example":"Missing API key","isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"string"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Missing or invalid `X-API-Key`.","required":["error"],"properties":{"error":{"type":"string","example":"Invalid API key","isRequired":true,"uniqueKey":"oneOf.1.error","typeLabel":"string"},"reason":{"type":"string","description":"Why the key failed validation (when available)","example":"Key has been revoked","uniqueKey":"oneOf.1.reason","typeLabel":"string"}},"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"missingApiKey":{"title":"missingApiKey","value":{"error":"Missing API key"}},"invalidApiKey":{"title":"invalidApiKey","value":{"error":"Invalid API key","reason":"Key has been revoked"}}},"exampleType":"examples"}},"exampleType":"examples"},"bdf2ac68-2bf1-4a6a-87fc-7c9aee49da5b":{"description":"Insufficient wallet balance for the bulk total","content":{"application/json":{"schema":{"type":"object","required":["error","required","available","currency"],"properties":{"error":{"type":"string","example":"Insufficient funds","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"required":{"type":"number","description":"Amount required (single order or bulk total).","example":100,"isRequired":true,"uniqueKey":"required","typeLabel":"number"},"available":{"type":"number","description":"Spendable balance after active wallet holds.","example":42.5,"isRequired":true,"uniqueKey":"available","typeLabel":"number"},"currency":{"type":"string","example":"GBP","isRequired":true,"uniqueKey":"currency","typeLabel":"string"}},"example":{"error":"Insufficient funds","required":100,"available":42.5,"currency":"GBP"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Insufficient funds","required":100,"available":42.5,"currency":"GBP"}}},"exampleType":"generated"}},"exampleType":"generated"},"2c8a585f-49ad-40d9-a3ab-06501b2e13a1":{"description":"Access denied (HTTP 403). Common causes: caller IP not on the key allow list, business profile incomplete\nor unverified on GET /auth, or the authenticated account cannot access the resource\n(e.g. another account's webhook).\n","content":{"application/json":{"schema":{"type":"object","description":"Access denied — IP not on the key allow list, incomplete/unverified business profile on GET /auth,\nor insufficient permission to the resource (e.g. webhook owned by another account).\n","required":["error"],"properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"ip":{"type":"string","description":"Caller IP when blocked by the key allow list","uniqueKey":"ip","typeLabel":"string"},"whitelistedIps":{"type":"array","items":{"type":"string","uniqueKey":"whitelistedIps.items.[INDEX]","typeLabel":"string"},"uniqueKey":"whitelistedIps","typeLabel":"string[]"},"status":{"type":"string","description":"Business verification or profile status (`GET /auth`)","uniqueKey":"status","typeLabel":"string"},"missingFields":{"type":"array","items":{"type":"string","uniqueKey":"missingFields.items.[INDEX]","typeLabel":"string"},"uniqueKey":"missingFields","typeLabel":"string[]"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"}},"additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"example":{"error":"IP not whitelisted","ip":"203.0.113.10","whitelistedIps":["198.51.100.0/24"]},"examples":{"ipNotWhitelisted":{"title":"ipNotWhitelisted","value":{"error":"IP not whitelisted","ip":"203.0.113.10","whitelistedIps":["198.51.100.0/24"]}},"incompleteBusinessProfile":{"title":"incompleteBusinessProfile","value":{"error":"Incomplete business profile","status":"incomplete","missingFields":["businessPhoneNumber","registrationNumber"]}},"businessNotVerified":{"title":"businessNotVerified","value":{"error":"Business verification pending","status":"pending","message":"Complete business verification process"}},"webhookAccessDenied":{"title":"webhookAccessDenied","value":{"error":"You are forbidden from accessing this resource"}}},"exampleType":"examples"}},"exampleType":"examples"},"e314b885-5801-4caa-8962-982f84196853":{"description":"Rate limit exceeded for the route's limiter. Response body is `{ \"error\": \"\u003cmessage>\" }`.\nStandard rate-limit headers are included when the limiter supports them.\n","headers":{"retry-after":{"description":"Seconds to wait before retrying","schema":{"type":"integer","example":60}},"RateLimit-Limit":{"description":"Maximum requests allowed in the window","schema":{"type":"integer","example":100}},"RateLimit-Remaining":{"description":"Remaining requests in the current window","schema":{"type":"integer","example":0}},"RateLimit-Reset":{"description":"Unix timestamp when the window resets","schema":{"type":"integer","example":1713187200}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Rate-limit message depends on the route limiter (products, webhooks, wallet, etc.).\n","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"example":{"error":"Too many product access attempts, please try again later."},"uniqueKey":"","typeLabel":"object"},"examples":{"productCatalog":{"title":"productCatalog","value":{"error":"Too many product access attempts, please try again later."}},"webhooks":{"title":"webhooks","value":{"error":"Too many webhook configuration attempts, please try again later."}},"wallet":{"title":"wallet","value":{"error":"Too many sensitive operations, please try again later."}}},"exampleType":"examples"}},"exampleType":"examples"},"969c996a-3cda-4aab-9ee7-e1bbb6763df1":{"description":"Unexpected server error. Usually `{ \"error\": \"An error occurred\" }` from the business router,\nor a route-specific failure message with optional `message` / `details`.\n","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Route-specific failure summary","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Additional detail (common on webhook and wallet routes)","uniqueKey":"message","typeLabel":"string"},"details":{"type":"string","description":"Additional detail (used on some product catalog routes)","uniqueKey":"details","typeLabel":"string"}},"example":{"error":"An error occurred","message":"Optional server detail"},"uniqueKey":"","typeLabel":"object"},"examples":{"generic":{"title":"generic","value":{"error":"An error occurred","message":"An error occurred"}},"products":{"title":"products","value":{"error":"Failed to fetch one or more products","message":"Connection timeout"}},"productFilters":{"title":"productFilters","value":{"error":"Failed to fetch filters","details":"Connection timeout"}},"webhooks":{"title":"webhooks","value":{"error":"Failed to register webhook","message":"Database error"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"04627765-201f-4db5-901d-45a374f6f94e":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Your UGiftMe API key for authentication.\n\n**Format**: Secure API key (e.g., `\u003cyour-api-key>`)\n\n**Required**: All endpoints require this header\n\nExample: `X-API-Key: \u003cyour-api-key>`\n","scopes":[]}}},"servers":{"652919f1-ece8-4515-836e-66e5297f00c9":{"url":"https://api-stage.ugift.me","description":"Sandbox"},"e0929d81-db8d-4e5d-a366-72d1a47acfe5":{"url":"https://api.ugift.me","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Your UGiftMe API key for authentication.\n\n**Format**: Secure API key (e.g., `\u003cyour-api-key>`)\n\n**Required**: All endpoints require this header\n\nExample: `X-API-Key: \u003cyour-api-key>`\n","scopes":[]},"schema":{"title":"X-API-Key","type":"string","description":"Your UGiftMe API key for authentication.\n\n**Format**: Secure API key (e.g., `\u003cyour-api-key>`)\n\n**Required**: All endpoints require this header\n\nExample: `X-API-Key: \u003cyour-api-key>`\n","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"X-API-Key"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"openapi-business.yaml"},"subdomain":"ugiftme-c0b4beea","siteName":"UGiftMe Multi-Platform Integration Hub API","title":"Bulk Order - UGiftMe Multi-Platform Integration Hub API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-05-24T00:20:27.020Z","originalFileLocation":"api-reference/orders-\u0026-dispatch/bulk-order.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Creates multiple orders in one request. Optional Idempotency-Key applies to the bulk operation. Responses - 201 when orders are created synchronously (or idempotent replay), with orders, summary, and optional rejectedOrders. - 202 when async processing is enabled (orderRequestId, status: queued); poll GET /api/v1/business/orders/order-requests/{id}. - 402 when the wallet balance (after holds) is insufficient for the bulk total. How to call — POST {server}/api/v1/business/orders/bulk with X-API-Key and JSON body { \u0026quot;orders\u0026quot;: [ ... ] } (each item matches CreateOrderRequest).\">\u003cmeta data-mint-head name=\"application-name\" content=\"UGiftMe Multi-Platform Integration Hub API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/ugiftme-c0b4beea/QmyuTlHWbXqKjnjo/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/ugiftme-c0b4beea/QmyuTlHWbXqKjnjo/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/ugiftme-c0b4beea/QmyuTlHWbXqKjnjo/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/ugiftme-c0b4beea/QmyuTlHWbXqKjnjo/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/ugiftme-c0b4beea/QmyuTlHWbXqKjnjo/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/ugiftme-c0b4beea/QmyuTlHWbXqKjnjo/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/ugiftme-c0b4beea/QmyuTlHWbXqKjnjo/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/ugiftme-c0b4beea/QmyuTlHWbXqKjnjo/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/ugiftme-c0b4beea/QmyuTlHWbXqKjnjo/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Bulk Order - UGiftMe Multi-Platform Integration Hub API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates multiple orders in one request. Optional Idempotency-Key applies to the bulk operation. Responses - 201 when orders are created synchronously (or idempotent replay), with orders, summary, and optional rejectedOrders. - 202 when async processing is enabled (orderRequestId, status: queued); poll GET /api/v1/business/orders/order-requests/{id}. - 402 when the wallet balance (after holds) is insufficient for the bulk total. How to call — POST {server}/api/v1/business/orders/bulk with X-API-Key and JSON body { \u0026quot;orders\u0026quot;: [ ... ] } (each item matches CreateOrderRequest).\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"UGiftMe Multi-Platform Integration Hub API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.ugift.me/api-reference/orders-\u0026amp;-dispatch/bulk-order\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://ugiftme-c0b4beea.mintlify.app/_mintlify/api/og/v2?division=Orders+%26+Dispatch\u0026amp;title=Bulk+Order\u0026amp;description=Creates+multiple+orders+in+one+request.+Optional+%60Idempotency-Key%60+applies+to+the+bulk+operation.%0A%0A**Responses**%0A-+**201**+when+orders+are+created+synchronously\u0026amp;theme=553f64741f4e6ad060709561\u0026amp;signature=6591b8af2129270b5f5f04d28a00b892393955cce5f081600fbc2c14b6938da8\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Bulk Order - UGiftMe Multi-Platform Integration Hub API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates multiple orders in one request. Optional Idempotency-Key applies to the bulk operation. Responses - 201 when orders are created synchronously (or idempotent replay), with orders, summary, and optional rejectedOrders. - 202 when async processing is enabled (orderRequestId, status: queued); poll GET /api/v1/business/orders/order-requests/{id}. - 402 when the wallet balance (after holds) is insufficient for the bulk total. How to call — POST {server}/api/v1/business/orders/bulk with X-API-Key and JSON body { \u0026quot;orders\u0026quot;: [ ... ] } (each item matches CreateOrderRequest).\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://ugiftme-c0b4beea.mintlify.app/_mintlify/api/og/v2?division=Orders+%26+Dispatch\u0026amp;title=Bulk+Order\u0026amp;description=Creates+multiple+orders+in+one+request.+Optional+%60Idempotency-Key%60+applies+to+the+bulk+operation.%0A%0A**Responses**%0A-+**201**+when+orders+are+created+synchronously\u0026amp;theme=553f64741f4e6ad060709561\u0026amp;signature=6591b8af2129270b5f5f04d28a00b892393955cce5f081600fbc2c14b6938da8\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/ugiftme-c0b4beea/QmyuTlHWbXqKjnjo/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"UGiftMe Multi-Platform Integration Hub API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#F97316\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.ugift.me/api-reference/orders-\u0026amp;-dispatch/bulk-order\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/orders-%26-dispatch/bulk-order.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.ugift.me/#organization\",\"name\":\"UGiftMe Multi-Platform Integration Hub API\",\"url\":\"https://docs.ugift.me\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/ugiftme-c0b4beea/2tCyDZ0Ixofjq9xJ/logo/ugm-logo.png?fit=max\u0026auto=format\u0026n=2tCyDZ0Ixofjq9xJ\u0026q=85\u0026s=f2d2882b102f0e0c5c64c0d32e6e2ec9\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.ugift.me#website\",\"name\":\"UGiftMe Multi-Platform Integration Hub API\",\"url\":\"https://docs.ugift.me\",\"publisher\":{\"@id\":\"https://docs.ugift.me/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.ugift.me/api-reference/orders-\u0026-dispatch/bulk-order#webpage\",\"url\":\"https://docs.ugift.me/api-reference/orders-\u0026-dispatch/bulk-order\",\"name\":\"Bulk Order\",\"description\":\"Creates multiple orders in one request. Optional Idempotency-Key applies to the bulk operation. Responses - 201 when orders are created synchronously (or idempotent replay), with orders, summary, and optional rejectedOrders. - 202 when async processing is enabled (orderRequestId, status: queued); poll GET /api/v1/business/orders/order-requests/{id}. - 402 when the wallet balance (after holds) is insufficient for the bulk total. How to call — POST {server}/api/v1/business/orders/bulk with X-API-Key and JSON body { \\\"orders\\\": [ ... ] } (each item matches CreateOrderRequest).\",\"dateModified\":\"2026-05-24T00:20:27.020Z\",\"isPartOf\":{\"@id\":\"https://docs.ugift.me#website\"},\"breadcrumb\":{\"@id\":\"https://docs.ugift.me/api-reference/orders-\u0026-dispatch/bulk-order#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.ugift.me/api-reference/orders-\u0026-dispatch/bulk-order#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Orders \u0026 Dispatch\",\"item\":\"https://docs.ugift.me/api-reference/orders-\u0026-dispatch/create-new-order\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bulk Order\",\"item\":\"https://docs.ugift.me/api-reference/orders-\u0026-dispatch/bulk-order\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.ugift.me/api-reference/orders-\u0026-dispatch/bulk-order#apireference\",\"headline\":\"Bulk Order\",\"name\":\"Bulk Order\",\"description\":\"Creates multiple orders in one request. Optional Idempotency-Key applies to the bulk operation. Responses - 201 when orders are created synchronously (or idempotent replay), with orders, summary, and optional rejectedOrders. - 202 when async processing is enabled (orderRequestId, status: queued); poll GET /api/v1/business/orders/order-requests/{id}. - 402 when the wallet balance (after holds) is insufficient for the bulk total. How to call — POST {server}/api/v1/business/orders/bulk with X-API-Key and JSON body { \\\"orders\\\": [ ... ] } (each item matches CreateOrderRequest).\",\"url\":\"https://docs.ugift.me/api-reference/orders-\u0026-dispatch/bulk-order\",\"mainEntityOfPage\":{\"@id\":\"https://docs.ugift.me/api-reference/orders-\u0026-dispatch/bulk-order#webpage\"},\"dateModified\":\"2026-05-24T00:20:27.020Z\",\"publisher\":{\"@id\":\"https://docs.ugift.me/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.ugift.me#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"UGiftMe Multi-Platform Integration Hub API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"UGiftMe Multi-Platform Integration Hub API","nav":{"global":null,"tabs":[{"tab":"API Overview","pages":[{"title":"API Overview","href":"/docs/api-overview"}]},{"tab":"API Guide","pages":[{"title":"API Guide","href":"/docs/business-api"}]},{"tab":"API Reference","groups":[{"group":"Authentication","pages":[{"title":"Verify Credentials","deprecated":null,"version":null,"openapi":"/openapi-business.yaml get /api/v1/business/auth","href":"/api-reference/authentication/verify-credentials"}]},{"group":"Product Catalog","pages":[{"title":"Browse Catalog","deprecated":null,"version":null,"openapi":"/openapi-business.yaml get /api/v1/business/products","href":"/api-reference/product-catalog/browse-catalog"},{"title":"Catalog Filters","deprecated":null,"version":null,"openapi":"/openapi-business.yaml get /api/v1/business/products/filters","href":"/api-reference/product-catalog/catalog-filters"},{"title":"Search Products","deprecated":null,"version":null,"openapi":"/openapi-business.yaml get /api/v1/business/products/search","href":"/api-reference/product-catalog/search-products"}]},{"group":"Orders \u0026 Dispatch","pages":[{"title":"Create New Order","description":"Creates a single gift-card order against your integration wallet.\n\n**How to call**\n- Method: **POST**\n- URL: `{server}/api/v1/business/orders`\n- Headers: `X-API-Key`, optional `Idempotency-Key` (recommended for retries).\n- Body: JSON matching **CreateOrderRequest** (`productCode`, `merchant`, `currency`, `valuePurchased`, optional recipient fields).\n\n**Responses**\n- **201** when the order is created synchronously (or idempotent replay).\n- **202** when async processing is enabled (`orderRequestId`, `status: queued`); poll **GET** `/api/v1/business/orders/order-requests/{id}`.\n- **402** when the wallet balance (after holds) is insufficient.\n","deprecated":null,"version":null,"openapi":"/openapi-business.yaml post /api/v1/business/orders","href":"/api-reference/orders-\u0026-dispatch/create-new-order"},{"title":"Bulk Order","deprecated":null,"version":null,"openapi":"/openapi-business.yaml post /api/v1/business/orders/bulk","href":"/api-reference/orders-\u0026-dispatch/bulk-order"},{"title":"Order History","description":"Lists orders associated with your account (paginated).\n\n**How to call** — **GET** `{server}/api/v1/business/orders` with `X-API-Key` and optional `page`, `limit`, `sortBy`, `order`.\n","deprecated":null,"version":null,"openapi":"/openapi-business.yaml get /api/v1/business/orders","href":"/api-reference/orders-\u0026-dispatch/order-history"},{"title":"Order Details","deprecated":null,"version":null,"openapi":"/openapi-business.yaml get /api/v1/business/orders/{orderId}","href":"/api-reference/orders-\u0026-dispatch/order-details"},{"title":"Queue Status","deprecated":null,"version":null,"openapi":"/openapi-business.yaml get /api/v1/business/orders/order-requests/{id}","href":"/api-reference/orders-\u0026-dispatch/queue-status"},{"title":"Advanced Search","deprecated":null,"version":null,"openapi":"/openapi-business.yaml get /api/v1/business/orders/search","href":"/api-reference/orders-\u0026-dispatch/advanced-search"}]},{"group":"Financials","pages":[{"title":"Wallet","deprecated":null,"version":null,"openapi":"/openapi-business.yaml get /api/v1/business/wallet","href":"/api-reference/financials/wallet"},{"title":"View Balances","deprecated":null,"version":null,"openapi":"/openapi-business.yaml get /api/v1/business/wallet/balance","href":"/api-reference/financials/view-balances"},{"title":"Transaction Ledger","deprecated":null,"version":null,"openapi":"/openapi-business.yaml get /api/v1/business/wallet/transactions","href":"/api-reference/financials/transaction-ledger"}]},{"group":"Webhooks","pages":[{"title":"Create Webhook","deprecated":null,"version":null,"openapi":"/openapi-business.yaml post /api/v1/business/webhooks","href":"/api-reference/webhooks/create-webhook"},{"title":"Update Webhook","deprecated":null,"version":null,"openapi":"/openapi-business.yaml patch /api/v1/business/webhooks/{id}","href":"/api-reference/webhooks/update-webhook"},{"title":"Active Subscriptions","deprecated":null,"version":null,"openapi":"/openapi-business.yaml get /api/v1/business/webhooks","href":"/api-reference/webhooks/active-subscriptions"},{"title":"Remove Webhook","deprecated":null,"version":null,"openapi":"/openapi-business.yaml delete /api/v1/business/webhooks/{id}","href":"/api-reference/webhooks/remove-webhook"},{"title":"Test delivery sample","deprecated":null,"version":null,"openapi":"/openapi-business.yaml get /api/v1/business/webhooks/test-sample","href":"/api-reference/webhooks/test-delivery-sample"},{"title":"Send test delivery","deprecated":null,"version":null,"openapi":"/openapi-business.yaml post /api/v1/business/webhooks/test","href":"/api-reference/webhooks/send-test-delivery"}]},{"group":"Outbound webhook events","pages":[{"title":"OrderQueued","href":"/orderQueued"},{"title":"OrderProcessing","href":"/orderProcessing"},{"title":"OrderSucceeded","href":"/orderSucceeded"},{"title":"OrderFailed","href":"/orderFailed"},{"title":"WalletUpdated","href":"/walletUpdated"},{"title":"ProductUpdated","href":"/productUpdated"},{"title":"WebhookTest","href":"/webhookTest"},{"group":"Authentication","pages":[{"title":"Verify Credentials","deprecated":null,"version":null,"openapi":"/openapi-business.yaml get /api/v1/business/auth","href":"/api-reference/authentication/verify-credentials"}]},{"group":"Product Catalog","pages":[{"title":"Browse Catalog","deprecated":null,"version":null,"openapi":"/openapi-business.yaml get /api/v1/business/products","href":"/api-reference/product-catalog/browse-catalog"},{"title":"Catalog Filters","deprecated":null,"version":null,"openapi":"/openapi-business.yaml get /api/v1/business/products/filters","href":"/api-reference/product-catalog/catalog-filters"},{"title":"Search Products","deprecated":null,"version":null,"openapi":"/openapi-business.yaml get /api/v1/business/products/search","href":"/api-reference/product-catalog/search-products"}]},{"group":"Orders \u0026 Dispatch","pages":[{"title":"Order History","deprecated":null,"version":null,"openapi":"/openapi-business.yaml get /api/v1/business/orders","href":"/api-reference/orders-\u0026-dispatch/order-history"},{"title":"Create New Order","deprecated":null,"version":null,"openapi":"/openapi-business.yaml post /api/v1/business/orders","href":"/api-reference/orders-\u0026-dispatch/create-new-order"},{"title":"Advanced Search","description":"Filter orders by merchant, status, dates, and flags.\n\n**How to call** — **GET** `{server}/api/v1/business/orders/search` with `X-API-Key` and optional filters.\n","deprecated":null,"version":null,"openapi":"/openapi-business.yaml get /api/v1/business/orders/search","href":"/api-reference/orders-\u0026-dispatch/advanced-search"},{"title":"Bulk Order","deprecated":null,"version":null,"openapi":"/openapi-business.yaml post /api/v1/business/orders/bulk","href":"/api-reference/orders-\u0026-dispatch/bulk-order"},{"title":"Queue Status","description":"Poll the status of an **async** order after **202** from `POST /orders` or bulk.\n\n**How to call** — **GET** `{server}/api/v1/business/orders/order-requests/{id}` with `X-API-Key`.\n","deprecated":null,"version":null,"openapi":"/openapi-business.yaml get /api/v1/business/orders/order-requests/{id}","href":"/api-reference/orders-\u0026-dispatch/queue-status"},{"title":"Order Details","deprecated":null,"version":null,"openapi":"/openapi-business.yaml get /api/v1/business/orders/{orderId}","href":"/api-reference/orders-\u0026-dispatch/order-details"}]},{"group":"Financials","pages":[{"title":"Wallet","deprecated":null,"version":null,"openapi":"/openapi-business.yaml get /api/v1/business/wallet","href":"/api-reference/financials/wallet"},{"title":"View Balances","deprecated":null,"version":null,"openapi":"/openapi-business.yaml get /api/v1/business/wallet/balance","href":"/api-reference/financials/view-balances"},{"title":"Transaction Ledger","deprecated":null,"version":null,"openapi":"/openapi-business.yaml get /api/v1/business/wallet/transactions","href":"/api-reference/financials/transaction-ledger"}]},{"group":"Webhooks","pages":[{"title":"Active Subscriptions","deprecated":null,"version":null,"openapi":"/openapi-business.yaml get /api/v1/business/webhooks","href":"/api-reference/webhooks/active-subscriptions"},{"title":"Create Webhook","deprecated":null,"version":null,"openapi":"/openapi-business.yaml post /api/v1/business/webhooks","href":"/api-reference/webhooks/create-webhook"},{"title":"Remove Webhook","deprecated":null,"version":null,"openapi":"/openapi-business.yaml delete /api/v1/business/webhooks/{id}","href":"/api-reference/webhooks/remove-webhook"},{"title":"Update Webhook","deprecated":null,"version":null,"openapi":"/openapi-business.yaml patch /api/v1/business/webhooks/{id}","href":"/api-reference/webhooks/update-webhook"},{"title":"Test delivery sample","deprecated":null,"version":null,"openapi":"/openapi-business.yaml get /api/v1/business/webhooks/test-sample","href":"/api-reference/webhooks/test-delivery-sample"},{"title":"Send test delivery","deprecated":null,"version":null,"openapi":"/openapi-business.yaml post /api/v1/business/webhooks/test","href":"/api-reference/webhooks/send-test-delivery"}]},{"group":"Outbound Webhooks","pages":[{"title":"Orderqueued","version":null,"deprecated":null,"openapi":"/openapi-business.yaml webhook orderQueued","href":"/api-reference/outbound-webhooks/orderqueued"},{"title":"Orderprocessing","version":null,"deprecated":null,"openapi":"/openapi-business.yaml webhook orderProcessing","href":"/api-reference/outbound-webhooks/orderprocessing"},{"title":"Ordersucceeded","version":null,"deprecated":null,"openapi":"/openapi-business.yaml webhook orderSucceeded","href":"/api-reference/outbound-webhooks/ordersucceeded"},{"title":"Orderfailed","version":null,"deprecated":null,"openapi":"/openapi-business.yaml webhook orderFailed","href":"/api-reference/outbound-webhooks/orderfailed"},{"title":"Walletupdated","version":null,"deprecated":null,"openapi":"/openapi-business.yaml webhook walletUpdated","href":"/api-reference/outbound-webhooks/walletupdated"},{"title":"Productupdated","version":null,"deprecated":null,"openapi":"/openapi-business.yaml webhook productUpdated","href":"/api-reference/outbound-webhooks/productupdated"},{"title":"Webhooktest","version":null,"deprecated":null,"openapi":"/openapi-business.yaml webhook webhookTest","href":"/api-reference/outbound-webhooks/webhooktest"}]}]}]}]},"basePath":"","title":"Bulk Order - UGiftMe Multi-Platform Integration Hub API","buildId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","deploymentId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-DCDCdBVX.js","utils-ME8dDnLe.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-0e84ACsd.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-wgRBj-ia.js","snippetPresets-C11Sgb-o.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-Bevw23-4.js","ApiExamples-C0lapOpP.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-ZeRQV8fF.js","shallow-BupWh095.js","getApiPlaygroundDisplay-BnYQO2Ss.js","CodeSnippet-RKKOc8c_.js","CodeSnippets-Drf_m8wS.js","getPastedJson-u6QiPzNZ.js","icon-Bb-CBSxO.js","MethodPill-F7l5AI7V.js","DuplicateIcon-IiAXkdSg.js","createIcon-FliI8EBc.js","DynamicMarkdown-B62XqCSI.js","SectionHeading-Dj31pT03.js","axios-vUo_bRtp.js","Markdown-BOgQCTwD.js","clsx-BIWXJmsZ.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DKZWslLH.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-UDqbR6xh.js"]}