openapi: 3.1.0 info: title: Budbee API version: '2026-10-06' description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-06: 23 operation(s) read from 1 public documentation page(s) (each operation names its page in x-source). This is not the provider''s published contract; Budbee has published no machine-readable contract that the pipeline could find. Engine: local.' x-evidence-tiers: code-example: 27 documentation: -4 pages-with-code: 1 pages-read: 1 x-generated-from: documentation x-provenance: generated x-authored-by: API Evangelist x-generated: '2026-10-06' x-generator: generate-contract-from-docs.py x-engine: local x-sources: - https://developer.budbee.com servers: - url: https://api.budbee.com paths: /: get: operationId: get tags: - Api summary: GET / x-source: https://developer.budbee.com responses: '200': description: Success (shape read from the example response on the page) content: application/json: schema: $ref: '#/components/schemas/GetResponse' x-evidence: kind: code-example language: curl snippet: "curl --user apiKey:apiSecret \"api_endpoint_here\" \n Make sure to replace apiKey and apiSecret with your API key and secret\ \ key. \n An API user connects to the API via TLS (HTTPS) and authenticates with Basic Authentication. Budbee generates public and private\ \ keys for each API users, one set of keys for the sandbox and one set for the production environment. \n Use the API Key as username\ \ and API Sec" /box/return: get: operationId: get_box_return tags: - Box summary: Create Return Drop Off description: Create Return Drop Off x-source: https://developer.budbee.com responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetBoxReturnResponse' x-evidence: kind: documentation post: operationId: post_box_return tags: - Box summary: POST /box/return x-source: https://developer.budbee.com requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostBoxReturnRequest' responses: '201': description: Success (shape read from the example response on the page) content: application/json: schema: $ref: '#/components/schemas/PostBoxReturnResponse' x-evidence: kind: code-example language: curl snippet: "curl \"https://api.budbee.com/box/return\"\n --user apiKey:apiSecret\n -H \"Content-Type: application/vnd.budbee.standalone-box-returns-v1+json\"\ \n -X POST -d\n {\n \"warehouseId\":99,\n \"cartId\":\"CartId9999\",\n \"consumer\":{\n \"name\":\"John Doe\",\n \"phoneNumber\":\"\ +330000000000\",\n \"email\":\"john.Doe@budbee.com\",\n \"address\":{\n \"street\":\"Liberty Street 123\",\n \"postalCode\":\"12345\"\ ,\n \"city\":\"Amsterdam\",\n \"country\":\"NL\"" /boxes/BOX0001: get: operationId: get_boxes_BOX0001 tags: - Boxes summary: GET /boxes/BOX0001 x-source: https://developer.budbee.com parameters: - name: language in: query required: false schema: type: string responses: '200': description: Success (shape read from the example response on the page) content: application/json: schema: $ref: '#/components/schemas/GetBoxesBox0001Response' x-evidence: kind: code-example language: curl snippet: "curl \"https://api.budbee.com/boxes/BOX0001?language=EN\" --user apiKey:apiSecret -H \"Content-Type: application/vnd.budbee.boxes-v1+json\"\ \n The request above will return a JSON object containing the box. \n {\n \"id\": \"BOX0001\",\n \"address\": {\n \"street\": \"Alströmergatan\ \ 39\",\n \"postalCode\": \"11247\",\n \"city\": \"Stockholm\",\n \"country\": \"SE\",\n \"coordinate\": {\n \"latitude\": 59.336125,\n\ \ \"longitude\": 18.028590\n" /boxes/all/SE: get: operationId: get_boxes_all_SE tags: - Boxes summary: GET /boxes/all/SE x-source: https://developer.budbee.com responses: '200': description: Success (shape read from the example response on the page) content: application/json: schema: $ref: '#/components/schemas/GetBoxesAllSeResponse' x-evidence: kind: code-example language: curl snippet: "curl \"https://api.budbee.com/boxes/all/SE\" --user apiKey:apiSecret -H \"Content-Type: application/vnd.budbee.boxes-v1+json\"\ \n The request above will return a JSON object containing the boxes that are available for delivery. \n {\n \"lockers\": [\n {\n \"\ id\": \"BOX0001\",\n \"address\": {\n \"street\": \"Alströmergatan 39\",\n \"postalCode\": \"11247\",\n \"city\": \"Stockholm\",\n \"\ country\": \"SE\",\n \"coordinate\": {\n \"latitude" /boxes/postalcodes/validate/SE/{seid}: get: operationId: get_boxes_postalcodes_validate_SE_seid tags: - Boxes summary: GET /boxes/postalcodes/validate/SE/{seId} x-source: https://developer.budbee.com parameters: - name: seid in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: code-example language: curl snippet: "curl \"https://api.budbee.com/boxes/postalcodes/validate/SE/11247\" --user apiKey:apiSecret -H \"Content-Type: application/vnd.budbee.boxes-v1+json\"\ \n The request above will return a JSON object containing the boxes that are available for delivery. \n {\n \"lockers\": [\n {\n \"\ id\": \"BOX0001\",\n \"address\": {\n \"street\": \"Alströmergatan 39\",\n \"postalCode\": \"11247\",\n \"city\": \"Stockholm\",\n \"\ country\": \"SE\",\n \"co" /intervals/{countrycode}/{postalcode}/{fromdate}/{todate}: get: operationId: get_intervals_countrycode_postalcode_fromdate_todate tags: - Intervals summary: Get Upcoming Delivery Windows description: Get Upcoming Delivery Windows x-source: https://developer.budbee.com parameters: - name: countrycode in: path required: true schema: type: string - name: postalcode in: path required: true schema: type: string - name: fromdate in: path required: true schema: type: string - name: todate in: path required: true schema: type: string responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetIntervalsCountrycodePostalcodeFromdateTodateResponse' x-evidence: kind: documentation /multiple/orders: get: operationId: get_multiple_orders tags: - Multiple summary: Create Order description: Create Order x-source: https://developer.budbee.com responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetMultipleOrdersResponse' x-evidence: kind: documentation post: operationId: post_multiple_orders tags: - Multiple summary: POST /multiple/orders x-source: https://developer.budbee.com requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostMultipleOrdersRequest' responses: '201': description: Success (status as documented) x-evidence: kind: code-example language: curl snippet: "curl \"https://api.budbee.com/multiple/orders\"\n --user apiKey:apiSecret\n -H \"Content-Type: application/vnd.budbee.multiple.orders-v2+json\"\ \n -X POST -d\n{\n \"collectionId\": 2672,\n \"cart\": {\n \"cartId\": \"0000001\",\n \"articles\": [\n {\n \"name\": \"High Sneakers\ \ - Blue\",\n \"reference\": \"VJ215A02F-A12\",\n \"quantity\": 1,\n \"unitPrice\": 16000, // 160.00 EUR\n \"currency\": \"EUR\",\n\ \ \"taxRate\": 2500,\n \"discountRate\": 0\n }" /multiple/orders/e140396d-5679-4211-96f8-c6c877b43186/parcels: get: operationId: get_multiple_orders_e140396d_5679_4211_96f8_c6c877b43186_parcels tags: - Multiple summary: Parcels Add Parcels to an existing Order description: Parcels Add Parcels to an existing Order x-source: https://developer.budbee.com responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetMultipleOrdersE140396D5679421196F8C6C877B43186ParcelsResp' x-evidence: kind: documentation /multiple/orders/e140396d-5679-4211-96f8-c6c877b43186/parcels/{parcelId}: get: operationId: get_multiple_orders_e140396d_5679_4211_96f8_c6c877b43186_parcels_parcelId tags: - Multiple summary: Remove a Parcel description: Remove a Parcel x-source: https://developer.budbee.com parameters: - name: parcelId in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: documentation /multiple/orders/{id}: delete: operationId: delete_multiple_orders_id tags: - Multiple summary: Cancel an Order description: Cancel an Order x-source: https://developer.budbee.com parameters: - name: id in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: documentation get: operationId: get_multiple_orders_id tags: - Multiple summary: Retrieve a Specific Order description: Retrieve a Specific Order x-source: https://developer.budbee.com parameters: - name: id in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: documentation put: operationId: put_multiple_orders_id tags: - Multiple summary: Update Consumer information description: Update Consumer information x-source: https://developer.budbee.com parameters: - name: id in: path required: true schema: type: string requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/PutMultipleOrdersIdRequest' responses: '200': description: Success (status as documented) x-evidence: kind: documentation /multiple/orders/{id}/parcels: post: operationId: post_multiple_orders_id_parcels tags: - Multiple summary: Add Parcels to an existing Order description: Add Parcels to an existing Order x-source: https://developer.budbee.com parameters: - name: id in: path required: true schema: type: string requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/PostMultipleOrdersIdParcelsRequest' responses: '201': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/PostMultipleOrdersIdParcelsResponse' x-evidence: kind: documentation /multiple/orders/{id}/parcels/{parcelid}: delete: operationId: delete_multiple_orders_id_parcels_parcelid tags: - Multiple summary: Remove a Parcel description: Remove a Parcel x-source: https://developer.budbee.com parameters: - name: id in: path required: true schema: type: string - name: parcelid in: path required: true schema: type: string responses: '200': description: Success (status as documented) x-evidence: kind: documentation /multiple/orders/{id}/tracking-url: get: operationId: get_multiple_orders_id_tracking_url tags: - Multiple summary: Request Tracking link for Order description: Request Tracking link for Order x-source: https://developer.budbee.com parameters: - name: id in: path required: true schema: type: string responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetMultipleOrdersIdTrackingUrlResponse' x-evidence: kind: documentation /postalcodes/validate/{countrycode}/{postalcode}: get: operationId: get_postalcodes_validate_countrycode_postalcode tags: - Postalcodes summary: Validate Postalcode description: Validate Postalcode x-source: https://developer.budbee.com parameters: - name: countrycode in: path required: true schema: type: string - name: postalcode in: path required: true schema: type: string responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetPostalcodesValidateCountrycodePostalcodeResponse' x-evidence: kind: documentation /postalcodes/{countrycode}: get: operationId: get_postalcodes_countrycode tags: - Postalcodes summary: This endpoint retrieves all postalcodes that Budbee performs deliveries in, separated by Country. description: Postal Code list x-source: https://developer.budbee.com parameters: - name: countrycode in: path required: true schema: type: string responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetPostalcodesCountrycodeResponse' x-evidence: kind: documentation /returns: get: operationId: get_returns tags: - Returns summary: Create Return Pickup description: Create Return Pickup x-source: https://developer.budbee.com responses: '200': description: Success (status as documented) content: application/json: schema: $ref: '#/components/schemas/GetReturnsResponse' x-evidence: kind: documentation post: operationId: post_returns tags: - Returns summary: POST /returns x-source: https://developer.budbee.com requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostReturnsRequest' responses: '201': description: Success (shape read from the example response on the page) content: application/json: schema: $ref: '#/components/schemas/PostReturnsResponse' x-evidence: kind: code-example language: curl snippet: "curl \"https://api.budbee.com/returns\"\n --user apiKey:apiSecret\n -H \"Content-Type: application/vnd.budbee.returns-v1+json\"\ \n -X POST -d\n {\n \"cartId\": \"0000001\",\n \"warehouseId\": 2672,\n \"consumer\": {\n \"name\": \"John Doe\",\n \"referencePerson\"\ : null,\n \"telephoneNumber\": \"+46700000000\",\n \"email\": \"john.doe@budbee.com\",\n \"address\": {\n \"street\": \"Grevgatan 9\"\ ,\n \"street2\": \"LGH 1601\",\n \"postalCode\": \"11453\",\n" /users/collection-points: get: operationId: get_users_collection_points tags: - Users summary: GET /users/collection-points x-source: https://developer.budbee.com responses: '200': description: Success (shape read from the example response on the page) content: application/json: schema: $ref: '#/components/schemas/GetUsersCollectionPointsResponse' x-evidence: kind: code-example language: curl snippet: "curl \"https://api.budbee.com/users/collection-points\"\n --user apiKey:apiSecret\n -H \"Content-Type: application/vnd.budbee.users-v1+json\"\ \n The above command returns JSON structured like this: \n [\n {\n \"id\": 2672,\n \"name\": \"Merchant Warehouse\",\n \"referencePerson\"\ : \"John Doe\",\n \"telephoneNumber\": \"+46700000000\",\n \"address\": {\n \"id\": 8793,\n \"street\": \"Sender Street 1\",\n \"postalCode\"\ : \"16353\",\n \"city\": \"" /webhooks/{webhookid}: post: operationId: post_webhooks_webhookid tags: - Webhooks summary: POST /webhooks/cancellations x-source: https://developer.budbee.com parameters: - name: webhookid in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostWebhooksWebhookidRequest' responses: '201': description: Success (status as documented) x-evidence: kind: code-example language: curl snippet: "curl \"https://api.budbee.com/webhooks/cancellations\"\n --user apiKey:apiSecret\n -H \"Content-Type: application/json\"\n -X\ \ POST -d \n{\n \"url\": \"http://yourserver.com/callbacks/cancellations\"\n}\n This webhook callback will contain JSON that looks like\ \ this: \n {\n \"id\": \"d95bad19-9252-4143-9abe-27bfaccb42ad\",\n \"token\": \"onww1jr4\",\n \"date\": 1474976376000,\n \"comment\"\ : \"This order should be returned to sender" collapsed_from: 8 example path(s) differing only at webhookId components: schemas: GetResponse: type: object properties: id: type: integer name: type: string referencePerson: type: string telephoneNumber: type: string address: type: object properties: id: type: integer street: type: string postalCode: type: string city: type: string country: type: string doorCode: type: string outsideDoor: type: boolean defaultCollectionPoint: type: boolean GetBoxReturnResponse: type: object properties: id: type: string token: type: string cartId: type: string returnWarehouse: type: object consumer: type: object parcels: type: array lockerId: type: string dimensions: type: object createdAt: type: string updatedAt: type: string PostBoxReturnRequest: type: object properties: warehouseId: type: integer cartId: type: string consumer: type: object properties: name: type: string phoneNumber: type: string email: type: string address: type: object properties: street: type: string postalCode: type: string city: type: string country: type: string lockerId: type: string dimensions: type: object properties: width: type: integer length: type: integer height: type: integer weight: type: integer volume: type: integer PostBoxReturnResponse: type: object properties: warehouseId: type: integer cartId: type: string consumer: type: object properties: name: type: string phoneNumber: type: string email: type: string address: type: object properties: street: type: string postalCode: type: string city: type: string country: type: string lockerId: type: string dimensions: type: object properties: width: type: integer length: type: integer height: type: integer weight: type: integer volume: type: integer GetBoxesBox0001Response: type: object properties: street: type: string postalCode: type: string city: type: string country: type: string coordinate: type: object properties: latitude: type: number longitude: type: number GetBoxesAllSeResponse: type: object properties: street: type: string postalCode: type: string city: type: string country: type: string coordinate: type: object properties: latitude: type: number longitude: type: number GetIntervalsCountrycodePostalcodeFromdateTodateResponse: type: object properties: collection: type: object delivery: type: object collectionPointIds: type: array fossilFree: type: boolean GetMultipleOrdersResponse: type: object properties: order: type: object PostMultipleOrdersRequest: type: object properties: collectionId: type: integer cart: type: object properties: cartId: type: string articles: type: array items: type: object properties: name: type: string reference: type: string quantity: type: integer unitPrice: type: integer currency: type: string taxRate: type: integer discountRate: type: integer delivery: type: object properties: name: type: string referencePerson: type: - string - 'null' socialSecurityNumber: type: string telephoneNumber: type: string email: type: string address: type: object properties: street: type: string street2: type: string postalCode: type: string city: type: string country: type: string doorCode: type: string outsideDoor: type: boolean additionalInfo: type: string requireSignature: type: boolean additionalServices: type: object properties: identificationCheckRequired: type: boolean recipientMinimumAge: type: integer recipientMustMatchEndCustomer: type: boolean numberOfMissRetries: type: - string - 'null' GetMultipleOrdersE140396D5679421196F8C6C877B43186ParcelsResp: type: object properties: id: type: integer shipmentId: type: string packageId: type: string label: type: string PutMultipleOrdersIdRequest: type: object properties: name: type: string referencePerson: type: string socialSecurityNumber: type: string telephoneNumber: type: string email: type: string doorCode: type: string outsideDoor: type: boolean additionalInfo: type: string PostMultipleOrdersIdParcelsRequest: type: object properties: shipmentId: type: string packageId: type: string dimensions: type: object PostMultipleOrdersIdParcelsResponse: type: object properties: id: type: integer shipmentId: type: string packageId: type: string label: type: string GetMultipleOrdersIdTrackingUrlResponse: type: object properties: url: type: string GetPostalcodesValidateCountrycodePostalcodeResponse: type: object properties: id: type: integer name: type: string referencePerson: type: string telephoneNumber: type: string address: type: object doorCode: type: string outsideDoor: type: boolean defaultCollectionPoint: type: boolean fossilFree: type: boolean GetPostalcodesCountrycodeResponse: type: object properties: postalCodes: type: array description: Array of postal code strings GetReturnsResponse: type: object properties: id: type: string token: type: string interval: type: object returnWarehouse: type: object consumer: type: object createdAt: type: string updatedAt: type: string parcels: type: array PostReturnsRequest: type: object properties: cartId: type: string warehouseId: type: integer consumer: type: object properties: name: type: string referencePerson: type: - string - 'null' telephoneNumber: type: string email: type: string address: type: object properties: street: type: string street2: type: string postalCode: type: string city: type: string country: type: string doorCode: type: string additionalInfo: type: string numberOfParcels: type: integer PostReturnsResponse: type: object properties: cartId: type: string warehouseId: type: integer consumer: type: object properties: name: type: string referencePerson: type: - string - 'null' telephoneNumber: type: string email: type: string address: type: object properties: street: type: string street2: type: string postalCode: type: string city: type: string country: type: string doorCode: type: string additionalInfo: type: string numberOfParcels: type: integer GetUsersCollectionPointsResponse: type: object properties: id: type: integer name: type: string referencePerson: type: string telephoneNumber: type: string address: type: object properties: id: type: integer street: type: string postalCode: type: string city: type: string country: type: string doorCode: type: string outsideDoor: type: boolean defaultCollectionPoint: type: boolean PostWebhooksWebhookidRequest: type: object properties: url: type: string tags: - name: Api - name: Box - name: Boxes - name: Intervals - name: Multiple - name: Postalcodes - name: Returns - name: Users - name: Webhooks