Jobs

Jobs represent work orders for warehouse operations such as wave picks. Jobs group consignments together for efficient processing.

Endpoints Overview

Method Endpoint Description
POST /v1/jobs/wave-pick Create a wave pick job
GET /v1/jobs/{jobId}/wave-pick Get wave pick job details
GET /v1/jobs/{jobId}/wave-pick/consignments Get job consignments
POST /v1/jobs/{jobId}/wave-pick/consignments/add Add consignments to job
POST /v1/jobs/{jobId}/wave-pick/consignments/remove Remove consignments from job
POST /v1/jobs/{jobId}/wave-pick/consignments/dispatch-data/xlsx Download wave pick dispatch data as XLSX

Create Wave Pick Job

Create a new wave pick job.

Endpoint: POST /v1/jobs/wave-pick

Request Body

{
  "warehouseId": "550e8400-e29b-41d4-a716-446655445010",
  "clientId": "550e8400-e29b-41d4-a716-446655445100",
  "style": 1,
  "dueDateTime": "2024-01-15T12:00:00Z",
  "priority": 2,
  "reference": "WAVE-001",
  "description": "Morning wave pick for express orders"
}
Field Type Required Description
warehouseId uuid Yes The ID of the warehouse where the job is created
clientId uuid Yes The ID of the client for the job
style integer No Wave pick style (see Wave Pick Style Values)
dueDateTime datetime No Due date and time of the job
priority integer No Job priority (see Job Priority Values)
reference string No Job reference
description string No Job description

Request Example

curl -X POST "https://api.consignlyhq.com/v1/jobs/wave-pick" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "warehouseId": "550e8400-e29b-41d4-a716-446655445010",
    "clientId": "550e8400-e29b-41d4-a716-446655445100",
    "style": 1,
    "dueDateTime": "2024-01-15T12:00:00Z",
    "priority": 2,
    "reference": "WAVE-001",
    "description": "Morning wave pick for express orders"
  }'

Response Example

{
  "jobId": "550e8400-e29b-41d4-a716-446655445000"
}

Response Fields

Field Type Description
jobId uuid The ID of the created wave pick job

Get Job Details

Retrieve details for a specific wave pick job.

Endpoint: GET /v1/jobs/{jobId}/wave-pick

Path Parameters

Parameter Type Required Description
jobId uuid Yes The job ID

Request Example

curl -X GET "https://api.consignlyhq.com/v1/jobs/550e8400-e29b-41d4-a716-446655445000/wave-pick" \
  -H "Authorization: Bearer ACCESS_TOKEN"

Response Example

{
  "jobId": "550e8400-e29b-41d4-a716-446655445000",
  "jobNumber": "JOB-2024-001234",
  "warehouseId": "550e8400-e29b-41d4-a716-446655445010",
  "clientId": "550e8400-e29b-41d4-a716-446655445100",
  "status": 2,
  "wavePickStyle": 1,
  "dueDateTime": "2024-01-15T12:00:00Z",
  "reference": "WAVE-001",
  "description": "Morning wave pick for express orders",
  "jobConsignments": [
    {
      "id": "550e8400-e29b-41d4-a716-446655445020",
      "consignmentNumber": "CON-001",
      "referenceNumber": "REF-001",
      "clientId": "550e8400-e29b-41d4-a716-446655445100",
      "clientName": "Example Client",
      "clientCode": "ECL",
      "dateEntered": "2024-01-10",
      "type": 1,
      "status": 2,
      "warehouseId": "550e8400-e29b-41d4-a716-446655445010",
      "warehouseCode": "WH01",
      "warehouseName": "Main Warehouse",
      "carrierId": "550e8400-e29b-41d4-a716-446655445200",
      "carrierName": "Express Freight",
      "carrierCode": "EXF",
      "carrierReferenceNumber": "EXF-REF-001",
      "carrierRunNumber": "RUN-01",
      "carrierRunOrdinal": 1,
      "ediStatus": null
    }
  ]
}

Job Response Fields

Field Type Description
jobId uuid Job ID
jobNumber string System-generated job number
warehouseId uuid ID of the job warehouse
clientId uuid ID of the job client
status integer Job status (see Job Status Values)
wavePickStyle integer Wave pick style (see Wave Pick Style Values)
dueDateTime datetime Due date and time
reference string Job reference
description string Job description
jobConsignments array Consignments in job (see Consignments for field details)

Job Status Values

Value Status Description
-2 Incomplete Job is incomplete
-1 Open Job is open
1 Draft Job in draft
2 ReadyToStart Job ready to start
3 InProgress Job in progress
4 Complete Job completed
5 Cancelled Job cancelled

Job Priority Values

Value Priority
2 Normal
3 High
4 Urgent

Wave Pick Style Values

Value Style Description
1 ParallelPicking Pick multiple orders in parallel
2 BulkPicking Pick in bulk across orders

Get Job Consignments

Get the list of consignments for a wave pick job.

Endpoint: GET /v1/jobs/{jobId}/wave-pick/consignments

Path Parameters

Parameter Type Required Description
jobId uuid Yes The job ID

Query Parameters

Parameter Type Required Description
IncludeVoid boolean No Whether void consignments should be included

Request Example

