openapi: 3.0.3 info: title: BlueCart Catalogs Orders API version: '1.0' description: The BlueCart API is a REST API for the BlueCart wholesale ordering and procurement platform serving the hospitality and food and beverage industries. It exposes resource-oriented endpoints for managing orders, products, catalogs, clients, and users, returning JSON-encoded responses with standard HTTP status codes. The API is authenticated using AWS Signature Version 4 against the AWS execute-api service in the us-east-1 region, operates on a single object per request (no bulk updates), and uses next-token pagination returning 25 items per page on collection endpoints. This specification was generated from the public BlueCart API documentation at https://docs.bluecart.com/. contact: name: BlueCart url: https://www.bluecart.com/contact x-generated-from: documentation x-last-validated: '2026-06-02' servers: - url: https://{invokeUrl} description: BlueCart API AWS API Gateway invoke URL. The concrete host is provided in the BlueCart-supplied Postman collection (variable) and via your BlueCart account; it is not published in the public docs. variables: invokeUrl: default: api.bluecart.com description: AWS API Gateway invoke URL for the BlueCart API. security: - awsSigV4: [] apiKey: [] tags: - name: Orders description: Search, retrieve, place, and modify wholesale orders. paths: /orders/: get: operationId: searchOrders summary: Search For Orders description: Retrieves a page of orders (25 at a time) filtered by the supplied search parameters. Use the returned nextToken to page through results. tags: - Orders parameters: - name: client in: query description: Include client information in the response. required: false schema: type: boolean - name: vendor in: query description: Include vendor information in the response. required: false schema: type: boolean - name: status in: query description: Filter orders by status. required: false schema: type: string enum: - New - Processing - In-Transit/Shipped - Fulfilled - Cancelled - name: sortField in: query description: Field to sort results by. required: false schema: type: string enum: - creationDate - requestedDeliveryDate - deliveryDate - shippingDate - name: creationStartDate in: query description: Filter by order creation start date (YYYY-MM-DD). required: false schema: type: string format: date - name: creationEndDate in: query description: Filter by order creation end date (YYYY-MM-DD). required: false schema: type: string format: date - name: requestedDeliveryStartDate in: query description: Filter by requested delivery start date (YYYY-MM-DD). required: false schema: type: string format: date - name: requestedDeliveryEndDate in: query description: Filter by requested delivery end date (YYYY-MM-DD). required: false schema: type: string format: date - name: deliveryStartDate in: query description: Filter by delivery start date (YYYY-MM-DD). required: false schema: type: string format: date - name: deliveryEndDate in: query description: Filter by delivery end date (YYYY-MM-DD). required: false schema: type: string format: date - name: shippingStartDate in: query description: Filter by shipping start date (YYYY-MM-DD). required: false schema: type: string format: date - name: shippingEndDate in: query description: Filter by shipping end date (YYYY-MM-DD). required: false schema: type: string format: date - $ref: '#/components/parameters/NextToken' responses: '200': description: A page of matching orders. content: application/json: schema: $ref: '#/components/schemas/OrderList' examples: SearchOrders200Example: summary: Default searchOrders 200 response x-microcks-default: true value: orders: - orderId: 100245 clientId: 5012 vendorId: 880 status: New deliveryType: Delivery currency: USD deliveryCharge: 25 requestedDeliveryDate: '2026-06-10' deliveryDate: '2026-06-10' shippingDate: '2026-06-09' creationDate: '2026-06-02T14:30:00Z' lastUpdateDate: '2026-06-02T15:00:00Z' products: - {} addresses: {} totals: {} nextToken: eyJsYXN0SWQiOjEwMDI0NX0= '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: placeOrder summary: Place An Order description: Creates a new wholesale order on behalf of a client. tags: - Orders requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OrderCreate' examples: PlaceOrderRequestExample: summary: Default placeOrder request x-microcks-default: true value: clientId: 5012 user: id: 3001 type: STAFF deliveryCharge: 25 deliveryType: Delivery requestedDeliveryDate: '2026-06-10' currency: USD addresses: {} products: - productId: 90210 sku: WINE-CAB-750 name: Cabernet Sauvignon 750ml quantity: 12 price: 18.5 presetCreationDate: '2026-06-02T14:30:00Z' responses: '200': description: The created order, with any warnings. content: application/json: schema: $ref: '#/components/schemas/OrderCreateResult' examples: PlaceOrder200Example: summary: Default placeOrder 200 response x-microcks-default: true value: order: orderId: 100245 clientId: 5012 vendorId: 880 status: New deliveryType: Delivery currency: USD deliveryCharge: 25 requestedDeliveryDate: '2026-06-10' deliveryDate: '2026-06-10' shippingDate: '2026-06-09' creationDate: '2026-06-02T14:30:00Z' lastUpdateDate: '2026-06-02T15:00:00Z' products: - productId: {} sku: {} name: {} quantity: {} price: {} addresses: {} totals: {} warnings: - Requested delivery date is outside the standard window. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /orders/{id}: get: operationId: retrieveOrder summary: Retrieve An Order description: Retrieves a single order by its identifier. tags: - Orders parameters: - $ref: '#/components/parameters/OrderId' - name: client in: query description: Include client information in the response. required: false schema: type: boolean - name: vendor in: query description: Include vendor information in the response. required: false schema: type: boolean responses: '200': description: The requested order. content: application/json: schema: $ref: '#/components/schemas/Order' examples: RetrieveOrder200Example: summary: Default retrieveOrder 200 response x-microcks-default: true value: orderId: 100245 clientId: 5012 vendorId: 880 status: New deliveryType: Delivery currency: USD deliveryCharge: 25 requestedDeliveryDate: '2026-06-10' deliveryDate: '2026-06-10' shippingDate: '2026-06-09' creationDate: '2026-06-02T14:30:00Z' lastUpdateDate: '2026-06-02T15:00:00Z' products: - productId: 90210 sku: WINE-CAB-750 name: Cabernet Sauvignon 750ml quantity: 12 price: 18.5 addresses: {} totals: {} '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: modifyOrder summary: Modify An Order description: Updates an existing order identified by its identifier. tags: - Orders parameters: - $ref: '#/components/parameters/OrderId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/OrderUpdate' examples: ModifyOrderRequestExample: summary: Default modifyOrder request x-microcks-default: true value: userId: 3001 status: Processing deliveryCharge: 25 requestedDeliveryDate: '2026-06-10' deliveryDate: '2026-06-10' shippingDate: '2026-06-09' paymentStatus: Paid trackingInfo: 1Z999AA10123456784 addresses: {} products: - productId: 90210 sku: WINE-CAB-750 name: Cabernet Sauvignon 750ml quantity: 12 price: 18.5 responses: '200': description: The updated order. content: application/json: schema: $ref: '#/components/schemas/Order' examples: ModifyOrder200Example: summary: Default modifyOrder 200 response x-microcks-default: true value: orderId: 100245 clientId: 5012 vendorId: 880 status: New deliveryType: Delivery currency: USD deliveryCharge: 25 requestedDeliveryDate: '2026-06-10' deliveryDate: '2026-06-10' shippingDate: '2026-06-09' creationDate: '2026-06-02T14:30:00Z' lastUpdateDate: '2026-06-02T15:00:00Z' products: - productId: 90210 sku: WINE-CAB-750 name: Cabernet Sauvignon 750ml quantity: 12 price: 18.5 addresses: {} totals: {} '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: OrderUpdate: title: OrderUpdate type: object description: Payload for modifying an existing order. properties: userId: type: integer format: int64 description: Identifier of the user making the change. example: 3001 status: type: string description: New order status. enum: - New - Processing - In-Transit/Shipped - Fulfilled - Cancelled example: Processing deliveryCharge: type: number format: float description: Updated delivery charge. example: 25 requestedDeliveryDate: type: string format: date example: '2026-06-10' deliveryDate: type: string format: date example: '2026-06-10' shippingDate: type: string format: date example: '2026-06-09' paymentStatus: type: string description: Payment status for the order. example: Paid trackingInfo: type: string description: Shipment tracking information. example: 1Z999AA10123456784 addresses: type: object additionalProperties: true products: type: array items: $ref: '#/components/schemas/OrderProduct' OrderCreate: title: OrderCreate type: object description: Payload for placing a new order. required: - clientId - products properties: clientId: type: integer format: int64 description: Identifier of the client placing the order. example: 5012 user: type: object description: The user placing the order. properties: id: type: integer format: int64 example: 3001 type: type: string example: STAFF deliveryCharge: type: number format: float description: Delivery charge to apply. example: 25 deliveryType: type: string description: Delivery method. example: Delivery requestedDeliveryDate: type: string format: date description: Requested delivery date. example: '2026-06-10' currency: type: string description: ISO currency code. example: USD addresses: type: object description: Billing and shipping addresses. additionalProperties: true products: type: array description: Line items to include in the order. items: $ref: '#/components/schemas/OrderProduct' presetCreationDate: type: string format: date-time description: Optional preset creation timestamp for the order. example: '2026-06-02T14:30:00Z' OrderList: title: OrderList type: object description: A paginated list of orders. properties: orders: type: array items: $ref: '#/components/schemas/Order' nextToken: type: string description: Token to retrieve the next page; absent on the last page. example: eyJsYXN0SWQiOjEwMDI0NX0= OrderProduct: title: OrderProduct type: object description: A line item within an order. x-schema-source: documentation x-source-url: https://docs.bluecart.com/endpoints properties: productId: type: integer format: int64 description: Identifier of the product. example: 90210 sku: type: string description: Stock keeping unit of the product. example: WINE-CAB-750 name: type: string description: Product name. example: Cabernet Sauvignon 750ml quantity: type: number description: Quantity ordered. example: 12 price: type: number format: float description: Unit price for this line item. example: 18.5 Order: title: Order type: object description: A wholesale order between a client and a vendor. x-schema-source: documentation x-source-url: https://docs.bluecart.com/endpoints properties: orderId: type: integer format: int64 description: Unique order identifier. example: 100245 clientId: type: integer format: int64 description: Identifier of the client placing the order. example: 5012 vendorId: type: integer format: int64 description: Identifier of the vendor fulfilling the order. example: 880 status: type: string description: Current order status. enum: - New - Processing - In-Transit/Shipped - Fulfilled - Cancelled example: New deliveryType: type: string description: Delivery method for the order. example: Delivery currency: type: string description: ISO currency code for monetary amounts. example: USD deliveryCharge: type: number format: float description: Delivery charge applied to the order. example: 25 requestedDeliveryDate: type: string format: date description: Date delivery was requested for. example: '2026-06-10' deliveryDate: type: string format: date description: Actual delivery date. example: '2026-06-10' shippingDate: type: string format: date description: Date the order shipped. example: '2026-06-09' creationDate: type: string format: date-time description: Timestamp the order was created. example: '2026-06-02T14:30:00Z' lastUpdateDate: type: string format: date-time description: Timestamp the order was last updated. example: '2026-06-02T15:00:00Z' products: type: array description: Line items in the order. items: $ref: '#/components/schemas/OrderProduct' addresses: type: object description: Billing and shipping addresses for the order. additionalProperties: true totals: type: object description: Computed monetary totals for the order. additionalProperties: true Error: title: Error type: object description: Standard error response. properties: message: type: string description: Human-readable error message. example: Order not found. OrderCreateResult: title: OrderCreateResult type: object description: Result of placing an order, including any warnings. properties: order: $ref: '#/components/schemas/Order' warnings: type: array description: Non-fatal warnings raised while creating the order. items: type: string example: - Requested delivery date is outside the standard window. responses: Unauthorized: description: Authentication failed or credentials were missing. content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/Error' BadRequest: description: The request was malformed or failed validation. content: application/json: schema: $ref: '#/components/schemas/Error' parameters: NextToken: name: nextToken in: query description: Pagination token returned by a previous page; omit for the first page. required: false schema: type: string OrderId: name: id in: path description: Order identifier. required: true schema: type: integer format: int64 securitySchemes: awsSigV4: type: apiKey in: header name: Authorization description: AWS Signature Version 4 authorization against the AWS execute-api service in us-east-1. Requires an Access Key ID, Secret Access Key, and API Key generated in the BlueCart app under Settings, API Access Credentials. The API Key is supplied via the x-api-key header. apiKey: type: apiKey in: header name: x-api-key description: BlueCart API Key generated under Settings, API Access Credentials.