Preferred language(s) for translatable content using BCP 47 language tags. Supports quality values (q-factors) for priority ordering. The API negotiates the best available language based on this header, the team's configured language, and available translations. If omitted, the team's default language is used.
Optional client-supplied request identifier. When provided and matching the validation pattern, the value is echoed back in the Request-ID response header. Otherwise the server generates one. Use this to correlate requests between client and server when reporting issues.
Optional, case-sensitive key for one intended action. Scope: team, HTTP method and canonical path. Completed actions are remembered in cache for 24 hours; cache loss, eviction or expiry may allow the action to execute again. Same key and payload reuses the stored outcome without repeating side effects; the resource representation is current. Changed payload: 422 with an Idempotency-Key entry in errors. Concurrent duplicate: 409 with Retry-After and Location when known. Without a key there is no deduplication. Use GET at Location after 202.
Register a callback at batch creation. Omitted events defaults to shipment.booked, shipment.failed, shipment.cancelled, shipment.voided, batch.completed and batch.stopped. Callback configuration is immutable after creation.
Show child attributes
Callbacks
POST
{$request.body#/callback/url}updates
Body
application/json
Option 1
Option 2
Thin event envelope: stable id, event type, occurred_at, team_uuid and resource identifiers in data. Full payloads are not offered in this version. A future full-payload option must be explicitly selected; existing thin subscriptions retain their documented meaning.
Batch progress for one-at-a-time booking. total_count = pending_count + processing_count + completed_count. Post-booking cancellation/printing/tracking do not rewrite booking outcomes. Late booking corrections may adjust outcome counts without reopening a terminal batch.
Show child attributes
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Smart Send","colors":{"primary":"#16A34A","light":"#07C983","dark":"#15803D"},"logo":{"light":"https://mintcdn.com/smartsend/gD6ngks0jD1vt7-p/logo/light.svg?fit=max\u0026auto=format\u0026n=gD6ngks0jD1vt7-p\u0026q=85\u0026s=0497a6140076e33327e53bc8816acd0a","dark":"https://mintcdn.com/smartsend/gD6ngks0jD1vt7-p/logo/dark.svg?fit=max\u0026auto=format\u0026n=gD6ngks0jD1vt7-p\u0026q=85\u0026s=6cba7d8a5a060bc19d62dfbafe721b3f"},"favicon":"https://mintcdn.com/smartsend/CR8KGBMF8mjwYEX7/favicon.svg?fit=max\u0026auto=format\u0026n=CR8KGBMF8mjwYEX7\u0026q=85\u0026s=6f74e0e7460ca009ca020cf9abb8b360","navbar":{"links":[{"href":"https://app.smartsend.io/login","label":"Login"}],"primary":{"type":"button","label":"Register","href":"https://app.smartsend.io/register"}},"footer":{"socials":{"facebook":"https://www.facebook.com/SmartSendio","github":"https://github.com/smartsendio","linkedin":"https://www.linkedin.com/company/3554139"}},"icons":{"library":"fontawesome"},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"variables":{"linkAppBase":"https://app.smartsend.io","linkAppRegister":"https://app.smartsend.io/register","linkAppForgotPassword":"https://app.smartsend.io/forgot-password","linkAppDashboard":"https://app.smartsend.io/dashboard","linkAppShipments":"https://app.smartsend.io/team/shipments","linkAppShipmentsCreate":"https://app.smartsend.io/team/shipments/create","linkAppAddressBook":"https://app.smartsend.io/team/addresses","linkAppAddressBookCreate":"https://app.smartsend.io/team/addresses/create","linkAppBilling":"https://app.smartsend.io/billing","linkAppTeamActivities":"https://app.smartsend.io/team/activities","linkAppTeamsCreate":"https://app.smartsend.io/teams/create","linkAppTeamSettingsGeneral":"https://app.smartsend.io/team/settings/general","linkAppTeamSettingsMembers":"https://app.smartsend.io/team/settings/members","linkAppTeamSettingsPreferences":"https://app.smartsend.io/team/settings/preferences","linkAppTeamSettingsSender":"https://app.smartsend.io/team/settings/sender","linkAppTeamSettingsCustoms":"https://app.smartsend.io/team/settings/customs","linkAppTeamSettingsCarriers":"https://app.smartsend.io/team/settings/carriers","linkAppTeamSettingsPrint":"https://app.smartsend.io/team/settings/printing","linkAppTeamSettingsWebhooks":"https://app.smartsend.io/team/settings/webhooks","linkAppUserSettingsProfile":"https://app.smartsend.io/settings/profile","linkAppUserSettingsPassword":"https://app.smartsend.io/settings/password","linkAppUserSettingsSessions":"https://app.smartsend.io/settings/sessions","linkAppUserSettingsPreferences":"https://app.smartsend.io/settings/preferences","linkAppUserSettingsAppearance":"https://app.smartsend.io/settings/appearance","linkAppUserSettingsApi":"https://app.smartsend.io/settings/api","linkAppApiTokens":"https://app.smartsend.io/api-tokens","linkSmartsendPricing":"https://www.smartsend.io/pricing","linkSmartsendStatus":"https://status.smartsend.io","linkSmartsendStatusJson":"https://status.smartsend.io/json","linkSmartsendMcp":"https://mcp.smartsend.io","linkSmartsendClaudePlugin":"https://github.com/smartsendio/claude-plugin","linkSmartsendSkill":"https://github.com/smartsendio/claude-plugin/blob/main/plugins/smartsend/skills/smartsend/SKILL.md","linkClaudeCode":"https://code.claude.com/docs/en/overview","linkClaudeDesktop":"https://claude.com/download","linkClaudeWeb":"https://claude.ai","linkAgentSkills":"https://www.anthropic.com/news/skills","linkModelContextProtocol":"https://modelcontextprotocol.io","linkAgenticCommerceProtocol":"https://www.agenticcommerce.dev/","linkShopifyCheckout":"https://admin.shopify.com/settings/checkout","linkShopifyCheckoutCustomerInfo":"https://admin.shopify.com/settings/checkout#customer-info","linkShopifyCheckoutAdvancedPreferences":"https://admin.shopify.com/settings/checkout#:rh0:","linkShopifyShipping":"https://admin.shopify.com/settings/shipping","linkShopifyShippingCustomizations":"https://admin.shopify.com/settings/shipping#customization-header","linkShopifyDomains":"https://admin.shopify.com/settings/domains","linkShopifyAccount":"https://admin.shopify.com/settings/account","linkShopifyAppSmartSend":"https://apps.shopify.com/smart-send","linkShopifyAppRetailBarcodeLabels":"https://apps.shopify.com/retail-barcode-labels","linkShopifyDocsAddressCollection":"https://help.shopify.com/en/manual/checkout-settings/address-collection-preferences","linkShopifyDocsBarcodes":"https://help.shopify.com/en/manual/fulfillment/setup/packaging/barcodes","linkShopifyDocsRetailBarcodeLabels":"https://help.shopify.com/en/manual/sell-in-person/hardware/barcode-printer/retail-barcode-labels","linkShopifyDocsCollaboratorAccounts":"https://help.shopify.com/en/manual/your-account/users/security/collaborator-accounts#collaborator-codes","linkShopifyDocsShippingRates":"https://help.shopify.com/en/manual/shipping/setting-up-and-managing-your-shipping/setting-up-shipping-rates#create-flat-shipping-rates","linkShopifyDocsCarrierCalculatedShipping":"https://help.shopify.com/en/manual/fulfillment/setup/shipping-rates/third-party-carrier-calculated-shipping","linkShopifyDocsHsCodes":"https://help.shopify.com/en/manual/international/shipping/hs-codes","linkShopifyDocsHsCodesProducts":"https://help.shopify.com/en/manual/products/details/hs-codes","linkShopifyDocsMarkets":"https://help.shopify.com/en/manual/markets","linkShopifyDocsDutiesImportTaxes":"https://help.shopify.com/en/manual/markets/pricing/duties-and-import-taxes","linkShopifyDocsCollectingVatNumbers":"https://help.shopify.com/en/manual/taxes/eu-taxes/collecting-vat-numbers","linkShopifyDocsShopifyTax":"https://help.shopify.com/en/manual/taxes/shopify-tax","linkShopifyDocsVatInvoices":"https://help.shopify.com/en/manual/taxes/tax-overrides/vat-invoices","linkShopifyDocsEuTaxes":"https://help.shopify.com/en/manual/taxes/eu-taxes","linkShopifyDocsReturns":"https://help.shopify.com/en/manual/orders/refund-cancel-order","linkShopifyDocsChargingDuties":"https://help.shopify.com/en/manual/international/duties-and-import-taxes/charging-duties","linkShopifyChangelogTaxValidation":"https://changelog.shopify.com/posts/tax-number-validation-at-checkout","linkShopifyAgenticStorefronts":"https://www.shopify.com/news/winter-26-edition-agentic-storefronts","linkShopifyMagic":"https://www.shopify.com/magic","linkPostnordWebsite":"https://www.postnord.com/","linkPostnordCustomerPortal":"https://portal.postnord.com/","linkPostnordCompanySettings":"https://portal.postnord.com/manage-company-settings/","linkPostnordSignup":"https://www.postnord.dk/erhverv/sadan-bliver-du-erhvervskunde/","linkGlsWebsite":"https://gls-group.eu/","linkGlsAuthenticate":"https://gls-group.com/authenticate","linkBringWebsite":"https://www.bring.com/","linkMybring":"https://www.mybring.com/","linkBringSignup":"https://www.bring.dk/bliv-kunde","linkDaoWebsite":"https://www.dao.as/","linkDaoSignup":"https://dao.as/erhverv-bliv-kunde-hos-dao/","linkBifrostWebsite":"https://bifrostlogistics.com/","linkBifrostContact":"https://bifrostlogistics.com/kontakta-oss/","linkWooShipmentTracking":"https://woocommerce.com/products/shipment-tracking/?aff=4229","linkWooSubscriptions":"https://woocommerce.com/products/woocommerce-subscriptions/?aff=4229","linkWooSequentialOrderNumbers":"https://woocommerce.com/products/sequential-order-numbers-pro/?aff=4229","linkWooMultilingual":"https://wordpress.org/plugins/woocommerce-multilingual/","linkWooTax":"https://woocommerce.com/products/tax/","linkWooCustomsFees":"https://woocommerce.com/products/customs-fees/","linkWooStripeTax":"https://woocommerce.com/products/stripe-tax/","linkWooIntroductionVideoDa":"https://www.youtube.com/embed/EHz8Fp2tOw8","linkWooIntroductionVideoEn":"https://www.youtube.com/embed/I_UK_uYaM7U","linkWooSmartSendPlugin":"https://wordpress.org/plugins/smart-send-logistics/","linkWpCodeSnippets":"https://wordpress.org/plugins/code-snippets/","linkWpChildThemes":"https://developer.wordpress.org/themes/advanced-topics/child-themes/","linkWooSystemStatusReport":"https://woocommerce.com/document/understanding-the-woocommerce-system-status-report/","linkWooAiProductDiscovery":"https://woocommerce.com/posts/ai-product-discovery/","linkWooProductDescriptions":"https://woocommerce.com/posts/seo-product-descriptions/","linkWooAiMarketing":"https://woocommerce.com/posts/ai-marketing/","linkGoogleCloudConsole":"https://console.cloud.google.com/","linkGoogleMapsGetApiKey":"https://developers.google.com/maps/documentation/javascript/get-api-key","linkGoogleMapsBilling":"https://developers.google.com/maps/documentation/javascript/usage-and-billing","linkGoogleMapsErrors":"https://developers.google.com/maps/documentation/javascript/error-messages","linkViesVatValidation":"https://ec.europa.eu/taxation_customs/vies/","linkOpenLabelMaker":"https://openlabelmaker.com/editor/","linkOpenLabelMakerDymo11354":"https://openlabelmaker.com/labels/dymo-11354/","linkZebraDesigner":"https://www.zebra.com/gb/en/software/printer-software/zebradesigner.html","linkZebraLabelMaterialsVideo":"https://www.youtube.com/embed/aUVzl0g9i6U","linkZebraNucleusConnector":"https://www.zebra.com/us/en/support-downloads/software/printer-software/zebra-nucleus-connector.html","linkZebraNucleusConnectorAndroid":"https://play.google.com/store/apps/details?id=com.zebra.atssetuputility","linkZebraNucleusConnectorIos":"https://apps.apple.com/us/app/zebra-nucleus-connector/id6733730721","linkZebraNucleusConnectorDocs":"https://docs.zebra.com/us/en/printers/software/znc-android/","linkZebraPrintQualityAssistant":"https://docs.zebra.com/us/en/printers/software/znc-android/c-xpsu-print-quality/t-xpsu-working-with-the-print-quality-assistant.html","linkZebraZd421PrintQuality":"https://docs.zebra.com/us/en/printers/desktop/zd421-and-zd621-desktop-printers-user-guide/print-operations/adjusting-the-print-quality.html","linkZebraZd421Darkness":"https://docs.zebra.com/us/en/printers/desktop/zd421-and-zd621-desktop-printers-user-guide/color-touch-display-and-controls/print-menu/print-print-quality-darkness.html","linkZebraZd421Cleaning":"https://docs.zebra.com/us/en/printers/desktop/zd421-and-zd621-desktop-printers-user-guide/maintenance/cleaning.html","linkZebraZd421MediaCalibration":"https://docs.zebra.com/us/en/printers/desktop/zd421-and-zd621-desktop-printers-user-guide/c-zd620-420-setup/c-zd421-zd621-ug-smartcal-media-calibration.html","linkZebraSetupUtilities":"https://www.zebra.com/gb/en/support-downloads/printer-software/printer-setup-utilities.html","linkZebraGk420dFeedButtonModes":"https://docs.zebra.com/us/en/printers/desktop/gk420d-desktop-printer-user-guide/c-gk420d-ug-troubleshooting/r-gk420d-ug-feed-button-modes.html","linkZebraGk420dManualCalibration":"https://docs.zebra.com/us/en/printers/desktop/gk420d-desktop-printer-user-guide/c-gk420d-ug-troubleshooting/t-gk420d-ug-manual-calibration.html","linkZebraGk420dStatusLight":"https://docs.zebra.com/us/en/printers/desktop/gk420d-desktop-printer-user-guide/c-gk420d-ug-troubleshooting/r-gk420d-ug-status-light-descriptions.html","linkZebraZd421IndicatorLights":"https://docs.zebra.com/us/en/printers/desktop/zd421-and-zd621-desktop-printers-user-guide/controls-and-indicators/meaning-of-the-indicator-light-patterns/status-typical-operating-conditions.html","linkZebraZd420IndicatorLights":"https://docs.zebra.com/us/en/printers/desktop/bm-zd620-and-zd420-desktop-printers-user-guide-ditamap/c-zd620-420-controls-and-indicators/r-zd620-420-meaning-of-the-indicator-light-patterns.html","linkZebraGk420dNetworkLabel":"https://docs.zebra.com/us/en/printers/desktop/gk420d-desktop-printer-user-guide/c-gk420d-ug-printer-options/c-gk420d-ug-zebranet-10-100-internal--wired--print-server-option/c-gk420d-ug-printer-network-configuration-status-label.html","linkZebraZd421ConfigurationReport":"https://docs.zebra.com/us/en/printers/desktop/zd421-and-zd621-desktop-printers-user-guide/c-zd421-zd621-ug-tools/r-mlk-ug-printer-diagnostics/t-zd620zd420-ug-printing-the-printer-and-network-configuration-reports.html","linkZebraZd421PrintQualityReport":"https://docs.zebra.com/us/en/printers/desktop/zd421-and-zd621-desktop-printers-user-guide/c-zd421-zd621-ug-tools/r-mlk-ug-printer-diagnostics/c-zd410d-ug-perform-a-print-quality-report-feed-self-test/t-zd421-zd621-ug-printing-a-print-quality-report.html","linkZebraZd420MediaCalibration":"https://docs.zebra.com/us/en/printers/desktop/bm-zd620-and-zd420-desktop-printers-user-guide-ditamap/c-zd620-420-setup/t-zd620-420-running-a-smartcal-media-calibration.html","linkZebraZd420ConfigurationReport":"https://docs.zebra.com/us/en/printers/desktop/bm-zd620-and-zd420-desktop-printers-user-guide-ditamap/c-zd620-420-tools/c-zd200t-ug-printer-diagnostics/t-zd620zd420-ug-printing-the-printer-and-network-configuration-reports.html","linkZebraZd421PrintheadReplacement":"https://docs.zebra.com/us/en/printers/desktop/zd421-and-zd621-desktop-printers-user-guide/maintenance/cleaning/replacing-the-printhead.html","linkZebraZd421NetworkReset":"https://docs.zebra.com/us/en/printers/desktop/zd421-and-zd621-desktop-printers-user-guide/tools/printer-diagnostics/resetting-the-printer-s-network-settings-to-their-factory-defaults.html","linkZebraZd420NetworkReset":"https://docs.zebra.com/us/en/printers/desktop/bm-zd620-and-zd420-desktop-printers-user-guide-ditamap/c-zd620-420-tools/c-zd200t-ug-printer-diagnostics/t-zd410d-ug-resetting-network-factory-defaults-pause-cancel-self-test.html","linkZebraZd421PrinterReset":"https://docs.zebra.com/us/en/printers/desktop/zd421-and-zd621-desktop-printers-user-guide/c-zd421-zd621-ug-tools/r-mlk-ug-printer-diagnostics/c-resetting-defaults/t-zd620-zd420-ug-resetting-non-network-printer-configuration-settings-to-their-factory-defaults.html","linkZebraZd420PrinterReset":"https://docs.zebra.com/us/en/printers/desktop/bm-zd620-and-zd420-desktop-printers-user-guide-ditamap/c-zd620-420-tools/c-zd200t-ug-printer-diagnostics/t-zd620-zd420-ug-resetting-non-network-printer-configuration-settings-to-their-factory-defaults.html","linkZebraZd421ResetButton":"https://docs.zebra.com/us/en/printers/desktop/zd421-and-zd621-desktop-printers-user-guide/c-zd421-zd621-ug-tools/r-mlk-ug-printer-diagnostics/c-zd421-zd621-ug-reset-button-functions.html","linkZebraZd420ResetButton":"https://docs.zebra.com/us/en/printers/desktop/bm-zd620-and-zd420-desktop-printers-user-guide-ditamap/c-zd620-420-tools/c-zd200t-ug-printer-diagnostics/c-zd620-zd420-ug-reset-button-functions.html","linkGs1BarcodeQuality":"https://gs1.se/en/guides/how-to-guides/barcode-quality/","linkWooShippingZones":"https://woocommerce.com/document/setting-up-shipping-zones/","linkWordPressPhpCodingStandards":"https://developer.wordpress.org/coding-standards/wordpress-coding-standards/php/","linkWooPluginSource":"https://github.com/smartsendio/woocommerce/tree/4b5ba30f1d87107ace9eeacf6667ef8f5823bcd1/smart-send-logistics","linkWooShipmentTrackingApi":"https://woocommerce.com/document/shipment-tracking/shipment-tracking-add-tracking-programmatically/","linkWooSubscriptionsHooks":"https://woocommerce.com/document/subscriptions/develop/filter-reference/"},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Website","icon":"globe","href":"https://smartsend.io"}]},"languages":[{"language":"en","default":true,"href":""},{"language":"da","href":"da"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"smartsend","hasAudioNarration":false,"actualSubdomain":"smartsend","customDomains":["docs.smartsend.io"],"gitSource":{"type":"github","owner":"smartsendio","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad171d26b807dc20cd57faf","collectionId":"239d4efe-519f-4232-82c6-a6aa7ee13bed","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad171d26b807dc20cd57faf"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6ad171d26b807dc20cd57faf","clientVersion":"0.0.4074","searchFilterCounts":[{"language":"en","tag":"API","count":69},{"language":"en","tag":"Documentation","count":53},{"language":"da","tag":"Dokumentation","count":53},{"language":"en","tag":"API v2","count":47},{"language":"en","tag":"Knowledge","count":22},{"language":"da","tag":"Viden","count":22},{"language":"en","tag":"Integrations","count":20},{"language":"da","tag":"Integrationer","count":20},{"language":"en","tag":"Shopify","count":18},{"language":"da","tag":"Shopify","count":18},{"language":"en","tag":"API v1","count":17},{"language":"en","tag":"Carriers","count":15},{"language":"da","tag":"Transportører","count":15},{"language":"en","tag":"Shipments","count":11},{"language":"en","tag":"Troubleshooting","count":11},{"language":"da","tag":"Fejlfinding","count":11},{"language":"da","tag":"WooCommerce","count":10},{"language":"da","tag":"AI","count":8},{"language":"da","tag":"Funktioner","count":8},{"language":"da","tag":"Grundlæggende","count":8}]},"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":"rbac-expansion","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":"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":"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},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"html[data-current-path=\"/status/incidents\"] [data-component-part=\"update-label\"],html[data-current-path=\"/da/status/incidents\"] [data-component-part=\"update-label\"]{background-color:rgba(115, 115, 115, 0.12)!important;color:rgb(82, 82, 82)!important}html.dark[data-current-path=\"/status/incidents\"] [data-component-part=\"update-label\"],html.dark[data-current-path=\"/da/status/incidents\"] [data-component-part=\"update-label\"]{color:rgb(212, 212, 212)!important}"}],"page":{"pagePath":"api-reference/booking-batches/create-a-booking-batch","slug":"/api-reference/booking-batches/create-a-booking-batch","pageMetadata":{"title":"Create a booking batch","description":"Creates an empty booking batch with an optional callback for progress updates.","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json post /beta/teams/{teamUuid}/booking-batches","href":"/api-reference/booking-batches/create-a-booking-batch","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Creates an empty booking batch with an optional callback for progress updates.\"\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":"Create a booking batch","description":"Creates an empty booking batch with an optional callback for progress updates.","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json post /beta/teams/{teamUuid}/booking-batches","href":"/api-reference/booking-batches/create-a-booking-batch","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"storeBatch","summary":"Create a booking batch","description":"Creates an empty booking batch with an optional callback for progress updates.","tags":["Booking batches"],"security":["fd489c08-4d14-41b3-bcf2-4f1cabf99764","81a06584-feba-4213-be42-8acea13bf16a"],"parameters":["a19703e5-fff5-4a55-8902-9c0cce3fa75c","980fa833-fb85-4877-8da2-c288bbff27c7","8a7d785d-8793-4bbe-bc30-623cd55d00f9","71d362d0-ec0c-42e0-a614-9216744ac64e"],"responses":{"201":"a500bb78-3cb7-446d-bee6-574c0be2c156","401":"2ec108ea-e9e9-428b-aab1-82c711aee843","403":"4ec5f513-ff51-417b-bccc-f0dd01d15fca","409":"5ffb8af0-91a7-42c3-9cd1-d5579a25a6df","422":"01084ccd-3465-4efc-a77b-ecf2ad17a8df","429":"7541e9e7-708a-4e8e-b0e2-d8146f54c0d3","500":"a310f7cc-1ac6-4d17-9b3a-c703d747fef1","503":"d8d4a388-ec33-4852-ac3d-0efe84b1ffe8"},"requestBody":"05937e6c-45cf-482b-872b-fe14ecebb06c","callbacks":{"updates":"d403427b-d8f1-4d1c-a3ba-c395cf38011e"},"method":"post","type":"path","servers":["0eef3548-4f3c-4df2-b0fa-31d5d5218725"],"path":"/beta/teams/{teamUuid}/booking-batches","baseUrlOptions":["https://api.smartsend.io"],"title":"Create a booking batch","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"a19703e5-fff5-4a55-8902-9c0cce3fa75c":{"name":"teamUuid","in":"path","required":true,"schema":{"type":"string","format":"uuid","isRequired":true,"description":"Team uuid. All resources are scoped to this team.","uniqueKey":"","typeLabel":"string\u003cuuid>"},"description":"Team uuid. All resources are scoped to this team."},"980fa833-fb85-4877-8da2-c288bbff27c7":{"name":"Accept-Language","in":"header","required":false,"schema":{"type":"string","default":"en","examples":["da-DK, da;q=0.9, en;q=0.8"],"isRequired":false,"description":"Preferred language(s) for translatable content using BCP 47 language tags. Supports quality values (q-factors) for priority ordering. The API negotiates the best available language based on this header, the team's configured language, and available translations. If omitted, the team's default language is used.","uniqueKey":"","typeLabel":"string"},"description":"Preferred language(s) for translatable content using BCP 47 language tags. Supports quality values (q-factors) for priority ordering. The API negotiates the best available language based on this header, the team's configured language, and available translations. If omitted, the team's default language is used."},"8a7d785d-8793-4bbe-bc30-623cd55d00f9":{"name":"Request-ID","in":"header","required":false,"schema":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9._-]{1,64}$","isRequired":false,"description":"Optional client-supplied request identifier. When provided and matching the validation pattern, the value is echoed back in the `Request-ID` response header. Otherwise the server generates one. Use this to correlate requests between client and server when reporting issues.","uniqueKey":"","typeLabel":"string"},"description":"Optional client-supplied request identifier. When provided and matching the validation pattern, the value is echoed back in the `Request-ID` response header. Otherwise the server generates one. Use this to correlate requests between client and server when reporting issues.","examples":{"uuid":{"summary":"UUID v7","value":"019c486f-c237-76f5-85e1-ba7017a77024"},"opaque":{"summary":"Opaque client-generated key","value":"booking-12345-at-1768609378"}}},"71d362d0-ec0c-42e0-a614-9216744ac64e":{"name":"Idempotency-Key","in":"header","required":false,"description":"Optional, case-sensitive key for one intended action. Scope: team, HTTP method and canonical path. Completed actions are remembered in cache for 24 hours; cache loss, eviction or expiry may allow the action to execute again. Same key and payload reuses the stored outcome without repeating side effects; the resource representation is current. Changed payload: 422 with an Idempotency-Key entry in errors. Concurrent duplicate: 409 with Retry-After and Location when known. Without a key there is no deduplication. Use GET at Location after 202.","schema":{"type":"string","minLength":16,"maxLength":128,"pattern":"^[A-Za-z0-9]{16,128}$","isRequired":false,"description":"Optional, case-sensitive key for one intended action. Scope: team, HTTP method and canonical path. Completed actions are remembered in cache for 24 hours; cache loss, eviction or expiry may allow the action to execute again. Same key and payload reuses the stored outcome without repeating side effects; the resource representation is current. Changed payload: 422 with an Idempotency-Key entry in errors. Concurrent duplicate: 409 with Retry-After and Location when known. Without a key there is no deduplication. Use GET at Location after 202.","uniqueKey":"","typeLabel":"string"},"examples":{"uuid":{"summary":"UUID v7 without hyphens","value":"019c487044a47a63b9e8f52cfed69fc2"}}}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"identifier":{"oneOf":[{"type":"string","description":"Private integration reference.","uniqueKey":"identifier.oneOf.0","typeLabel":"string"},{"type":"null","description":"Private integration reference.","uniqueKey":"identifier.oneOf.1","typeLabel":"null"}],"uniqueKey":"identifier","typeLabel":"string | null"},"reference":{"oneOf":[{"type":"string","description":"Public batch reference.","uniqueKey":"reference.oneOf.0","typeLabel":"string"},{"type":"null","description":"Public batch reference.","uniqueKey":"reference.oneOf.1","typeLabel":"null"}],"uniqueKey":"reference","typeLabel":"string | null"},"callback":{"type":"object","properties":{"url":{"type":"string","description":"Public HTTPS endpoint controlled by the integration. Verified against private/internal destinations; redirects are not followed.","format":"uri","pattern":"^https://","isRequired":true,"uniqueKey":"callback.url","typeLabel":"string\u003curi>"},"signing_secret":{"type":"string","format":"password","writeOnly":true,"pattern":"^whsec_[A-Za-z0-9+/]{43}=$","description":"Integration-generated random 32-byte HMAC-SHA256 key, base64 encoded with whsec_ prefix. Retain it to verify callbacks; never returned in batch responses.","isRequired":true,"uniqueKey":"callback.signing_secret","typeLabel":"string\u003cpassword>"},"events":{"type":"array","items":{"type":"string","enum":["shipment.booked","shipment.failed","shipment.cancelled","shipment.voided","batch.updated","batch.completed","batch.stopped"],"description":"An event type available for callbacks scoped to a booking batch and its member shipments.","uniqueKey":"callback.events.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Selected batch/member event types.","minItems":1,"uniqueItems":true,"uniqueKey":"callback.events","typeLabel":"enum\u003cstring>[]"}},"required":["url","signing_secret"],"description":"Register a callback at batch creation. Omitted events defaults to shipment.booked, shipment.failed, shipment.cancelled, shipment.voided, batch.completed and batch.stopped. Callback configuration is immutable after creation.","additionalProperties":false,"uniqueKey":"callback","typeLabel":"object"}},"description":"Create an empty open batch. Team document/print defaults apply to each shipment at its acceptance.","additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Full":{"title":"Full","description":"The signing secret is a non-secret placeholder. Generate a random signing key for real callbacks.","value":{"identifier":"batch-db-42","reference":"MORNING-2026-09-16","callback":{"url":"https://merchant.example.com/smartsend/batches","events":["shipment.booked","shipment.failed","shipment.cancelled","shipment.voided","batch.updated","batch.completed","batch.stopped"],"signing_secret":"whsec_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="}}},"Minimal":{"title":"Minimal","description":"Creates an empty batch without references or a callback.","value":{}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"a500bb78-3cb7-446d-bee6-574c0be2c156":{"description":"Open batch created.","headers":{"Request-ID":{"description":"Unique identifier for this HTTP request. Always present in responses. Echoes the client-supplied `Request-ID` request header when it matches the validation pattern; otherwise the server generates a UUIDv7. Include this value when reporting issues so support can locate the request in logs.","schema":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9._-]{1,64}$"}},"Location":{"description":"Absolute API URL of the accepted resource. For booking or cancellation polling, this is the ordinary shipment GET URL.","schema":{"type":"string","format":"uri"}},"Idempotency-Replayed":{"description":"True when this response reuses a previously accepted action. Its body is reconstructed from the current resource and stored outcome; byte-identical response caching is not promised. API-specific header.","schema":{"type":"boolean","examples":[true]}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"uuid":{"type":"string","description":"Resource UUID.","format":"uuid","isRequired":true,"uniqueKey":"data.uuid","typeLabel":"string\u003cuuid>"},"state":{"type":"string","enum":["open","queued","processing","stopping","completed","stopped"],"description":"open accepts validated members; start locks membership and queues sequential processing. completed means every member has an outcome, including failures. stopping/stopped indicate a stop request; stopped waits for the in-flight booking to finish. Terminal batches cannot restart.","isRequired":true,"uniqueKey":"data.state","typeLabel":"enum\u003cstring>"},"identifier":{"oneOf":[{"type":"string","description":"Private integration reference.","isRequired":true,"uniqueKey":"data.identifier.oneOf.0","typeLabel":"string"},{"type":"null","description":"Private integration reference.","isRequired":true,"uniqueKey":"data.identifier.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.identifier","typeLabel":"string | null"},"reference":{"oneOf":[{"type":"string","description":"Public batch reference.","isRequired":true,"uniqueKey":"data.reference.oneOf.0","typeLabel":"string"},{"type":"null","description":"Public batch reference.","isRequired":true,"uniqueKey":"data.reference.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.reference","typeLabel":"string | null"},"total_count":{"type":"integer","minimum":0,"description":"Members currently in the open batch; fixed when processing starts.","isRequired":true,"uniqueKey":"data.total_count","typeLabel":"integer"},"pending_count":{"type":"integer","minimum":0,"description":"Members not yet started, including queued members.","isRequired":true,"uniqueKey":"data.pending_count","typeLabel":"integer"},"processing_count":{"type":"integer","minimum":0,"description":"Members currently being booked; at most one per batch.","maximum":1,"isRequired":true,"uniqueKey":"data.processing_count","typeLabel":"integer"},"booked_count":{"type":"integer","minimum":0,"description":"Successfully completed booking workflows. A later user cancellation does not reduce this count.","isRequired":true,"uniqueKey":"data.booked_count","typeLabel":"integer"},"failed_count":{"type":"integer","minimum":0,"description":"Failed booking workflows. A rare late confirmed success moves its member to booked_count.","isRequired":true,"uniqueKey":"data.failed_count","typeLabel":"integer"},"cancelled_count":{"type":"integer","minimum":0,"description":"Members skipped because the batch was stopped before they started.","isRequired":true,"uniqueKey":"data.cancelled_count","typeLabel":"integer"},"completed_count":{"type":"integer","minimum":0,"description":"booked_count + failed_count + cancelled_count; this is processed count, not success count.","isRequired":true,"uniqueKey":"data.completed_count","typeLabel":"integer"},"progress":{"type":"integer","minimum":0,"maximum":100,"description":"Floor of 100 * completed_count / total_count. Empty open batches have 0; stopped empty batches have 100.","isRequired":true,"uniqueKey":"data.progress","typeLabel":"integer"},"created_at":{"type":"string","format":"date-time","description":"Creation time.","isRequired":true,"uniqueKey":"data.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"Latest batch state or counter update.","isRequired":true,"uniqueKey":"data.updated_at","typeLabel":"string\u003cdate-time>"},"started_at":{"oneOf":[{"type":"string","format":"date-time","description":"Start request acceptance time.","isRequired":true,"uniqueKey":"data.started_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Start request acceptance time.","isRequired":true,"uniqueKey":"data.started_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.started_at","typeLabel":"string\u003cdate-time> | null"},"finished_at":{"oneOf":[{"type":"string","format":"date-time","description":"Processing completion time, including after a stop.","isRequired":true,"uniqueKey":"data.finished_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Processing completion time, including after a stop.","isRequired":true,"uniqueKey":"data.finished_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.finished_at","typeLabel":"string\u003cdate-time> | null"}},"required":["uuid","state","identifier","reference","total_count","pending_count","processing_count","booked_count","failed_count","cancelled_count","completed_count","progress","created_at","updated_at","started_at","finished_at"],"description":"Batch progress for one-at-a-time booking. total_count = pending_count + processing_count + completed_count. Post-booking cancellation/printing/tracking do not rewrite booking outcomes. Late booking corrections may adjust outcome counts without reopening a terminal batch.","isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"required":["data"],"uniqueKey":"","typeLabel":"object"},"examples":{"Full":{"title":"Full","value":{"data":{"uuid":"55555555-5555-4555-8555-555555555555","state":"open","identifier":"batch-db-42","reference":"MORNING-2026-09-16","total_count":0,"pending_count":0,"processing_count":0,"booked_count":0,"failed_count":0,"cancelled_count":0,"completed_count":0,"progress":0,"created_at":"2026-09-16T10:00:00Z","updated_at":"2026-09-16T10:00:00Z","started_at":null,"finished_at":null}}}},"exampleType":"examples"}},"exampleType":"examples"},"2ec108ea-e9e9-428b-aab1-82c711aee843":{"description":"Authentication is missing or invalid.","headers":{"Request-ID":{"description":"Unique identifier for this HTTP request. Always present in responses. Echoes the client-supplied `Request-ID` request header when it matches the validation pattern; otherwise the server generates a UUIDv7. Include this value when reporting issues so support can locate the request in logs.","schema":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9._-]{1,64}$"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Human-readable, possibly localised explanation. Do not parse this text for client control flow.","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["message"],"description":"An unsuccessful API request, using JSON with message and no custom error code. Persisted booking outcomes use ShipmentResponse where documented.","uniqueKey":"","typeLabel":"object"},"examples":{"Unauthenticated":{"title":"Unauthenticated","description":"Supply a valid API token. Repeating the same credentials does not resolve this response.","value":{"message":"Unauthenticated."}}},"exampleType":"examples"}},"exampleType":"examples"},"4ec5f513-ff51-417b-bccc-f0dd01d15fca":{"description":"The authenticated principal lacks the required team permission or scope.","headers":{"Request-ID":{"description":"Unique identifier for this HTTP request. Always present in responses. Echoes the client-supplied `Request-ID` request header when it matches the validation pattern; otherwise the server generates a UUIDv7. Include this value when reporting issues so support can locate the request in logs.","schema":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9._-]{1,64}$"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Human-readable, possibly localised explanation. Do not parse this text for client control flow.","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["message"],"description":"An unsuccessful API request, using JSON with message and no custom error code. Persisted booking outcomes use ShipmentResponse where documented.","uniqueKey":"","typeLabel":"object"},"examples":{"PermissionDenied":{"title":"PermissionDenied","description":"Use credentials with the required team permission or scope.","value":{"message":"This action is unauthorized."}}},"exampleType":"examples"}},"exampleType":"examples"},"5ffb8af0-91a7-42c3-9cd1-d5579a25a6df":{"description":"An action with this Idempotency-Key is still processing. Includes Retry-After and, when the resource is known, Location.","headers":{"Request-ID":{"description":"Unique identifier for this HTTP request. Always present in responses. Echoes the client-supplied `Request-ID` request header when it matches the validation pattern; otherwise the server generates a UUIDv7. Include this value when reporting issues so support can locate the request in logs.","schema":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9._-]{1,64}$"}},"Retry-After":{"description":"Delay in seconds before the next polling or retry request. Booking polling normally uses 5.","schema":{"type":"integer","minimum":1,"examples":[5]}},"Location":{"description":"Absolute API URL of the accepted resource. For booking or cancellation polling, this is the ordinary shipment GET URL.","schema":{"type":"string","format":"uri"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Human-readable, possibly localised explanation. Do not parse this text for client control flow.","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["message"],"description":"An unsuccessful API request, using JSON with message and no custom error code. Persisted booking outcomes use ShipmentResponse where documented.","uniqueKey":"","typeLabel":"object"},"examples":{"IdempotencyInProgress":{"title":"IdempotencyInProgress","description":"Includes Retry-After: 5 and may include Location when the resource is known. Wait, then GET Location if provided; otherwise retry the original request with the same key and payload.","value":{"message":"A request with this Idempotency-Key is still being processed."}}},"exampleType":"examples"}},"exampleType":"examples"},"01084ccd-3465-4efc-a77b-ecf2ad17a8df":{"description":"Invalid request input or reuse of an Idempotency-Key with different input. Upfront shipment validation creates no shipment; a failing batch-add request adds none of its members. Correct the fields listed in errors before retrying.","headers":{"Request-ID":{"description":"Unique identifier for this HTTP request. Always present in responses. Echoes the client-supplied `Request-ID` request header when it matches the validation pattern; otherwise the server generates a UUIDv7. Include this value when reporting issues so support can locate the request in logs.","schema":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9._-]{1,64}$"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Human-readable, possibly localised explanation. Do not parse this text for client control flow.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string","uniqueKey":"errors.additionalProperties.items.[INDEX]","typeLabel":"string"},"uniqueKey":"errors.additionalProperties","typeLabel":"string[]"},"description":"Field or header names mapped to validation messages. Nested input uses dot notation, e.g. data.0.parties.customer.address.country. Header validation uses the header name, e.g. Idempotency-Key.","isRequired":true,"uniqueKey":"errors","typeLabel":"object"}},"required":["message","errors"],"description":"422 validation response. Field errors use dot notation for nested input; Idempotency-Key identifies a header validation error.","uniqueKey":"","typeLabel":"object"},"examples":{"ValidationFailed":{"title":"ValidationFailed","description":"Illustrative field name; actual errors name the invalid request fields. See shipment and batch operations for concrete examples.","value":{"message":"The given data was invalid.","errors":{"field_name":["This field is required."]}}}},"exampleType":"examples"}},"exampleType":"examples"},"7541e9e7-708a-4e8e-b0e2-d8146f54c0d3":{"description":"Rate limit exceeded. Wait for Retry-After before retrying.","headers":{"Request-ID":{"description":"Unique identifier for this HTTP request. Always present in responses. Echoes the client-supplied `Request-ID` request header when it matches the validation pattern; otherwise the server generates a UUIDv7. Include this value when reporting issues so support can locate the request in logs.","schema":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9._-]{1,64}$"}},"Retry-After":{"description":"Delay in seconds before the next polling or retry request. Booking polling normally uses 5.","schema":{"type":"integer","minimum":1,"examples":[5]}}},"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Human-readable, possibly localised explanation. Do not parse this text for client control flow.","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["message"],"description":"An unsuccessful API request, using JSON with message and no custom error code. Persisted booking outcomes use ShipmentResponse where documented.","uniqueKey":"","typeLabel":"object"},"examples":{"TooManyRequests":{"title":"TooManyRequests","description":"Wait for the number of seconds in Retry-After before sending another request.","value":{"message":"Too Many Attempts."}}},"exampleType":"examples"}},"exampleType":"examples"},"a310f7cc-1ac6-4d17-9b3a-c703d747fef1":{"description":"Unexpected server failure. An accepted action may already exist; recover using the same idempotency key or known resource URL.","headers":{"Request-ID":{"description":"Unique identifier for this HTTP request. Always present in responses. Echoes the client-supplied `Request-ID` request header when it matches the validation pattern; otherwise the server generates a UUIDv7. Include this value when reporting issues so support can locate the request in logs.","schema":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9._-]{1,64}$"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Human-readable, possibly localised explanation. Do not parse this text for client control flow.","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["message"],"description":"An unsuccessful API request, using JSON with message and no custom error code. Persisted booking outcomes use ShipmentResponse where documented.","uniqueKey":"","typeLabel":"object"},"examples":{"ServerError":{"title":"ServerError","description":"An action may already have been accepted. Recover through its known resource URL or retry with the original Idempotency-Key. Include Request-ID when contacting support.","value":{"message":"Server Error"}}},"exampleType":"examples"}},"exampleType":"examples"},"d8d4a388-ec33-4852-ac3d-0efe84b1ffe8":{"description":"The service is temporarily unavailable.","headers":{"Request-ID":{"description":"Unique identifier for this HTTP request. Always present in responses. Echoes the client-supplied `Request-ID` request header when it matches the validation pattern; otherwise the server generates a UUIDv7. Include this value when reporting issues so support can locate the request in logs.","schema":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9._-]{1,64}$"}},"Retry-After":{"description":"Delay in seconds before the next polling or retry request. Booking polling normally uses 5.","schema":{"type":"integer","minimum":1,"examples":[5]}}},"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Human-readable, possibly localised explanation. Do not parse this text for client control flow.","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["message"],"description":"An unsuccessful API request, using JSON with message and no custom error code. Persisted booking outcomes use ShipmentResponse where documented.","uniqueKey":"","typeLabel":"object"},"examples":{"ServiceUnavailable":{"title":"ServiceUnavailable","description":"Wait for Retry-After before retrying. Preserve the original Idempotency-Key for an action that may already have been accepted.","value":{"message":"Service Unavailable"}}},"exampleType":"examples"}},"exampleType":"examples"}},"callbacks":[{"callbackName":"updates","expression":"{$request.body#/callback/url}","method":"post","resolved":{"operation":{"operationId":"receiveBatchCallback","summary":"Receive updates for this booking batch","description":"Receives signed updates for a booking batch and its shipments.","tags":["Webhooks"],"security":[],"parameters":["35f559e5-2ab7-4747-b132-2ef5912ca466","6197d10b-ba41-4f17-8b26-461b02755f5d","5997b1fd-8c21-4fcd-ad80-2ff873fed1eb"],"requestBody":"55ca562b-c8dc-498f-b5cc-34addcfeecd3","responses":{"204":"5f6601ac-3d72-47be-9dcb-c804ea45a08e","400":"de7a615e-3cd3-4504-9d4f-4a71a9ca0132"},"method":"post","type":"path"},"dependencies":{"parameters":{"35f559e5-2ab7-4747-b132-2ef5912ca466":{"name":"webhook-id","in":"header","required":true,"schema":{"type":"string","format":"uuid","isRequired":true,"description":"Stable event identifier matching body.id. Deduplicate by this identifier; the event body and occurred_at remain unchanged across retries. Delivery may be duplicated or arrive out of order.","uniqueKey":"","typeLabel":"string\u003cuuid>"},"description":"Stable event identifier matching body.id. Deduplicate by this identifier; the event body and occurred_at remain unchanged across retries. Delivery may be duplicated or arrive out of order."},"6197d10b-ba41-4f17-8b26-461b02755f5d":{"name":"webhook-timestamp","in":"header","required":true,"schema":{"type":"string","pattern":"^[0-9]+$","isRequired":true,"description":"Unix seconds for this delivery attempt. Verify with a 5-minute tolerance; the timestamp changes on each retry.","uniqueKey":"","typeLabel":"string"},"description":"Unix seconds for this delivery attempt. Verify with a 5-minute tolerance; the timestamp changes on each retry."},"5997b1fd-8c21-4fcd-ad80-2ff873fed1eb":{"name":"webhook-signature","in":"header","required":true,"schema":{"type":"string","isRequired":true,"description":"Space-delimited Standard Webhooks signatures, each `v1,\u003cbase64 signature>`. Before processing, verify HMAC-SHA256 over webhook-id + \".\" + webhook-timestamp + \".\" + the raw request body using the base64-decoded whsec_ signing secret.","uniqueKey":"","typeLabel":"string"},"description":"Space-delimited Standard Webhooks signatures, each `v1,\u003cbase64 signature>`. Before processing, verify HMAC-SHA256 over webhook-id + \".\" + webhook-timestamp + \".\" + the raw request body using the base64-decoded whsec_ signing secret."}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","description":"Thin event envelope: stable id, event type, occurred_at, team_uuid and resource identifiers in data. Full payloads are not offered in this version. A future full-payload option must be explicitly selected; existing thin subscriptions retain their documented meaning.","required":["id","team_uuid","occurred_at","type","data"],"properties":{"id":{"type":"string","description":"Stable event UUID, also sent in webhook-id. Duplicate deliveries keep the same id.","format":"uuid","isRequired":true,"uniqueKey":"oneOf.0.id","typeLabel":"string\u003cuuid>"},"team_uuid":{"type":"string","description":"Resource UUID.","format":"uuid","isRequired":true,"uniqueKey":"oneOf.0.team_uuid","typeLabel":"string\u003cuuid>"},"occurred_at":{"type":"string","format":"date-time","description":"When the business event occurred; distinct from the delivery-attempt timestamp.","isRequired":true,"uniqueKey":"oneOf.0.occurred_at","typeLabel":"string\u003cdate-time>"},"type":{"type":"string","enum":["shipment.booked","shipment.failed","shipment.cancelled","shipment.voided"],"isRequired":true,"uniqueKey":"oneOf.0.type","typeLabel":"enum\u003cstring>"},"data":{"type":"object","properties":{"shipment_uuid":{"type":"string","format":"uuid","description":"Affected shipment UUID.","isRequired":true,"uniqueKey":"oneOf.0.data.shipment_uuid","typeLabel":"string\u003cuuid>"},"batch_uuid":{"oneOf":[{"type":"string","format":"uuid","description":"Owning booking batch UUID; null for an immediate booking.","isRequired":true,"uniqueKey":"oneOf.0.data.batch_uuid.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Owning booking batch UUID; null for an immediate booking.","isRequired":true,"uniqueKey":"oneOf.0.data.batch_uuid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.data.batch_uuid","typeLabel":"string\u003cuuid> | null"}},"required":["shipment_uuid","batch_uuid"],"isRequired":true,"uniqueKey":"oneOf.0.data","typeLabel":"object"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Thin event envelope: stable id, event type, occurred_at, team_uuid and resource identifiers in data. Full payloads are not offered in this version. A future full-payload option must be explicitly selected; existing thin subscriptions retain their documented meaning.","required":["id","team_uuid","occurred_at","type","data"],"properties":{"id":{"type":"string","description":"Stable event UUID, also sent in webhook-id. Duplicate deliveries keep the same id.","format":"uuid","isRequired":true,"uniqueKey":"oneOf.1.id","typeLabel":"string\u003cuuid>"},"team_uuid":{"type":"string","description":"Resource UUID.","format":"uuid","isRequired":true,"uniqueKey":"oneOf.1.team_uuid","typeLabel":"string\u003cuuid>"},"occurred_at":{"type":"string","format":"date-time","description":"When the business event occurred; distinct from the delivery-attempt timestamp.","isRequired":true,"uniqueKey":"oneOf.1.occurred_at","typeLabel":"string\u003cdate-time>"},"type":{"type":"string","enum":["batch.updated","batch.completed","batch.stopped"],"isRequired":true,"uniqueKey":"oneOf.1.type","typeLabel":"enum\u003cstring>"},"data":{"type":"object","properties":{"batch_uuid":{"oneOf":[{"type":"string","format":"uuid","description":"Affected booking batch UUID.","isRequired":true,"uniqueKey":"oneOf.1.data.batch_uuid.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Affected booking batch UUID.","isRequired":true,"uniqueKey":"oneOf.1.data.batch_uuid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.data.batch_uuid","typeLabel":"string\u003cuuid> | null"}},"required":["batch_uuid"],"isRequired":true,"uniqueKey":"oneOf.1.data","typeLabel":"object"}},"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"ShipmentBookedWebhook":{"title":"ShipmentBookedWebhook","value":{"id":"896b145e-01e2-5839-9bb2-653ccddfe9de","team_uuid":"11111111-1111-4111-8111-111111111111","occurred_at":"2026-09-16T10:00:02Z","type":"shipment.booked","data":{"shipment_uuid":"22222222-2222-4222-8222-222222222222","batch_uuid":"55555555-5555-4555-8555-555555555555"}}},"ShipmentFailedWebhook":{"title":"ShipmentFailedWebhook","value":{"id":"b0066fc7-3c14-5e7d-a9b0-9d553f5e3da6","team_uuid":"11111111-1111-4111-8111-111111111111","occurred_at":"2026-09-16T10:00:02Z","type":"shipment.failed","data":{"shipment_uuid":"22222222-2222-4222-8222-222222222222","batch_uuid":"55555555-5555-4555-8555-555555555555"}}},"ShipmentCancelledWebhook":{"title":"ShipmentCancelledWebhook","value":{"id":"2452511b-6dea-5218-a803-31e17b204bfd","team_uuid":"11111111-1111-4111-8111-111111111111","occurred_at":"2026-09-16T10:00:02Z","type":"shipment.cancelled","data":{"shipment_uuid":"22222222-2222-4222-8222-222222222222","batch_uuid":"55555555-5555-4555-8555-555555555555"}}},"ShipmentVoidedWebhook":{"title":"ShipmentVoidedWebhook","value":{"id":"3f87c74f-2be0-5cdd-9307-2e76ea7343ce","team_uuid":"11111111-1111-4111-8111-111111111111","occurred_at":"2026-09-16T10:00:02Z","type":"shipment.voided","data":{"shipment_uuid":"22222222-2222-4222-8222-222222222222","batch_uuid":"55555555-5555-4555-8555-555555555555"}}},"BatchUpdatedWebhook":{"title":"BatchUpdatedWebhook","value":{"id":"61c4bfe7-c963-50dd-8aaa-ed22984fda00","team_uuid":"11111111-1111-4111-8111-111111111111","occurred_at":"2026-09-16T10:00:02Z","type":"batch.updated","data":{"batch_uuid":"55555555-5555-4555-8555-555555555555"}}},"BatchCompletedWebhook":{"title":"BatchCompletedWebhook","value":{"id":"f754e871-3754-569d-8d1f-dce0ab79109e","team_uuid":"11111111-1111-4111-8111-111111111111","occurred_at":"2026-09-16T10:00:02Z","type":"batch.completed","data":{"batch_uuid":"55555555-5555-4555-8555-555555555555"}}},"BatchStoppedWebhook":{"title":"BatchStoppedWebhook","value":{"id":"f1b7b627-d32c-5ed8-a0f3-79b88b1f55d3","team_uuid":"11111111-1111-4111-8111-111111111111","occurred_at":"2026-09-16T10:00:02Z","type":"batch.stopped","data":{"batch_uuid":"55555555-5555-4555-8555-555555555555"}}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"5f6601ac-3d72-47be-9dcb-c804ea45a08e":{"description":"Event durably accepted. Acknowledge with any 2xx within 10 seconds; a non-2xx response or timeout triggers retries with backoff for up to 24 hours.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"de7a615e-3cd3-4504-9d4f-4a71a9ca0132":{"description":"Invalid request. Delivery is retried with backoff for up to 24 hours; callback failure never changes booking results or repeats side effects.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{}}}}],"security":{"fd489c08-4d14-41b3-bcf2-4f1cabf99764":{"bearerAuth":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"bearerAuth"}},"81a06584-feba-4213-be42-8acea13bf16a":{"oauth2":{"type":"oauth2","description":"OAuth 2.0 Authorization Code flow for API access","flows":{"authorizationCode":{"authorizationUrl":"https://app.smartsend.io/oauth/authorize","tokenUrl":"https://app.smartsend.io/oauth/token","scopes":{"members:write":"Manage team members","service-point:read":"Access service points and pickup locations","rates:read":"Read team shipping routes, delivery options and pricing","tracking:read":"Access shipment tracking information","shipment:read":"Read shipment information","shipment:write":"Create and manage shipments","inventory:read":"Read team WMS inventory levels and items","inventory:write":"Mutate team WMS inventory (move stock, update counts)","fulfillment:read":"Read team WMS fulfillment requests","fulfillment:write":"Mutate team WMS fulfillment requests (pack)","documents:read":"Read team business documents, including reports and manifests","printing:read":"Read printers and document print jobs","printing:write":"Create document print and reprint jobs"}}},"scopes":["shipment:write"],"schemeName":"oauth2"}}},"servers":{"0eef3548-4f3c-4df2-b0fa-31d5d5218725":{"url":"https://api.smartsend.io","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"},{"schemes":[{"scheme":{"type":"oauth2","description":"OAuth 2.0 Authorization Code flow for API access","flows":{"authorizationCode":{"authorizationUrl":"https://app.smartsend.io/oauth/authorize","tokenUrl":"https://app.smartsend.io/oauth/token","scopes":{"members:write":"Manage team members","service-point:read":"Access service points and pickup locations","rates:read":"Read team shipping routes, delivery options and pricing","tracking:read":"Access shipment tracking information","shipment:read":"Read shipment information","shipment:write":"Create and manage shipments","inventory:read":"Read team WMS inventory levels and items","inventory:write":"Mutate team WMS inventory (move stock, update counts)","fulfillment:read":"Read team WMS fulfillment requests","fulfillment:write":"Mutate team WMS fulfillment requests (pack)","documents:read":"Read team business documents, including reports and manifests","printing:read":"Read printers and document print jobs","printing:write":"Create document print and reprint jobs"}}},"scopes":["shipment:write"],"schemeName":"oauth2"},"schema":{"title":"OAuth2 Auth","type":"string","isRequired":true,"description":"OAuth 2.0 Authorization Code flow for API access","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"oauth2","name":"Authorization"}],"title":"oauth2"}]},"originalFileLocation":"openapi-v2beta.json"},"subdomain":"smartsend","siteName":"Smart Send","title":"Create a booking batch - Smart Send","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/api-reference/booking-batches/create-a-booking-batch","matchLevel":0},"da":{"href":"/da","matchLevel":4}}},"lastModified":"2026-10-06T17:46:17.415Z","originalFileLocation":"api-reference/booking-batches/create-a-booking-batch.mdx","locale":"en"},"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 an empty booking batch with an optional callback for progress updates.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Smart Send\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/smartsend/odqVYTxBgmDdYCGC/_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/smartsend/odqVYTxBgmDdYCGC/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/smartsend/odqVYTxBgmDdYCGC/_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/smartsend/odqVYTxBgmDdYCGC/_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/smartsend/odqVYTxBgmDdYCGC/_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/smartsend/odqVYTxBgmDdYCGC/_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/smartsend/odqVYTxBgmDdYCGC/_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/smartsend/odqVYTxBgmDdYCGC/_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/smartsend/odqVYTxBgmDdYCGC/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a booking batch - Smart Send\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates an empty booking batch with an optional callback for progress updates.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Smart Send\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.smartsend.io/api-reference/booking-batches/create-a-booking-batch\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://smartsend.mintlify.site/_mintlify/api/og/v2?division=Booking+batches\u0026amp;title=Create+a+booking+batch\u0026amp;description=Creates+an+empty+booking+batch+with+an+optional+callback+for+progress+updates.\u0026amp;theme=57b53870af2386012dd438d1\u0026amp;signature=a94d350d0b0626d451295b56e886462add9552472f1537c68252d3db6d276950\">\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=\"Create a booking batch - Smart Send\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates an empty booking batch with an optional callback for progress updates.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://smartsend.mintlify.site/_mintlify/api/og/v2?division=Booking+batches\u0026amp;title=Create+a+booking+batch\u0026amp;description=Creates+an+empty+booking+batch+with+an+optional+callback+for+progress+updates.\u0026amp;theme=57b53870af2386012dd438d1\u0026amp;signature=a94d350d0b0626d451295b56e886462add9552472f1537c68252d3db6d276950\">\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/smartsend/odqVYTxBgmDdYCGC/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Smart Send\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#16A34A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.smartsend.io/api-reference/booking-batches/create-a-booking-batch\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/booking-batches/create-a-booking-batch.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.smartsend.io/#organization\",\"name\":\"Smart Send\",\"url\":\"https://docs.smartsend.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/smartsend/gD6ngks0jD1vt7-p/logo/light.svg?fit=max\u0026auto=format\u0026n=gD6ngks0jD1vt7-p\u0026q=85\u0026s=0497a6140076e33327e53bc8816acd0a\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.smartsend.io#website\",\"name\":\"Smart Send\",\"url\":\"https://docs.smartsend.io\",\"publisher\":{\"@id\":\"https://docs.smartsend.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.smartsend.io/api-reference/booking-batches/create-a-booking-batch#webpage\",\"url\":\"https://docs.smartsend.io/api-reference/booking-batches/create-a-booking-batch\",\"name\":\"Create a booking batch\",\"description\":\"Creates an empty booking batch with an optional callback for progress updates.\",\"dateModified\":\"2026-10-06T17:46:17.415Z\",\"isPartOf\":{\"@id\":\"https://docs.smartsend.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.smartsend.io/api-reference/booking-batches/create-a-booking-batch#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.smartsend.io/api-reference/booking-batches/create-a-booking-batch#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API v2\",\"item\":\"https://docs.smartsend.io/api-reference/me/get-authenticated-user\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Booking batches\",\"item\":\"https://docs.smartsend.io/api-reference/booking-batches/list-booking-batches\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Create a booking batch\",\"item\":\"https://docs.smartsend.io/api-reference/booking-batches/create-a-booking-batch\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.smartsend.io/api-reference/booking-batches/create-a-booking-batch#apireference\",\"headline\":\"Create a booking batch\",\"name\":\"Create a booking batch\",\"description\":\"Creates an empty booking batch with an optional callback for progress updates.\",\"url\":\"https://docs.smartsend.io/api-reference/booking-batches/create-a-booking-batch\",\"mainEntityOfPage\":{\"@id\":\"https://docs.smartsend.io/api-reference/booking-batches/create-a-booking-batch#webpage\"},\"dateModified\":\"2026-10-06T17:46:17.415Z\",\"publisher\":{\"@id\":\"https://docs.smartsend.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.smartsend.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Smart Send\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Smart Send","nav":{"global":{"anchors":[{"anchor":"Website","icon":"globe","href":"https://smartsend.io"}]},"languages":[{"language":"en","default":true,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"API","groups":[{"group":"API Reference","pages":[{"title":"Introduction","icon":"book-open","href":"/api-reference/introduction"},{"title":"Authentication","icon":"key","href":"/api-reference/authentication"},{"title":"Debugging","icon":"bug","href":"/api-reference/debugging"},{"title":"Idempotency","icon":"repeat","href":"/api-reference/idempotency"},{"title":"Localization","icon":"language","href":"/api-reference/localization"}]},{"group":"API v1","pages":[{"group":"Account","pages":[{"title":"Get the authenticated user.","deprecated":null,"version":null,"openapi":"/openapi-v1.json get /v1/me","href":"/api-reference/account/get-the-authenticated-user"},{"title":"Get website info.","deprecated":null,"version":null,"openapi":"/openapi-v1.json get /v1/website/{team}/info","href":"/api-reference/account/get-website-info"}]},{"group":"Agents","pages":[{"title":"List carrier agents in country.","deprecated":null,"version":null,"openapi":"/openapi-v1.json get /v1/website/{team}/agents/carrier/{carrier}/country/{country}","href":"/api-reference/agents/list-carrier-agents-in-country"},{"title":"Get specific carrier agent in country.","deprecated":null,"version":null,"openapi":"/openapi-v1.json get /v1/website/{team}/agents/carrier/{carrier}/country/{country}/agentno/{agentNo}","href":"/api-reference/agents/get-specific-carrier-agent-in-country"},{"title":"List agents within a geospatial area.","deprecated":null,"version":null,"openapi":"/openapi-v1.json get /v1/website/{team}/agents/carrier/{carrier}/country/{country}/area/latitude/min/{minLatitude}/max/{maxLatitude}/longitude/min/{minLongitude}/max/{maxLongitude}","href":"/api-reference/agents/list-agents-within-a-geospatial-area"},{"title":"List carrier agents in postal code.","deprecated":null,"version":null,"openapi":"/openapi-v1.json get /v1/website/{team}/agents/carrier/{carrier}/country/{country}/postalcode/{postalCode}","href":"/api-reference/agents/list-carrier-agents-in-postal-code"},{"title":"List carrier agents on given street.","deprecated":null,"version":null,"openapi":"/openapi-v1.json get /v1/website/{team}/agents/carrier/{carrier}/country/{country}/postalcode/{postalCode}/street/{street}","href":"/api-reference/agents/list-carrier-agents-on-given-street"}]},{"group":"Closest Agents","pages":[{"title":"List closest agents relative to a given geospatial point.","deprecated":null,"version":null,"openapi":"/openapi-v1.json get /v1/website/{team}/agents/closest/carrier/{carrier}/country/{country}/coordinates/latitude/{latitude}/longitude/{longitude}","href":"/api-reference/closest-agents/list-closest-agents-relative-to-a-given-geospatial-point"},{"title":"List closest agents relative to a postal code.","deprecated":null,"version":null,"openapi":"/openapi-v1.json get /v1/website/{team}/agents/closest/carrier/{carrier}/country/{country}/postalcode/{postalCode}","href":"/api-reference/closest-agents/list-closest-agents-relative-to-a-postal-code"},{"title":"List closest agents relative to a postal code and city.","deprecated":null,"version":null,"openapi":"/openapi-v1.json get /v1/website/{team}/agents/closest/carrier/{carrier}/country/{country}/postalcode/{postalCode}/city/{city}","href":"/api-reference/closest-agents/list-closest-agents-relative-to-a-postal-code-and-city"},{"title":"List closest agents relative to a given address.","deprecated":null,"version":null,"openapi":"/openapi-v1.json get /v1/website/{team}/agents/closest/carrier/{carrier}/country/{country}/postalcode/{postalCode}/city/{city}/street/{street}","href":"/api-reference/closest-agents/list-closest-agents-relative-to-a-given-address"},{"title":"List closest agents relative to a postal code and street.","deprecated":null,"version":null,"openapi":"/openapi-v1.json get /v1/website/{team}/agents/closest/carrier/{carrier}/country/{country}/postalcode/{postalCode}/street/{street}","href":"/api-reference/closest-agents/list-closest-agents-relative-to-a-postal-code-and-street"}]},{"group":"Shipments","pages":[{"title":"Get a list of a websites shipments","deprecated":null,"version":null,"openapi":"/openapi-v1.json get /v1/website/{team}/shipments","href":"/api-reference/shipments/get-a-list-of-a-websites-shipments"},{"title":"Store a new shipment","deprecated":null,"version":null,"openapi":"/openapi-v1.json post /v1/website/{team}/shipments","href":"/api-reference/shipments/store-a-new-shipment"},{"title":"Get a specific shipment","deprecated":null,"version":null,"openapi":"/openapi-v1.json get /v1/website/{team}/shipments/{shipment}","href":"/api-reference/shipments/get-a-specific-shipment"}]},{"group":"Bookings","pages":[{"title":"Combine labels for multiple shipments","deprecated":null,"version":null,"openapi":"/openapi-v1.json post /v1/website/{team}/shipments/labels/combine","href":"/api-reference/bookings/combine-labels-for-multiple-shipments"},{"title":"Store a new shipment and book a label","deprecated":null,"version":null,"openapi":"/openapi-v1.json post /v1/website/{team}/shipments/labels","href":"/api-reference/bookings/store-a-new-shipment-and-book-a-label"}]}]},{"group":"API v2","pages":[{"group":"Me","pages":[{"title":"Get authenticated user","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /v2/me","href":"/api-reference/me/get-authenticated-user"}]},{"group":"Teams","pages":[{"title":"List all teams","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /v2/teams","href":"/api-reference/teams/list-all-teams"},{"title":"Get team details","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /v2/teams/{teamUuid}","href":"/api-reference/teams/get-team-details"},{"title":"List team members","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /v2/teams/{teamUuid}/members","href":"/api-reference/teams/list-team-members"}]},{"group":"Service Points","pages":[{"title":"List all service points","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /v2/teams/{teamUuid}/service-points","href":"/api-reference/service-points/list-all-service-points"},{"title":"Get service point by UUID","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /v2/teams/{teamUuid}/service-points/{uuid}","href":"/api-reference/service-points/get-service-point-by-uuid"},{"title":"Get service point by code","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /v2/teams/{teamUuid}/service-points/{carrier}/{country}/{code}","href":"/api-reference/service-points/get-service-point-by-code"},{"title":"Get closest service points","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /v2/teams/{teamUuid}/service-points/closest","href":"/api-reference/service-points/get-closest-service-points"}]},{"group":"Carrier Catalog","pages":[{"title":"List all carriers","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /v2/carriers","href":"/api-reference/carrier-catalog/list-all-carriers"},{"title":"List all addons","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /v2/addons","href":"/api-reference/carrier-catalog/list-all-addons"}]},{"group":"Routing","pages":[{"title":"List available routes","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /v2/teams/{teamUuid}/routes","href":"/api-reference/routing/list-available-routes"}]},{"group":"Delivery Options","pages":[{"title":"Get delivery options","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json post /v2/teams/{teamUuid}/delivery-options","href":"/api-reference/delivery-options/get-delivery-options"}]},{"group":"Tracking","pages":[{"title":"Get tracking information","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /beta/teams/{teamUuid}/tracking/{trackingNumber}","href":"/api-reference/tracking/get-tracking-information"},{"title":"Read the tracking event feed","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /beta/teams/{teamUuid}/tracking/events","href":"/api-reference/tracking/read-the-tracking-event-feed"}]},{"group":"Shipments","pages":[{"title":"List shipments","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /v2/teams/{teamUuid}/shipments","href":"/api-reference/shipments/list-shipments"},{"title":"Create and book shipment","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json post /v2/teams/{teamUuid}/shipments","href":"/api-reference/shipments/create-and-book-shipment"},{"title":"Get shipment","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /v2/teams/{teamUuid}/shipments/{shipment}","href":"/api-reference/shipments/get-shipment"},{"title":"Delete shipment","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json delete /v2/teams/{teamUuid}/shipments/{shipment}","href":"/api-reference/shipments/delete-shipment"},{"title":"Void shipment","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json post /v2/teams/{teamUuid}/shipments/{shipment}/cancel","href":"/api-reference/shipments/void-shipment"}]},{"group":"Booking batches","pages":[{"title":"List booking batches","description":"Lists the team's booking batches, newest first.","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /beta/teams/{teamUuid}/booking-batches","href":"/api-reference/booking-batches/list-booking-batches"},{"title":"Create a booking batch","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json post /beta/teams/{teamUuid}/booking-batches","href":"/api-reference/booking-batches/create-a-booking-batch"},{"title":"Get booking batch","description":"Returns a booking batch's status and progress.","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /beta/teams/{teamUuid}/booking-batches/{batch}","href":"/api-reference/booking-batches/get-booking-batch"},{"title":"List shipments in a batch","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /beta/teams/{teamUuid}/booking-batches/{batch}/shipments","href":"/api-reference/booking-batches/list-shipments-in-a-batch"},{"title":"Add shipments to batch","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json post /beta/teams/{teamUuid}/booking-batches/{batch}/shipments","href":"/api-reference/booking-batches/add-shipments-to-batch"},{"title":"Start a booking batch","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json post /beta/teams/{teamUuid}/booking-batches/{batch}/start","href":"/api-reference/booking-batches/start-a-booking-batch"},{"title":"Stop a booking batch","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json post /beta/teams/{teamUuid}/booking-batches/{batch}/stop","href":"/api-reference/booking-batches/stop-a-booking-batch"}]},{"group":"Shipment Templates","pages":[{"title":"List shipment templates","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /beta/teams/{teamUuid}/shipment-templates","href":"/api-reference/shipment-templates/list-shipment-templates"},{"title":"Create a shipment template","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json post /beta/teams/{teamUuid}/shipment-templates","href":"/api-reference/shipment-templates/create-a-shipment-template"},{"title":"Get a shipment template","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /beta/teams/{teamUuid}/shipment-templates/{shipmentTemplateUuid}","href":"/api-reference/shipment-templates/get-a-shipment-template"},{"title":"Update a shipment template","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json put /beta/teams/{teamUuid}/shipment-templates/{shipmentTemplateUuid}","href":"/api-reference/shipment-templates/update-a-shipment-template"},{"title":"Delete a shipment template","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json delete /beta/teams/{teamUuid}/shipment-templates/{shipmentTemplateUuid}","href":"/api-reference/shipment-templates/delete-a-shipment-template"}]},{"group":"WMS Experimental","pages":[{"title":"List open fulfillment requests","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /beta/teams/{teamUuid}/wms/fulfillments","href":"/api-reference/wms-experimental/list-open-fulfillment-requests"},{"title":"Show a fulfillment request with its picking lines","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /beta/teams/{teamUuid}/wms/fulfillments/{fulfillmentIdentifier}","href":"/api-reference/wms-experimental/show-a-fulfillment-request-with-its-picking-lines"},{"title":"Record picked lines for a fulfillment request","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json post /beta/teams/{teamUuid}/wms/fulfillments/{fulfillmentIdentifier}/pack","href":"/api-reference/wms-experimental/record-picked-lines-for-a-fulfillment-request"},{"title":"List inventory levels","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /beta/teams/{teamUuid}/wms/inventory","href":"/api-reference/wms-experimental/list-inventory-levels"},{"title":"Show inventory levels for a SKU","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /beta/teams/{teamUuid}/wms/inventory/{sku}","href":"/api-reference/wms-experimental/show-inventory-levels-for-a-sku"},{"title":"Set the inventory count for a SKU in a bin","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json patch /beta/teams/{teamUuid}/wms/inventory/{sku}","href":"/api-reference/wms-experimental/set-the-inventory-count-for-a-sku-in-a-bin"},{"title":"Move inventory between bins","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json post /beta/teams/{teamUuid}/wms/inventory/{sku}/move","href":"/api-reference/wms-experimental/move-inventory-between-bins"},{"title":"Show a catalog item by SKU","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /beta/teams/{teamUuid}/wms/items/{sku}","href":"/api-reference/wms-experimental/show-a-catalog-item-by-sku"}]},{"group":"Documents","pages":[{"title":"List documents","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /beta/teams/{teamUuid}/documents","href":"/api-reference/documents/list-documents"},{"title":"Get document","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /beta/teams/{teamUuid}/documents/{document}","href":"/api-reference/documents/get-document"}]},{"group":"Printing","pages":[{"title":"List team printers","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /beta/teams/{teamUuid}/printers","href":"/api-reference/printing/list-team-printers"},{"title":"List print jobs","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /beta/teams/{teamUuid}/print-jobs","href":"/api-reference/printing/list-print-jobs"},{"title":"Print or reprint a document","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json post /beta/teams/{teamUuid}/print-jobs","href":"/api-reference/printing/print-or-reprint-a-document"},{"title":"Get print job status","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /beta/teams/{teamUuid}/print-jobs/{printJob}","href":"/api-reference/printing/get-print-job-status"},{"title":"Get a printer","deprecated":null,"version":null,"openapi":"/openapi-v2beta.json get /beta/teams/{teamUuid}/printers/{printer}","href":"/api-reference/printing/get-a-printer"}]},{"group":"Webhooks","pages":[{"title":"Receive team resource updates","version":null,"deprecated":null,"openapi":"/openapi-v2beta.json webhook teamEvents","href":"/api-reference/webhooks/receive-team-resource-updates"}]}]}]},{"tab":"Knowledge","pages":[{"title":"Knowledge","href":"/knowledge/knowledge-base"}]},{"tab":"AI","pages":[{"title":"AI","href":"/ai/overview"}]},{"tab":"Troubleshooting","pages":[{"title":"Troubleshooting","href":"/troubleshooting/overview"}]},{"tab":"Status","pages":[{"title":"Status","href":"/status/status"}]}]},{"language":"da","pages":[{"title":"da","href":"/da"}]}]},"basePath":"","title":"Create a booking batch - Smart Send","buildId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","deploymentId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-Myd8dsju.js","utils-C2HkQgW0.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-8rSppmTv.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B6MjiCFm.js","snippetPresets-DwrSAONL.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-1-a5UQKQ.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C541m7wZ.js","shallow-CWELCZ77.js","getApiPlaygroundDisplay-CTo5Zn03.js","CodeSnippet-D--dzvnl.js","CodeSnippets-DM3cXEDh.js","Page-CxAy5y67.js","getPastedJson-C-VECgcL.js","icon-BPq2-Mg3.js","MethodPill-D9J5cUHd.js","DuplicateIcon-BqHaxUnD.js","createIcon-CIbcZHp9.js","DynamicMarkdown-BKiHAm_d.js","SectionHeading-DstQXt3H.js","axios-vUo_bRtp.js","Markdown-CpxgzsKA.js","clsx-C5EfhVm0.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CJ9Oly2E.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Mk6P3qvh.js"]}