Skip to content

Fulfilment API (1.0.0)

This is the API documentation for the Fulfilment API.

Download OpenAPI description
Languages
Servers
Mock server
https://developer-docs.quiqup.com/_mock/openapi/
Production
https://platform-api.quiqup.com/
Staging
https://platform-api.staging.quiqup.com/
Operations

Request

Book an Inbound Delivery

📌 Description

This endpoint allows you to book an inbound delivery to a warehouse. The system handles the complete lifecycle of inbound deliveries from booking to goods receipt.

🔹 Use Cases

  • Scheduling warehouse deliveries for inventory restocking - Booking collection slots for pickup from suppliers - Managing inbound logistics with proper documentation - Tracking delivery status through the fulfillment system

📋 Required Information

  • Booking ID: Unique identifier for the delivery booking (optional - auto-generated if not provided) - Warehouse Code: Target warehouse for the delivery - Time Slot: Start and end times for the delivery window - Attendees: List of people who will be present for the delivery - Items: List of products being delivered with quantities

📄 Optional Information

  • Pickup Details: If collection is required from a supplier - Documents: Supporting files like invoices or manifests - Custom Labels: Human-readable slot identifiers
Security
OAuth2
Bodyapplication/json
attendeesArray of strings(List of attendees who will be present for the delivery )required

Required: At least one attendee must be specified

documentsArray of objects(List of documents related to the delivery )

Optional: Supporting documents like invoices, manifests, etc.

itemsArray of objects(List of items being delivered )required

Required: At least one item must be specified

items[].​batch_numberstring(Batch number for the item )

Optional: For tracking specific batches

items[].​expiry_datestring(date-time)(Expiry date of the item )

Optional: For perishable items

items[].​manufacturing_datestring(date-time)(Manufacturing date of the item )

Optional: For tracking item age

items[].​quantityinteger(int64)(Quantity of the item being delivered )required

Required: Must be greater than 0

items[].​skustring(Stock Keeping Unit of the item )required

Required: Must be a valid SKU

items[].​unit_pricenumber(Unit price of the item )required

Required: For cost tracking purposes

items[].​uomstring(Unit of measurement for the item )

Optional: Standard unit like "kg", "pieces", etc.

items[].​uom_unitsinteger(int64)(Number of units in the UOM )

Optional: How many units make up the UOM

pickup_addressobject(PickupAddress represents the pickup location for collection )
pickup_contactobject(PickupContact represents the contact person for pickup )
slot_end_atstring(date-time)(End time of the delivery slot )required

Required: Must be after slot_start_at

slot_start_atstring(date-time)(Start time of the delivery slot )required

Required: Must be a valid future timestamp

warehouse_codestring(Warehouse code where the delivery will be received )required

Required: Must be a valid warehouse code

curl -i -X POST \
  https://developer-docs.quiqup.com/_mock/openapi/api/fulfilment/inbound/book \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "attendees": [
      "string"
    ],
    "documents": [
      {
        "document_type": "string",
        "file_name": "string",
        "file_size": 0,
        "file_url": "string",
        "mime_type": "string"
      }
    ],
    "items": [
      {
        "batch_number": "string",
        "expiry_date": "2019-08-24T14:15:22Z",
        "manufacturing_date": "2019-08-24T14:15:22Z",
        "quantity": 0,
        "sku": "string",
        "unit_price": 0,
        "uom": "string",
        "uom_units": 0
      }
    ],
    "pickup_address": {
      "address1": "string",
      "address2": "string",
      "city": "string",
      "coordinate": {
        "latitude": 0,
        "longitude": 0
      },
      "country": "string",
      "country_code": "string",
      "landmark": "string",
      "name": "string",
      "postcode": "string",
      "state": "string"
    },
    "pickup_contact": {
      "company": "string",
      "email": "string",
      "instructions": "string",
      "name": "string",
      "phone": "string"
    },
    "slot_end_at": "2019-08-24T14:15:22Z",
    "slot_start_at": "2019-08-24T14:15:22Z",
    "warehouse_code": "string"
  }'