curl -X GET "https://api.consignlyhq.com/v1/jobs/550e8400-e29b-41d4-a716-446655445000/wave-pick/consignments?IncludeVoid=false" \
  -H "Authorization: Bearer ACCESS_TOKEN"

Response Example

{
  "consignments": [
    {
      "id": "550e8400-e29b-41d4-a716-446655445020",
      "consignmentNumber": "CON-001",
      "referenceNumber": "REF-001",
      "clientId": "550e8400-e29b-41d4-a716-446655445100",
      "clientName": "Example Client",
      "clientCode": "ECL",
      "dateEntered": "2024-01-10",
      "type": 1,
      "status": 2,
      "warehouseId": "550e8400-e29b-41d4-a716-446655445010",
      "warehouseCode": "WH01",
      "warehouseName": "Main Warehouse",
      "carrierId": "550e8400-e29b-41d4-a716-446655445200",
      "carrierName": "Express Freight",
      "carrierCode": "EXF",
      "carrierReferenceNumber": "EXF-REF-001",
      "carrierRunNumber": "RUN-01",
      "carrierRunOrdinal": 1,
      "ediStatus": null
    }
  ]
}

Response Fields

Field Type Description
consignments array Collection of consignments in the wave pick job (see Consignments for field details)

Add Consignments to Job

Add one or more consignments to an existing job.

Endpoint: POST /v1/jobs/{jobId}/wave-pick/consignments/add

Path Parameters

Parameter Type Required Description
jobId uuid Yes The job ID

Request Body

{
  "consignmentIds": [
    "550e8400-e29b-41d4-a716-446655445030",
    "550e8400-e29b-41d4-a716-446655445031"
  ]
}
Field Type Required Description
consignmentIds uuid[] Yes Array of consignment IDs to add

Request Example

curl -X POST "https://api.consignlyhq.com/v1/jobs/550e8400-e29b-41d4-a716-446655445000/wave-pick/consignments/add" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "consignmentIds": [
      "550e8400-e29b-41d4-a716-446655445030",
      "550e8400-e29b-41d4-a716-446655445031"
    ]
  }'

Response

Status: 200 OK

Error Cases

Status Cause Resolution
404 Job not found Verify job ID
400 Consignment already in job Check consignment assignments
400 Consignment not eligible Verify consignment status

Remove Consignments from Job

Remove one or more consignments from a job.

Endpoint: POST /v1/jobs/{jobId}/wave-pick/consignments/remove

Path Parameters

Parameter Type Required Description
jobId uuid Yes The job ID

Request Body

{
  "consignmentIds": [
    "550e8400-e29b-41d4-a716-446655445030"
  ]
}
Field Type Required Description
consignmentIds uuid[] Yes Array of consignment IDs to remove

Request Example

curl -X POST "https://api.consignlyhq.com/v1/jobs/550e8400-e29b-41d4-a716-446655445000/wave-pick/consignments/remove" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "consignmentIds": [
      "550e8400-e29b-41d4-a716-446655445030"
    ]
  }'

Response

Status: 200 OK


Get Wave Pick Dispatch Data XLSX

Generate an XLSX file containing dispatch data for consignments assigned to a wave pick job.

Endpoint: POST /v1/jobs/{jobId}/wave-pick/consignments/dispatch-data/xlsx

Path Parameters

Parameter Type Required Description
jobId uuid Yes The wave pick job ID

Request Body

{
  "sortOrder": 1
}
Field Type Required Description
sortOrder integer Yes Sort order for rows in the generated spreadsheet (see Dispatch Data Sort Order Values)

Dispatch Data Sort Order Values

Value Sort Order Description
1 CarrierRunNumber_ProductCode_CarrierRunOrdinal Sort by carrier run number, then product code, then carrier run ordinal
2 CarrierRunNumber_CarrierRunOrdinal_ProductCode Sort by carrier run number, then carrier run ordinal, then product code
3 ProductCode_CarrierRunNumber_CarrierRunOrdinal Sort by product code, then carrier run number, then carrier run ordinal
4 CarrierRunOrdinal_ProductCode_CarrierRunNumber Sort by carrier run ordinal, then product code, then carrier run number
5 Location_ProductCode_CarrierRunNumber_CarrierRunOrdinal Sort by location, then product code, then carrier run number, then carrier run ordinal

Request Example

curl -X POST "https://api.consignlyhq.com/v1/jobs/550e8400-e29b-41d4-a716-446655445000/wave-pick/consignments/dispatch-data/xlsx" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "sortOrder": 1
  }' \
  --output wave-pick-dispatch-data.xlsx

Response

Returns an .xlsx file download with content type application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.

Notes

This endpoint is intended for dispatch-data export workflows and requires the dispatch-data report feature to be enabled for the organisation.


Jobs in Consignment Detail

When retrieving consignment details, associated jobs are included:

{
  "id": "550e8400-e29b-41d4-a716-446655445020",
  "jobs": [
    {
      "jobId": "550e8400-e29b-41d4-a716-446655445000",
      "jobNumber": "JOB-2024-001234",
      "reference": "WAVE-001",
      "status": 2,
      "priority": 3,
      "type": 1,
      "wavePickStyle": 1,
      "position": 1,
      "dueDateTime": "2024-01-15T12:00:00Z"
    }
  ]
}