{
"type": "https://api.drophub.example/problems/access-denied",
"title": "Access denied",
"status": 403,
"detail": "Access to this resource is denied.",
"instance": "/api/v2/external/shipments/018f2d8a-1f00-7000-8000-000000000206",
"code": "ACCESS_DENIED",
"timestamp": "2026-08-22T18:30:00Z",
"correlationId": "018f2d8a-1f00-7000-8000-000000000207",
"requestId": "018f2d8a-1f00-7000-8000-000000000208"
}
{
"type": "https://api.drophub.example/problems/authentication-required",
"title": "Authentication required",
"status": 401,
"detail": "Authentication is required for this resource.",
"instance": "/api/v2/external/shipments/018f2d8a-1f00-7000-8000-000000000206",
"code": "AUTHENTICATION_REQUIRED",
"timestamp": "2026-08-22T18:30:00Z",
"correlationId": "018f2d8a-1f00-7000-8000-000000000207",
"requestId": "018f2d8a-1f00-7000-8000-000000000208"
}
{
"type": "https://api.drophub.example/problems/access-denied",
"title": "Access denied",
"status": 403,
"detail": "Access to this resource is denied.",
"instance": "/api/v2/external/shipments/018f2d8a-1f00-7000-8000-000000000206",
"code": "ACCESS_DENIED",
"timestamp": "2026-08-22T18:30:00Z",
"correlationId": "018f2d8a-1f00-7000-8000-000000000207",
"requestId": "018f2d8a-1f00-7000-8000-000000000208"
}
{
"type": "https://api.drophub.example/problems/access-denied",
"title": "Access denied",
"status": 403,
"detail": "Access to this resource is denied.",
"instance": "/api/v2/external/shipments/018f2d8a-1f00-7000-8000-000000000206",
"code": "ACCESS_DENIED",
"timestamp": "2026-08-22T18:30:00Z",
"correlationId": "018f2d8a-1f00-7000-8000-000000000207",
"requestId": "018f2d8a-1f00-7000-8000-000000000208"
}
{
"type": "https://api.drophub.example/problems/access-denied",
"title": "Access denied",
"status": 403,
"detail": "Access to this resource is denied.",
"instance": "/api/v2/external/shipments/018f2d8a-1f00-7000-8000-000000000206",
"code": "ACCESS_DENIED",
"timestamp": "2026-08-22T18:30:00Z",
"correlationId": "018f2d8a-1f00-7000-8000-000000000207",
"requestId": "018f2d8a-1f00-7000-8000-000000000208"
}
{
"type": "https://api.drophub.example/problems/access-denied",
"title": "Access denied",
"status": 403,
"detail": "Access to this resource is denied.",
"instance": "/api/v2/external/shipments/018f2d8a-1f00-7000-8000-000000000206",
"code": "ACCESS_DENIED",
"timestamp": "2026-08-22T18:30:00Z",
"correlationId": "018f2d8a-1f00-7000-8000-000000000207",
"requestId": "018f2d8a-1f00-7000-8000-000000000208"
}
External Shipments
Quote a merchant delivery fee that is honoured for 15 minutes
Prices the road route between the two points with the merchant’s current tariff, exactly as shipment creation does, and returns a quoteId valid until expiresAt (15 minutes). A shipment created with that quoteId before it expires, for the same pickup and destination points, is charged this price even if the tariff changes in between. A quote prices at most one shipment. Without a quoteId, creation prices the shipment again. To quote a shipment that will be created with pickup.savedLocationCode, quote with that location’s merchantId, branchId and pickupLocationId (from GET /api/v2/external/pickup-locations); a quote priced from a different pickup point is refused at creation with QUOTE_MISMATCH. No reservation of driver capacity is made; check availability with /api/v2/external/serviceability.
POST
/
api
/
v2
/
external
/
quotes
Quote a merchant delivery fee that is honoured for 15 minutes
When the quoteId stops being accepted at shipment creation.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"DropHub External API","colors":{"primary":"#F0630F","light":"#F0630F","dark":"#D95609"},"logo":{"light":"https://mintcdn.com/drophub/qYk8Wm8U0QVU5HCy/images/logo.png?fit=max\u0026auto=format\u0026n=qYk8Wm8U0QVU5HCy\u0026q=85\u0026s=826b10e7d04c91ac183ed0c95172b175","dark":"https://mintcdn.com/drophub/qYk8Wm8U0QVU5HCy/images/logo.png?fit=max\u0026auto=format\u0026n=qYk8Wm8U0QVU5HCy\u0026q=85\u0026s=826b10e7d04c91ac183ed0c95172b175"},"favicon":{"light":"https://mintcdn.com/drophub/qYk8Wm8U0QVU5HCy/images/favicon.png?fit=max\u0026auto=format\u0026n=qYk8Wm8U0QVU5HCy\u0026q=85\u0026s=6d3f7b6ccb71216f430060104028f185","dark":"https://mintcdn.com/drophub/qYk8Wm8U0QVU5HCy/images/favicon.png?fit=max\u0026auto=format\u0026n=qYk8Wm8U0QVU5HCy\u0026q=85\u0026s=6d3f7b6ccb71216f430060104028f185"},"api":{"openapi":"openapi.yaml"},"navbar":{"links":[{"href":"mailto:hi@mintlify.com","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.mintlify.com"}},"footer":{"socials":{"x":"https://x.com/mintlify","github":"https://github.com/mintlify","linkedin":"https://linkedin.com/company/mintlify"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"drophub","hasAudioNarration":false,"actualSubdomain":"drophub","customDomains":["docs.drop-hub.com"],"gitSource":{"type":"github","owner":"abdualziz-techsea","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6a900253862b58b209399b2f","collectionId":"34b5af8c-ab9d-460f-a755-912fd58eb088","liveDeploymentHistoryId":"6a900253862b58b209399b2f","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae6376bf0613c360e9966b0","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"API reference","count":11},{"language":"default","tag":"External Webhooks","count":5},{"language":"default","tag":"Shipments","count":3},{"language":"default","tag":"Getting Started","count":3},{"language":"default","tag":"External Shipments","count":3},{"language":"default","tag":"Authentication","count":2},{"language":"default","tag":"Request semantics","count":2},{"language":"default","tag":"External Tracking","count":2},{"language":"default","tag":"Events","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"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/external-shipments/quote-a-merchant-delivery-fee-that-is-honoured-for-15-minutes","slug":"/api-reference/external-shipments/quote-a-merchant-delivery-fee-that-is-honoured-for-15-minutes","pageMetadata":{"title":"Quote a merchant delivery fee that is honoured for 15 minutes","description":"Prices the road route between the two points with the merchant's current tariff, exactly as shipment creation does, and returns a quoteId valid until expiresAt (15 minutes). A shipment created with that quoteId before it expires, for the same pickup and destination points, is charged this price even if the tariff changes in between. A quote prices at most one shipment. Without a quoteId, creation prices the shipment again. To quote a shipment that will be created with pickup.savedLocationCode, quote with that location's merchantId, branchId and pickupLocationId (from GET /api/v2/external/pickup-locations); a quote priced from a different pickup point is refused at creation with QUOTE_MISMATCH. No reservation of driver capacity is made; check availability with /api/v2/external/serviceability.","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/v2/external/quotes","href":"/api-reference/external-shipments/quote-a-merchant-delivery-fee-that-is-honoured-for-15-minutes","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: \"Prices the road route between the two points with the merchant’s current tariff, exactly as shipment creation does, and returns a quoteId valid until expiresAt (15 minutes). A shipment created with that quoteId before it expires, for the same pickup and destination points, is charged this price even if the tariff changes in between. A quote prices at most one shipment. Without a quoteId, creation prices the shipment again. To quote a shipment that will be created with pickup.savedLocationCode, quote with that location’s merchantId, branchId and pickupLocationId (from GET /api/v2/external/pickup-locations); a quote priced from a different pickup point is refused at creation with QUOTE_MISMATCH. No reservation of driver capacity is made; check availability with /api/v2/external/serviceability.\"\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":"Quote a merchant delivery fee that is honoured for 15 minutes","description":"Prices the road route between the two points with the merchant's current tariff, exactly as shipment creation does, and returns a quoteId valid until expiresAt (15 minutes). A shipment created with that quoteId before it expires, for the same pickup and destination points, is charged this price even if the tariff changes in between. A quote prices at most one shipment. Without a quoteId, creation prices the shipment again. To quote a shipment that will be created with pickup.savedLocationCode, quote with that location's merchantId, branchId and pickupLocationId (from GET /api/v2/external/pickup-locations); a quote priced from a different pickup point is refused at creation with QUOTE_MISMATCH. No reservation of driver capacity is made; check availability with /api/v2/external/serviceability.","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/v2/external/quotes","href":"/api-reference/external-shipments/quote-a-merchant-delivery-fee-that-is-honoured-for-15-minutes","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["External Shipments"],"operationId":"createExternalShipmentQuote","summary":"Quote a merchant delivery fee that is honoured for 15 minutes","description":"Prices the road route between the two points with the merchant's current tariff, exactly as shipment creation does, and returns a quoteId valid until expiresAt (15 minutes). A shipment created with that quoteId before it expires, for the same pickup and destination points, is charged this price even if the tariff changes in between. A quote prices at most one shipment. Without a quoteId, creation prices the shipment again. To quote a shipment that will be created with pickup.savedLocationCode, quote with that location's merchantId, branchId and pickupLocationId (from GET /api/v2/external/pickup-locations); a quote priced from a different pickup point is refused at creation with QUOTE_MISMATCH. No reservation of driver capacity is made; check availability with /api/v2/external/serviceability.","security":["ee7486f3-6d49-4698-8e72-fad13d4cf4e2"],"requestBody":"4048f256-1830-4d01-989f-8e24f541e7b7","responses":{"200":"d403d9c1-5327-4637-8d6e-a444afe2f73a","400":"ce85fac5-18d0-44bc-b22b-f0413aeae89f","401":"712eaab3-9375-4903-9454-5257dabe1ced","403":"2a5cf7ff-207b-4c06-b710-44fe06fbd6bb","422":"c557cd5d-2ece-4a83-bd0b-d8a124aea058","429":"390d0f0c-de96-46ee-ac58-8de8e3cabd7b","503":"9919fdb6-0bf0-4b97-b544-64dc02b17b47"},"method":"post","type":"path","servers":["75971e53-b119-43d6-8592-4776264cb4c7","ab621a2f-9f82-4625-8803-7357fcdb35eb"],"path":"/api/v2/external/quotes","baseUrlOptions":["https://api-test.drop-hub.com","https://api.drop-hub.com"],"title":"Quote a merchant delivery fee that is honoured for 15 minutes","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"description":"The pickup is a saved branch and pickup location, or an exact pickup point; a point, when given, is what the route is measured from.","required":["merchantId","destinationLatitude","destinationLongitude"],"properties":{"merchantId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"merchantId","typeLabel":"string\u003cuuid>"},"destinationLatitude":{"type":"number","minimum":-90,"maximum":90,"isRequired":true,"uniqueKey":"destinationLatitude","typeLabel":"number"},"destinationLongitude":{"type":"number","minimum":-180,"maximum":180,"isRequired":true,"uniqueKey":"destinationLongitude","typeLabel":"number"},"branchId":{"oneOf":[{"type":"string","format":"uuid","uniqueKey":"branchId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","uniqueKey":"branchId.oneOf.1","typeLabel":"null"}],"uniqueKey":"branchId","typeLabel":"string\u003cuuid> | null"},"pickupLocationId":{"oneOf":[{"type":"string","format":"uuid","uniqueKey":"pickupLocationId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","uniqueKey":"pickupLocationId.oneOf.1","typeLabel":"null"}],"uniqueKey":"pickupLocationId","typeLabel":"string\u003cuuid> | null"},"pickupLatitude":{"oneOf":[{"type":"number","minimum":-90,"maximum":90,"description":"The exact pickup point, when one was chosen; the location's own otherwise.","uniqueKey":"pickupLatitude.oneOf.0","typeLabel":"number"},{"type":"null","minimum":-90,"maximum":90,"description":"The exact pickup point, when one was chosen; the location's own otherwise.","uniqueKey":"pickupLatitude.oneOf.1","typeLabel":"null"}],"uniqueKey":"pickupLatitude","typeLabel":"number | null"},"pickupLongitude":{"oneOf":[{"type":"number","minimum":-180,"maximum":180,"uniqueKey":"pickupLongitude.oneOf.0","typeLabel":"number"},{"type":"null","minimum":-180,"maximum":180,"uniqueKey":"pickupLongitude.oneOf.1","typeLabel":"null"}],"uniqueKey":"pickupLongitude","typeLabel":"number | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"merchantId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","destinationLatitude":0,"destinationLongitude":0,"branchId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","pickupLocationId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","pickupLatitude":0,"pickupLongitude":0}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"d403d9c1-5327-4637-8d6e-a444afe2f73a":{"description":"Current quote","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["distanceMetres","durationSeconds","price","routeGeometry","routeGeometryFormat"],"properties":{"distanceMetres":{"type":"integer","format":"int64","minimum":0,"isRequired":true,"uniqueKey":"distanceMetres","typeLabel":"integer\u003cint64>"},"durationSeconds":{"type":"integer","format":"int64","minimum":0,"isRequired":true,"uniqueKey":"durationSeconds","typeLabel":"integer\u003cint64>"},"price":{"type":"object","additionalProperties":false,"required":["amount","currency"],"properties":{"amount":{"type":"number","isRequired":true,"uniqueKey":"price.amount","typeLabel":"number"},"currency":{"type":"string","example":"SAR","isRequired":true,"uniqueKey":"price.currency","typeLabel":"string"}},"isRequired":true,"uniqueKey":"price","typeLabel":"object"},"routeGeometry":{"type":"string","isRequired":true,"uniqueKey":"routeGeometry","typeLabel":"string"},"routeGeometryFormat":{"type":"string","isRequired":true,"uniqueKey":"routeGeometryFormat","typeLabel":"string"},"quoteId":{"oneOf":[{"type":"string","description":"Present only on POST /api/v2/external/quotes; null on non-binding estimates.","format":"uuid","uniqueKey":"quoteId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","description":"Present only on POST /api/v2/external/quotes; null on non-binding estimates.","uniqueKey":"quoteId.oneOf.1","typeLabel":"null"}],"uniqueKey":"quoteId","typeLabel":"string\u003cuuid> | null"},"expiresAt":{"oneOf":[{"type":"string","description":"When the quoteId stops being accepted at shipment creation.","format":"date-time","uniqueKey":"expiresAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When the quoteId stops being accepted at shipment creation.","uniqueKey":"expiresAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"expiresAt","typeLabel":"string\u003cdate-time> | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"distanceMetres":1,"durationSeconds":1,"price":{"amount":123,"currency":"SAR"},"routeGeometry":"\u003cstring>","routeGeometryFormat":"\u003cstring>","quoteId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","expiresAt":"2023-11-07T05:31:56Z"}}},"exampleType":"generated"}},"exampleType":"generated"},"ce85fac5-18d0-44bc-b22b-f0413aeae89f":{"description":"The request syntax, path parameter, query parameter, or JSON document is malformed.","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 Problem Details with stable DropHub extensions","additionalProperties":true,"required":["type","title","status","code","timestamp","correlationId","requestId"],"properties":{"type":{"type":"string","format":"uri","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","maxLength":128,"isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","format":"int32","minimum":400,"maximum":599,"isRequired":true,"uniqueKey":"status","typeLabel":"integer\u003cint32>"},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]{1,63}$","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"timestamp":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"correlationId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"correlationId","typeLabel":"string\u003cuuid>"},"requestId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"requestId","typeLabel":"string\u003cuuid>"},"detail":{"type":"string","maxLength":512,"uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"violations":{"type":"array","maxItems":20,"items":{"type":"object","additionalProperties":false,"required":["field","code","message"],"properties":{"field":{"type":"string","maxLength":128,"isRequired":true,"uniqueKey":"violations.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","maxLength":64,"isRequired":true,"uniqueKey":"violations.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","maxLength":256,"isRequired":true,"uniqueKey":"violations.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"violations.items.[INDEX]","typeLabel":"object"},"uniqueKey":"violations","typeLabel":"object[]"}},"example":{"type":"https://api.drophub.example/problems/access-denied","title":"Access denied","status":403,"detail":"Access to this resource is denied.","instance":"/api/v2/external/shipments/018f2d8a-1f00-7000-8000-000000000206","code":"ACCESS_DENIED","timestamp":"2026-08-22T18:30:00Z","correlationId":"018f2d8a-1f00-7000-8000-000000000207","requestId":"018f2d8a-1f00-7000-8000-000000000208"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"https://api.drophub.example/problems/access-denied","title":"Access denied","status":403,"detail":"Access to this resource is denied.","instance":"/api/v2/external/shipments/018f2d8a-1f00-7000-8000-000000000206","code":"ACCESS_DENIED","timestamp":"2026-08-22T18:30:00Z","correlationId":"018f2d8a-1f00-7000-8000-000000000207","requestId":"018f2d8a-1f00-7000-8000-000000000208"}}},"exampleType":"generated"}},"exampleType":"generated"},"712eaab3-9375-4903-9454-5257dabe1ced":{"description":"Authentication failed without account, token, or tenant enumeration.","headers":{"WWW-Authenticate":{"description":"Bearer challenge for an unauthenticated or invalid-token request.","schema":{"type":"string","example":"Bearer"}}},"content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 Problem Details with stable DropHub extensions","additionalProperties":true,"required":["type","title","status","code","timestamp","correlationId","requestId"],"properties":{"type":{"type":"string","format":"uri","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","maxLength":128,"isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","format":"int32","minimum":400,"maximum":599,"isRequired":true,"uniqueKey":"status","typeLabel":"integer\u003cint32>"},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]{1,63}$","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"timestamp":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"correlationId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"correlationId","typeLabel":"string\u003cuuid>"},"requestId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"requestId","typeLabel":"string\u003cuuid>"},"detail":{"type":"string","maxLength":512,"uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"violations":{"type":"array","maxItems":20,"items":{"type":"object","additionalProperties":false,"required":["field","code","message"],"properties":{"field":{"type":"string","maxLength":128,"isRequired":true,"uniqueKey":"violations.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","maxLength":64,"isRequired":true,"uniqueKey":"violations.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","maxLength":256,"isRequired":true,"uniqueKey":"violations.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"violations.items.[INDEX]","typeLabel":"object"},"uniqueKey":"violations","typeLabel":"object[]"}},"example":{"type":"https://api.drophub.example/problems/access-denied","title":"Access denied","status":403,"detail":"Access to this resource is denied.","instance":"/api/v2/external/shipments/018f2d8a-1f00-7000-8000-000000000206","code":"ACCESS_DENIED","timestamp":"2026-08-22T18:30:00Z","correlationId":"018f2d8a-1f00-7000-8000-000000000207","requestId":"018f2d8a-1f00-7000-8000-000000000208"},"uniqueKey":"","typeLabel":"object"},"example":{"type":"https://api.drophub.example/problems/authentication-required","title":"Authentication required","status":401,"detail":"Authentication is required for this resource.","instance":"/api/v2/external/shipments/018f2d8a-1f00-7000-8000-000000000206","code":"AUTHENTICATION_REQUIRED","timestamp":"2026-08-22T18:30:00Z","correlationId":"018f2d8a-1f00-7000-8000-000000000207","requestId":"018f2d8a-1f00-7000-8000-000000000208"},"examples":{"Example":{"title":"Example","value":{"type":"https://api.drophub.example/problems/authentication-required","title":"Authentication required","status":401,"detail":"Authentication is required for this resource.","instance":"/api/v2/external/shipments/018f2d8a-1f00-7000-8000-000000000206","code":"AUTHENTICATION_REQUIRED","timestamp":"2026-08-22T18:30:00Z","correlationId":"018f2d8a-1f00-7000-8000-000000000207","requestId":"018f2d8a-1f00-7000-8000-000000000208"}}},"exampleType":"examples"}},"exampleType":"examples"},"2a5cf7ff-207b-4c06-b710-44fe06fbd6bb":{"description":"Access denied without exposing internal policy or resource ownership. No operation requires a second factor or a fresher live session.","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 Problem Details with stable DropHub extensions","additionalProperties":true,"required":["type","title","status","code","timestamp","correlationId","requestId"],"properties":{"type":{"type":"string","format":"uri","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","maxLength":128,"isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","format":"int32","minimum":400,"maximum":599,"isRequired":true,"uniqueKey":"status","typeLabel":"integer\u003cint32>"},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]{1,63}$","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"timestamp":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"correlationId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"correlationId","typeLabel":"string\u003cuuid>"},"requestId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"requestId","typeLabel":"string\u003cuuid>"},"detail":{"type":"string","maxLength":512,"uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"violations":{"type":"array","maxItems":20,"items":{"type":"object","additionalProperties":false,"required":["field","code","message"],"properties":{"field":{"type":"string","maxLength":128,"isRequired":true,"uniqueKey":"violations.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","maxLength":64,"isRequired":true,"uniqueKey":"violations.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","maxLength":256,"isRequired":true,"uniqueKey":"violations.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"violations.items.[INDEX]","typeLabel":"object"},"uniqueKey":"violations","typeLabel":"object[]"}},"example":{"type":"https://api.drophub.example/problems/access-denied","title":"Access denied","status":403,"detail":"Access to this resource is denied.","instance":"/api/v2/external/shipments/018f2d8a-1f00-7000-8000-000000000206","code":"ACCESS_DENIED","timestamp":"2026-08-22T18:30:00Z","correlationId":"018f2d8a-1f00-7000-8000-000000000207","requestId":"018f2d8a-1f00-7000-8000-000000000208"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"https://api.drophub.example/problems/access-denied","title":"Access denied","status":403,"detail":"Access to this resource is denied.","instance":"/api/v2/external/shipments/018f2d8a-1f00-7000-8000-000000000206","code":"ACCESS_DENIED","timestamp":"2026-08-22T18:30:00Z","correlationId":"018f2d8a-1f00-7000-8000-000000000207","requestId":"018f2d8a-1f00-7000-8000-000000000208"}}},"exampleType":"generated"}},"exampleType":"generated"},"c557cd5d-2ece-4a83-bd0b-d8a124aea058":{"description":"The request fails strict syntax or semantic validation.","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 Problem Details with stable DropHub extensions","additionalProperties":true,"required":["type","title","status","code","timestamp","correlationId","requestId"],"properties":{"type":{"type":"string","format":"uri","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","maxLength":128,"isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","format":"int32","minimum":400,"maximum":599,"isRequired":true,"uniqueKey":"status","typeLabel":"integer\u003cint32>"},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]{1,63}$","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"timestamp":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"correlationId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"correlationId","typeLabel":"string\u003cuuid>"},"requestId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"requestId","typeLabel":"string\u003cuuid>"},"detail":{"type":"string","maxLength":512,"uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"violations":{"type":"array","maxItems":20,"items":{"type":"object","additionalProperties":false,"required":["field","code","message"],"properties":{"field":{"type":"string","maxLength":128,"isRequired":true,"uniqueKey":"violations.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","maxLength":64,"isRequired":true,"uniqueKey":"violations.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","maxLength":256,"isRequired":true,"uniqueKey":"violations.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"violations.items.[INDEX]","typeLabel":"object"},"uniqueKey":"violations","typeLabel":"object[]"}},"example":{"type":"https://api.drophub.example/problems/access-denied","title":"Access denied","status":403,"detail":"Access to this resource is denied.","instance":"/api/v2/external/shipments/018f2d8a-1f00-7000-8000-000000000206","code":"ACCESS_DENIED","timestamp":"2026-08-22T18:30:00Z","correlationId":"018f2d8a-1f00-7000-8000-000000000207","requestId":"018f2d8a-1f00-7000-8000-000000000208"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"https://api.drophub.example/problems/access-denied","title":"Access denied","status":403,"detail":"Access to this resource is denied.","instance":"/api/v2/external/shipments/018f2d8a-1f00-7000-8000-000000000206","code":"ACCESS_DENIED","timestamp":"2026-08-22T18:30:00Z","correlationId":"018f2d8a-1f00-7000-8000-000000000207","requestId":"018f2d8a-1f00-7000-8000-000000000208"}}},"exampleType":"generated"}},"exampleType":"generated"},"390d0f0c-de96-46ee-ac58-8de8e3cabd7b":{"description":"The security operation is temporarily rate limited.","headers":{"Retry-After":{"description":"Suggested delay in seconds when available.","schema":{"type":"integer","minimum":1}}},"content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 Problem Details with stable DropHub extensions","additionalProperties":true,"required":["type","title","status","code","timestamp","correlationId","requestId"],"properties":{"type":{"type":"string","format":"uri","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","maxLength":128,"isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","format":"int32","minimum":400,"maximum":599,"isRequired":true,"uniqueKey":"status","typeLabel":"integer\u003cint32>"},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]{1,63}$","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"timestamp":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"correlationId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"correlationId","typeLabel":"string\u003cuuid>"},"requestId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"requestId","typeLabel":"string\u003cuuid>"},"detail":{"type":"string","maxLength":512,"uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"violations":{"type":"array","maxItems":20,"items":{"type":"object","additionalProperties":false,"required":["field","code","message"],"properties":{"field":{"type":"string","maxLength":128,"isRequired":true,"uniqueKey":"violations.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","maxLength":64,"isRequired":true,"uniqueKey":"violations.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","maxLength":256,"isRequired":true,"uniqueKey":"violations.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"violations.items.[INDEX]","typeLabel":"object"},"uniqueKey":"violations","typeLabel":"object[]"}},"example":{"type":"https://api.drophub.example/problems/access-denied","title":"Access denied","status":403,"detail":"Access to this resource is denied.","instance":"/api/v2/external/shipments/018f2d8a-1f00-7000-8000-000000000206","code":"ACCESS_DENIED","timestamp":"2026-08-22T18:30:00Z","correlationId":"018f2d8a-1f00-7000-8000-000000000207","requestId":"018f2d8a-1f00-7000-8000-000000000208"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"https://api.drophub.example/problems/access-denied","title":"Access denied","status":403,"detail":"Access to this resource is denied.","instance":"/api/v2/external/shipments/018f2d8a-1f00-7000-8000-000000000206","code":"ACCESS_DENIED","timestamp":"2026-08-22T18:30:00Z","correlationId":"018f2d8a-1f00-7000-8000-000000000207","requestId":"018f2d8a-1f00-7000-8000-000000000208"}}},"exampleType":"generated"}},"exampleType":"generated"},"9919fdb6-0bf0-4b97-b544-64dc02b17b47":{"description":"A required qualified external provider is not configured or available.","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 Problem Details with stable DropHub extensions","additionalProperties":true,"required":["type","title","status","code","timestamp","correlationId","requestId"],"properties":{"type":{"type":"string","format":"uri","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","maxLength":128,"isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","format":"int32","minimum":400,"maximum":599,"isRequired":true,"uniqueKey":"status","typeLabel":"integer\u003cint32>"},"code":{"type":"string","pattern":"^[A-Z][A-Z0-9_]{1,63}$","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"timestamp":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"correlationId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"correlationId","typeLabel":"string\u003cuuid>"},"requestId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"requestId","typeLabel":"string\u003cuuid>"},"detail":{"type":"string","maxLength":512,"uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","format":"uri-reference","uniqueKey":"instance","typeLabel":"string\u003curi-reference>"},"violations":{"type":"array","maxItems":20,"items":{"type":"object","additionalProperties":false,"required":["field","code","message"],"properties":{"field":{"type":"string","maxLength":128,"isRequired":true,"uniqueKey":"violations.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","maxLength":64,"isRequired":true,"uniqueKey":"violations.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","maxLength":256,"isRequired":true,"uniqueKey":"violations.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"violations.items.[INDEX]","typeLabel":"object"},"uniqueKey":"violations","typeLabel":"object[]"}},"example":{"type":"https://api.drophub.example/problems/access-denied","title":"Access denied","status":403,"detail":"Access to this resource is denied.","instance":"/api/v2/external/shipments/018f2d8a-1f00-7000-8000-000000000206","code":"ACCESS_DENIED","timestamp":"2026-08-22T18:30:00Z","correlationId":"018f2d8a-1f00-7000-8000-000000000207","requestId":"018f2d8a-1f00-7000-8000-000000000208"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"https://api.drophub.example/problems/access-denied","title":"Access denied","status":403,"detail":"Access to this resource is denied.","instance":"/api/v2/external/shipments/018f2d8a-1f00-7000-8000-000000000206","code":"ACCESS_DENIED","timestamp":"2026-08-22T18:30:00Z","correlationId":"018f2d8a-1f00-7000-8000-000000000207","requestId":"018f2d8a-1f00-7000-8000-000000000208"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"ee7486f3-6d49-4698-8e72-fad13d4cf4e2":{"oauthClientCredentials":{"type":"oauth2","description":"OAuth 2.0 client-credentials flow for external machine-to-machine integrations.","flows":{"clientCredentials":{"tokenUrl":"/api/v2/oauth/token","scopes":{"quotes:write":"Calculate shipment quotes without creating shipments","shipments:read":"Read Merchant-owned shipments","shipments:write":"Create and cancel Merchant-owned shipments","tracking:read":"Read merchant-owned shipment tracking projections","webhooks:manage":"Configure and rotate the merchant's single signed shipment webhook"}}},"scopes":["quotes:write"],"schemeName":"oauthClientCredentials"}}},"servers":{"75971e53-b119-43d6-8592-4776264cb4c7":{"url":"https://api-test.drop-hub.com","description":"Sandbox. Isolated data and credentials."},"ab621a2f-9f82-4625-8803-7357fcdb35eb":{"url":"https://api.drop-hub.com","description":"Production. Production credentials only."}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"oauth2","description":"OAuth 2.0 client-credentials flow for external machine-to-machine integrations.","flows":{"clientCredentials":{"tokenUrl":"/api/v2/oauth/token","scopes":{"quotes:write":"Calculate shipment quotes without creating shipments","shipments:read":"Read Merchant-owned shipments","shipments:write":"Create and cancel Merchant-owned shipments","tracking:read":"Read merchant-owned shipment tracking projections","webhooks:manage":"Configure and rotate the merchant's single signed shipment webhook"}}},"scopes":["quotes:write"],"schemeName":"oauthClientCredentials"},"schema":{"title":"OAuth2 Auth","type":"string","isRequired":true,"description":"OAuth 2.0 client-credentials flow for external machine-to-machine integrations.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"oauthClientCredentials","name":"Authorization"}],"title":"oauthClientCredentials"}]},"originalFileLocation":"openapi.yaml"},"subdomain":"drophub","siteName":"DropHub External API","title":"Quote a merchant delivery fee that is honoured for 15 minutes - DropHub External API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-31T18:46:07.600Z","originalFileLocation":"api-reference/external-shipments/quote-a-merchant-delivery-fee-that-is-honoured-for-15-minutes.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=\"Prices the road route between the two points with the merchant\u0026#x27;s current tariff, exactly as shipment creation does, and returns a quoteId valid until expiresAt (15 minutes). A shipment created with that quoteId before it expires, for the same pickup and destination points, is charged this price even if the tariff changes in between. A quote prices at most one shipment. Without a quoteId, creation prices the shipment again. To quote a shipment that will be created with pickup.savedLocationCode, quote with that location\u0026#x27;s merchantId, branchId and pickupLocationId (from GET /api/v2/external/pickup-locations); a quote priced from a different pickup point is refused at creation with QUOTE_MISMATCH. No reservation of driver capacity is made; check availability with /api/v2/external/serviceability.\">\u003cmeta data-mint-head name=\"application-name\" content=\"DropHub External 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/drophub/-u0AZn-QTgeIsg7H/_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/drophub/-u0AZn-QTgeIsg7H/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/drophub/-u0AZn-QTgeIsg7H/_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/drophub/-u0AZn-QTgeIsg7H/_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/drophub/-u0AZn-QTgeIsg7H/_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/drophub/-u0AZn-QTgeIsg7H/_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/drophub/-u0AZn-QTgeIsg7H/_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/drophub/-u0AZn-QTgeIsg7H/_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/drophub/-u0AZn-QTgeIsg7H/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Quote a merchant delivery fee that is honoured for 15 minutes - DropHub External API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Prices the road route between the two points with the merchant\u0026#x27;s current tariff, exactly as shipment creation does, and returns a quoteId valid until expiresAt (15 minutes). A shipment created with that quoteId before it expires, for the same pickup and destination points, is charged this price even if the tariff changes in between. A quote prices at most one shipment. Without a quoteId, creation prices the shipment again. To quote a shipment that will be created with pickup.savedLocationCode, quote with that location\u0026#x27;s merchantId, branchId and pickupLocationId (from GET /api/v2/external/pickup-locations); a quote priced from a different pickup point is refused at creation with QUOTE_MISMATCH. No reservation of driver capacity is made; check availability with /api/v2/external/serviceability.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"DropHub External API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.drop-hub.com/api-reference/external-shipments/quote-a-merchant-delivery-fee-that-is-honoured-for-15-minutes\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://drophub.mintlify.app/_mintlify/api/og/v2?division=External+Shipments\u0026amp;title=Quote+a+merchant+delivery+fee+that+is+honoured+for+15+minutes\u0026amp;description=Prices+the+road+route+between+the+two+points+with+the+merchant%27s+current+tariff%2C+exactly+as+shipment+creation+does%2C+and+returns+a+quoteId+valid+until+expiresAt+\u0026amp;theme=5002099e9da6e761d875299b\u0026amp;signature=c6b0026a2ce9527531e4a424896b235795fe2e244269556b794c0ca325386245\">\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=\"Quote a merchant delivery fee that is honoured for 15 minutes - DropHub External API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Prices the road route between the two points with the merchant\u0026#x27;s current tariff, exactly as shipment creation does, and returns a quoteId valid until expiresAt (15 minutes). A shipment created with that quoteId before it expires, for the same pickup and destination points, is charged this price even if the tariff changes in between. A quote prices at most one shipment. Without a quoteId, creation prices the shipment again. To quote a shipment that will be created with pickup.savedLocationCode, quote with that location\u0026#x27;s merchantId, branchId and pickupLocationId (from GET /api/v2/external/pickup-locations); a quote priced from a different pickup point is refused at creation with QUOTE_MISMATCH. No reservation of driver capacity is made; check availability with /api/v2/external/serviceability.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://drophub.mintlify.app/_mintlify/api/og/v2?division=External+Shipments\u0026amp;title=Quote+a+merchant+delivery+fee+that+is+honoured+for+15+minutes\u0026amp;description=Prices+the+road+route+between+the+two+points+with+the+merchant%27s+current+tariff%2C+exactly+as+shipment+creation+does%2C+and+returns+a+quoteId+valid+until+expiresAt+\u0026amp;theme=5002099e9da6e761d875299b\u0026amp;signature=c6b0026a2ce9527531e4a424896b235795fe2e244269556b794c0ca325386245\">\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/drophub/-u0AZn-QTgeIsg7H/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"DropHub External API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#F0630F\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.drop-hub.com/api-reference/external-shipments/quote-a-merchant-delivery-fee-that-is-honoured-for-15-minutes\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/external-shipments/quote-a-merchant-delivery-fee-that-is-honoured-for-15-minutes.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.drop-hub.com/#organization\",\"name\":\"DropHub External API\",\"url\":\"https://docs.drop-hub.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/drophub/qYk8Wm8U0QVU5HCy/images/logo.png?fit=max\u0026auto=format\u0026n=qYk8Wm8U0QVU5HCy\u0026q=85\u0026s=826b10e7d04c91ac183ed0c95172b175\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.drop-hub.com#website\",\"name\":\"DropHub External API\",\"url\":\"https://docs.drop-hub.com\",\"publisher\":{\"@id\":\"https://docs.drop-hub.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.drop-hub.com/api-reference/external-shipments/quote-a-merchant-delivery-fee-that-is-honoured-for-15-minutes#webpage\",\"url\":\"https://docs.drop-hub.com/api-reference/external-shipments/quote-a-merchant-delivery-fee-that-is-honoured-for-15-minutes\",\"name\":\"Quote a merchant delivery fee that is honoured for 15 minutes\",\"description\":\"Prices the road route between the two points with the merchant's current tariff, exactly as shipment creation does, and returns a quoteId valid until expiresAt (15 minutes). A shipment created with that quoteId before it expires, for the same pickup and destination points, is charged this price even if the tariff changes in between. A quote prices at most one shipment. Without a quoteId, creation prices the shipment again. To quote a shipment that will be created with pickup.savedLocationCode, quote with that location's merchantId, branchId and pickupLocationId (from GET /api/v2/external/pickup-locations); a quote priced from a different pickup point is refused at creation with QUOTE_MISMATCH. No reservation of driver capacity is made; check availability with /api/v2/external/serviceability.\",\"dateModified\":\"2026-10-31T18:46:07.600Z\",\"isPartOf\":{\"@id\":\"https://docs.drop-hub.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.drop-hub.com/api-reference/external-shipments/quote-a-merchant-delivery-fee-that-is-honoured-for-15-minutes#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.drop-hub.com/api-reference/external-shipments/quote-a-merchant-delivery-fee-that-is-honoured-for-15-minutes#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API reference\",\"item\":\"https://docs.drop-hub.com/api-reference/authentication/oauth-20-client-credentials-token-issuance-for-machine-integrations\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Quote a merchant delivery fee that is honoured for 15 minutes\",\"item\":\"https://docs.drop-hub.com/api-reference/external-shipments/quote-a-merchant-delivery-fee-that-is-honoured-for-15-minutes\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.drop-hub.com/api-reference/external-shipments/quote-a-merchant-delivery-fee-that-is-honoured-for-15-minutes#apireference\",\"headline\":\"Quote a merchant delivery fee that is honoured for 15 minutes\",\"name\":\"Quote a merchant delivery fee that is honoured for 15 minutes\",\"description\":\"Prices the road route between the two points with the merchant's current tariff, exactly as shipment creation does, and returns a quoteId valid until expiresAt (15 minutes). A shipment created with that quoteId before it expires, for the same pickup and destination points, is charged this price even if the tariff changes in between. A quote prices at most one shipment. Without a quoteId, creation prices the shipment again. To quote a shipment that will be created with pickup.savedLocationCode, quote with that location's merchantId, branchId and pickupLocationId (from GET /api/v2/external/pickup-locations); a quote priced from a different pickup point is refused at creation with QUOTE_MISMATCH. No reservation of driver capacity is made; check availability with /api/v2/external/serviceability.\",\"url\":\"https://docs.drop-hub.com/api-reference/external-shipments/quote-a-merchant-delivery-fee-that-is-honoured-for-15-minutes\",\"mainEntityOfPage\":{\"@id\":\"https://docs.drop-hub.com/api-reference/external-shipments/quote-a-merchant-delivery-fee-that-is-honoured-for-15-minutes#webpage\"},\"dateModified\":\"2026-10-31T18:46:07.600Z\",\"publisher\":{\"@id\":\"https://docs.drop-hub.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.drop-hub.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"DropHub External API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"DropHub External API","nav":{"global":null,"groups":[{"group":"Getting Started","pages":[{"title":"Quickstart","href":"/quickstart"},{"title":"DropHub External API","sidebarTitle":"Overview","href":"/overview"},{"title":"Environments","href":"/environments"},{"title":"Sandbox","href":"/sandbox"}]},{"group":"Authentication","pages":[{"title":"Authentication","href":"/authentication"}]},{"group":"Shipments","pages":[{"title":"Shipments","href":"/shipments"},{"title":"Locations, quotes, and availability","href":"/availability"},{"title":"Tracking","href":"/tracking"},{"title":"Cancellation","href":"/cancellation"}]},{"group":"Events","pages":[{"title":"Webhooks","href":"/webhooks"}]},{"group":"Request semantics","pages":[{"title":"Idempotency and ETags","href":"/idempotency-and-etags"},{"title":"Errors","href":"/errors"}]},{"group":"API reference","pages":[{"group":"Authentication","pages":[{"title":"OAuth 2.0 client-credentials token issuance for machine integrations","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/v2/oauth/token","href":"/api-reference/authentication/oauth-20-client-credentials-token-issuance-for-machine-integrations"},{"title":"Public OAuth token verification keys (RFC 7517)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/v2/oauth/jwks.json","href":"/api-reference/authentication/public-oauth-token-verification-keys-rfc-7517"}]},{"group":"Sandbox","pages":[{"title":"Idempotently provision this merchant's complete sandbox fixture","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/v2/external/sandbox/bootstrap","href":"/api-reference/sandbox/idempotently-provision-this-merchants-complete-sandbox-fixture"},{"title":"Read this merchant's sandbox readiness checklist","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/v2/external/sandbox/readiness","href":"/api-reference/sandbox/read-this-merchants-sandbox-readiness-checklist"},{"title":"Reset only the calling merchant's sandbox integration fixtures","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/v2/external/sandbox/reset","href":"/api-reference/sandbox/reset-only-the-calling-merchants-sandbox-integration-fixtures"},{"title":"Keep the next sandbox shipment before the driver-offer boundary","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/v2/external/sandbox/dispatch-holds","href":"/api-reference/sandbox/keep-the-next-sandbox-shipment-before-the-driver-offer-boundary"},{"title":"Have the sandbox driver report a delivery as failed","description":"Sandbox deployments only (404 SANDBOX_ONLY elsewhere). The disposable driver that accepted this shipment reports it undeliverable through the real driver operation, so the shipment moves to FAILED with the given reason and the shipment.failed webhook is sent. Every other sandbox step (assignment, pickup, delivery with photo proof) is performed automatically by the sandbox driver. 409 SANDBOX_DRIVER_NOT_CARRYING_SHIPMENT until a sandbox driver has accepted the shipment, and once it is delivered, failed or cancelled.","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/v2/external/sandbox/shipments/{shipmentId}/delivery-failures","href":"/api-reference/sandbox/have-the-sandbox-driver-report-a-delivery-as-failed"}]},{"group":"External Shipments","pages":[{"title":"Quote a merchant delivery fee that is honoured for 15 minutes","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/v2/external/quotes","href":"/api-reference/external-shipments/quote-a-merchant-delivery-fee-that-is-honoured-for-15-minutes"},{"title":"Create one shipment from a merchant reference and two location pins","description":"DropHub derives address and city context, route, coverage, pricing, carrier eligibility, service and dispatch decisions, SAR/payment defaults, lifecycle defaults, and the customer tracking URL. Idempotency-Key is optional because the merchant reference is the default key. With quoteId the delivery fee is the quoted one. Quote refusals: 422 QUOTE_NOT_FOUND (unknown or another merchant's), 422 QUOTE_EXPIRED, 422 QUOTE_MISMATCH (different pickup or destination point), 409 QUOTE_ALREADY_USED (already priced another shipment). An idempotent replay of the same request returns the original shipment with 200.","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/v2/external/shipments","href":"/api-reference/external-shipments/create-one-shipment-from-a-merchant-reference-and-two-location-pins"},{"title":"Check current pickup, merchant coverage and carrier availability","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/v2/external/serviceability","href":"/api-reference/external-shipments/check-current-pickup-merchant-coverage-and-carrier-availability"},{"title":"Read one merchant-owned shipment","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/v2/external/shipments/{shipmentId}","href":"/api-reference/external-shipments/read-one-merchant-owned-shipment"},{"title":"Change the destination or recipient of an own Direct API shipment","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /api/v2/external/shipments/{shipmentId}","href":"/api-reference/external-shipments/change-the-destination-or-recipient-of-an-own-direct-api-shipment"},{"title":"Loss, damage and failed-delivery incidents of an owned shipment","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/v2/external/shipments/{shipmentId}/incidents","href":"/api-reference/external-shipments/loss-damage-and-failed-delivery-incidents-of-an-owned-shipment"},{"title":"Read one evidence file attached to an incident of an owned shipment","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/v2/external/shipments/{shipmentId}/incidents/evidence/{assetId}","href":"/api-reference/external-shipments/read-one-evidence-file-attached-to-an-incident-of-an-owned-shipment"},{"title":"Where DropHub's delivery companies deliver, combined","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/v2/external/coverage/areas","href":"/api-reference/external-shipments/where-drophubs-delivery-companies-deliver-combined"},{"title":"List the merchant's pickup locations and their collection hours","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/v2/external/pickup-locations","href":"/api-reference/external-shipments/list-the-merchants-pickup-locations-and-their-collection-hours"},{"title":"Cancel before physical pickup","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/v2/external/shipments/{shipmentId}/cancel","href":"/api-reference/external-shipments/cancel-before-physical-pickup"},{"title":"Read protected proof metadata for an owned shipment","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/v2/external/shipments/{shipmentId}/proof","href":"/api-reference/external-shipments/read-protected-proof-metadata-for-an-owned-shipment"},{"title":"Read one protected proof asset for an owned shipment","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/v2/external/shipments/{shipmentId}/proof/{stage}/content","href":"/api-reference/external-shipments/read-one-protected-proof-asset-for-an-owned-shipment"}]},{"group":"External Tracking","pages":[{"title":"Read partner-safe shipment progress and available driver location","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/v2/external/shipments/{shipmentId}/tracking","href":"/api-reference/external-tracking/read-partner-safe-shipment-progress-and-available-driver-location"},{"title":"Read customer-safe progress through a time-bound bearer link","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/v2/public/tracking/{code}","href":"/api-reference/external-tracking/read-customer-safe-progress-through-a-time-bound-bearer-link"},{"title":"Read customer-safe progress through the waybill number printed on the label","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/v2/public/tracking/waybills/{shipmentNumber}","href":"/api-reference/external-tracking/read-customer-safe-progress-through-the-waybill-number-printed-on-the-label"}]},{"group":"External Webhooks","pages":[{"title":"Read the merchant's webhook configuration","deprecated":null,"version":null,"openapi":"/openapi.yaml get /api/v2/external/webhook","href":"/api-reference/external-webhooks/read-the-merchants-webhook-configuration"},{"title":"Configure the merchant's single shipment webhook","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/v2/external/webhook","href":"/api-reference/external-webhooks/configure-the-merchants-single-shipment-webhook"},{"title":"Remove the merchant's webhook configuration","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /api/v2/external/webhook","href":"/api-reference/external-webhooks/remove-the-merchants-webhook-configuration"},{"title":"Change callback URL, events, or pause state","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /api/v2/external/webhook","href":"/api-reference/external-webhooks/change-callback-url-events-or-pause-state"},{"title":"Rotate the HMAC secret with a 24-hour overlap","deprecated":null,"version":null,"openapi":"/openapi.yaml post /api/v2/external/webhook/secret-rotations","href":"/api-reference/external-webhooks/rotate-the-hmac-secret-with-a-24-hour-overlap"}]}]}]},"basePath":"","title":"Quote a merchant delivery fee that is honoured for 15 minutes - DropHub External API","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","clsx-xpJZXxdP.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BTZUMDnx.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DqdKa2R4.js"]}