Responses

Success response

Bodyapplication/json
asn_idstring(ASN (Advance Shipment Notice) ID )

Optional: Generated ASN ID for warehouse systems

inbound_idstring(Unique identifier for the inbound booking )required

Generated by the system

statusstring(InboundStatus represents the status of an inbound booking )required
Response
application/json
{ "asn_id": "string", "inbound_id": "string", "status": "string" }

Request

Get Single Inbound Delivery

📌 Description

This endpoint retrieves a specific inbound delivery by its ID. You can view detailed delivery information and track individual delivery progress.

🔹 Use Cases

  • Viewing specific delivery details for detailed tracking - Checking delivery status for operational planning - Accessing delivery documents and supporting files - Monitoring individual delivery progress
Security
OAuth2
Path
idstringrequired
curl -i -X GET \
  'https://developer-docs.quiqup.com/_mock/openapi/api/fulfilment/inbound/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Success response

Bodyapplication/json
inboundobject(Inbound represents a single inbound delivery )required
inbound.​asn_idstring(ASN (Advance Shipment Notice) ID )
inbound.​attendeesArray of strings(List of people who will be present for the delivery )
inbound.​created_atstring(date-time)(When the inbound was created )required
inbound.​documentsArray of objects(List of documents associated with the inbound )
inbound.​error_messagestring(Error message if the inbound encountered any issues )
inbound.​idstring(Unique identifier for the inbound booking )required
inbound.​itemsArray of objects(List of items in the inbound delivery )
inbound.​pickup_addressobject(PickupAddress represents the pickup location for collection )
inbound.​pickup_contactobject(PickupContact represents the contact person for pickup )
inbound.​pickup_windowstring(Pickup time window (e.g., "9:00 AM - 12:00 PM") )
inbound.​requires_collectionboolean(Whether this inbound requires collection from a pickup location )
inbound.​slot_end_atstring(date-time)(Scheduled end time for the delivery slot )
inbound.​slot_start_atstring(date-time)(Scheduled start time for the delivery slot )
inbound.​statusstring(InboundStatus represents the status of an inbound booking )required
inbound.​updated_atstring(date-time)(When the inbound was last updated )required
inbound.​warehouse_codestring(Target warehouse code )required
Response
application/json
{ "inbound": { "asn_id": "string", "attendees": [], "created_at": "2019-08-24T14:15:22Z", "documents": [], "error_message": "string", "id": "string", "items": [], "pickup_address": {}, "pickup_contact": {}, "pickup_window": "string", "requires_collection": true, "slot_end_at": "2019-08-24T14:15:22Z", "slot_start_at": "2019-08-24T14:15:22Z", "status": "string", "updated_at": "2019-08-24T14:15:22Z", "warehouse_code": "string" } }

Request

Get Inbound State History

📌 Description

This endpoint retrieves the state change history for a specific inbound delivery. The history tracks all status transitions from booking to completion.

🔹 Use Cases

  • Tracking delivery progress through different stages
  • Auditing status changes for compliance and reporting
  • Debugging issues by reviewing the state transition timeline
  • Understanding delivery lifecycle events
Security
OAuth2
Path
idstringrequired
curl -i -X GET \
  'https://developer-docs.quiqup.com/_mock/openapi/api/fulfilment/inbound/{id}/state-history' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Success response

Bodyapplication/json
historyArray of objects(List of state history records for the inbound )required
history[].​changed_bystring(Who or what triggered the change )
history[].​created_atstring(date-time)(When the state change occurred )required
history[].​idstring(Unique identifier for the history record )required
history[].​inbound_idstring(Inbound ID this history record belongs to )required
history[].​new_statusstring(InboundStatus represents the status of an inbound booking )required
history[].​old_statusstring(InboundStatus represents the status of an inbound booking )required
history[].​reasonstring(Reason for the state change )
history[].​sourcestring(Source of the state change (e.g., "webhook", "pull", "manual") )
history[].​wms_statusstring(WMS status from the warehouse management system )
Response
application/json
{ "history": [ {} ] }

Request

List All Inbound Deliveries

📌 Description

This endpoint retrieves all inbound deliveries for the authenticated user. You can view delivery history and track multiple deliveries across different time slots.

🔹 Use Cases

  • Viewing delivery history for inventory management - Tracking multiple deliveries across different time slots - Monitoring delivery status for planning purposes - Auditing inbound logistics for reporting
Security
OAuth2
Query
limitinteger(int64)

Maximum number of items to return per page (1-100)

pageinteger(int64)

Page number to return (starts at 1)

sortstring

Field to sort results by

sort_descboolean

Sort in descending order if true

statestring

Filter by inbound status

idsArray of strings

Filter by inbound IDs

asn_idstring

Filter by WMS ASN ID

curl -i -X GET \
  'https://developer-docs.quiqup.com/_mock/openapi/api/fulfilment/inbounds?limit=0&page=0&sort=string&sort_desc=true&state=string&ids=string&asn_id=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Success response

Bodyapplication/json
inboundsArray of objects(List of inbound deliveries for the user )required
inbounds[].​asn_idstring(ASN (Advance Shipment Notice) ID )
inbounds[].​attendeesArray of strings(List of people who will be present for the delivery )
inbounds[].​created_atstring(date-time)(When the inbound was created )required
inbounds[].​documentsArray of objects(List of documents associated with the inbound )
inbounds[].​error_messagestring(Error message if the inbound encountered any issues )
inbounds[].​idstring(Unique identifier for the inbound booking )required
inbounds[].​itemsArray of objects(List of items in the inbound delivery )
inbounds[].​pickup_addressobject(PickupAddress represents the pickup location for collection )
inbounds[].​pickup_contactobject(PickupContact represents the contact person for pickup )
inbounds[].​pickup_windowstring(Pickup time window (e.g., "9:00 AM - 12:00 PM") )
inbounds[].​requires_collectionboolean(Whether this inbound requires collection from a pickup location )
inbounds[].​slot_end_atstring(date-time)(Scheduled end time for the delivery slot )
inbounds[].​slot_start_atstring(date-time)(Scheduled start time for the delivery slot )
inbounds[].​statusstring(InboundStatus represents the status of an inbound booking )required
inbounds[].​updated_atstring(date-time)(When the inbound was last updated )required
inbounds[].​warehouse_codestring(Target warehouse code )required
paginationobject(pagination.PaginationMeta)required
pagination.​nextobject(pagination.PaginationRequest)
pagination.​next_urlstring
pagination.​prevobject(pagination.PaginationRequest)
pagination.​prev_urlstring
pagination.​totalinteger(int64)required
Response
application/json
{ "inbounds": [ {} ], "pagination": { "next": {}, "next_url": "string", "prev": {}, "prev_url": "string", "total": 0 } }

Request

Get Available Time Slots

📌 Description

This endpoint retrieves available time slots for inbound deliveries at a specific warehouse. You can specify a time range to get all available slots within that period.

🔹 Use Cases

  • Checking available delivery slots before booking an inbound - Planning delivery schedules for inventory restocking - Finding suitable time windows for warehouse deliveries - Optimizing delivery planning based on availability
Security
OAuth2
Query
warehouse_codestringrequired
start_timestring(date-time)required
end_timestring(date-time)required
curl -i -X GET \
  'https://developer-docs.quiqup.com/_mock/openapi/api/fulfilment/slots/available?warehouse_code=string&start_time=2019-08-24T14%3A15%3A22Z&end_time=2019-08-24T14%3A15%3A22Z' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Success response

Bodyapplication/json
slotsArray of objects(AvailableSlot represents a simplified time slot with only start and end times )required
slots[].​end_timestring(date-time)required
slots[].​start_timestring(date-time)required
Response
application/json
{ "slots": [ {} ] }
Operations
Operations
Operations