Partners
Partners represent the organizations you work with in Consignly, including clients (customers whose inventory you store/ship) and carriers (transport providers).
Endpoints Overview
| Method | Endpoint | Description |
|---|---|---|
GET |
/v1/partners |
Get a page of partners |
GET |
/v1/partners/{partnerId} |
Get partner details |
GET |
/v1/partners/{partnerId}/logo |
Download partner logo |
PUT |
/v1/partners/{partnerId}/logo |
Upload or replace partner logo |
GET |
/v1/partners/{partnerId}/logo-thumbnail |
Download partner logo thumbnail |
Get Partners Page
Retrieve a paginated list of partners with optional filters.
Endpoint: GET /v1/partners
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
PageIndex |
integer | No | Page number (default: 1) |
PageSize |
integer | No | Items per page (default: 25, max: 500) |
SearchText |
string | No | Filter by partner name or code |
Relationship |
integer | No | Filter by relationship type |
Status |
integer | No | Filter by partner status |
Partner Relationship Values
| Value | Relationship | Description |
|---|---|---|
1 |
Client | Customer/client whose inventory you store and ship |
2 |
Carrier | Carrier/transport provider who delivers inventory |
Partner Status Values
| Value | Status | Description |
|---|---|---|
1 |
Inactive | Inactive partner |
2 |
Active | Active partner |
Request Example
curl -X GET "https://api.consignlyhq.com/v1/partners?PageIndex=1&PageSize=50&Relationship=1&Status=1" \
-H "Authorization: Bearer ACCESS_TOKEN"
Response Example
{
"index": 1,
"total": 75,
"partners": [
{
"id": "550e8400-e29b-41d4-a716-446655442000",
"externalId": "EXT-001",
"name": "Example Client Ltd",
"code": "ECL",
"email": "contact@exampleclient.com",
"relationship": 1,
"status": 2
},
{
"id": "550e8400-e29b-41d4-a716-446655442001",
"externalId": null,
"name": "Fast Freight Co",
"code": "FFC",
"email": "ops@fastfreight.com",
"relationship": 2,
"status": 2
}
]
}
Response Fields
| Field | Type | Description |
|---|---|---|
id |
uuid | Partner ID |
externalId |
string | External ID of the partner |
name |
string | Partner name |
code |
string | Partner code (used in imports) |
email |
string | Contact email |
relationship |
integer | Relationship type (see Partner Relationship Values) |
status |
integer | Partner status (see Partner Status Values) |
Get Partner Details
Retrieve detailed information for a specific partner.
Endpoint: GET /v1/partners/{partnerId}
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
partnerId |
uuid | Yes | The partner ID |
Request Example
curl -X GET "https://api.consignlyhq.com/v1/partners/550e8400-e29b-41d4-a716-446655442000" \
-H "Authorization: Bearer ACCESS_TOKEN"
Response Example
{
"id": "550e8400-e29b-41d4-a716-446655442000",
"externalId": "EXT-001",
"relationship": 1,
"status": 2,
"name": "Example Client Ltd",
"code": "ECL",
"email": "contact@exampleclient.com",
"freightResolution": 0,
"freightWarningType": 1,
"freightWarningThreshold": 50.0,
"containerThresholdDays": 14,
"rotationMethod": 2,
"rotationMethodSecondary": 0,
"productBatchUsage": 2,
"productBestBeforeDateUsage": 1,
"productExpiryUsage": 3,
"productPackagingDateUsage": 1,
"productProductionDateUsage": 1,
"productSellByDateUsage": 1,
"productSubstitution": 1,
"productBatchSubstitution": 1,
"productBestBeforeDateSubstitution": 2,
"productExpirySubstitution": 2,
"productPackagingDateSubstitution": 1,
"productProductionDateSubstitution": 1,
"productSellByDateSubstitution": 1,
"productSerialSubstitution": 2,
"productBestBeforeDateCriticalThresholdDays": 30,
"productExpiryCriticalThresholdDays": 14,
"productPackagingDateCriticalThresholdDays": null,
"productProductionDateCriticalThresholdDays": null,
"productSellByDateCriticalThresholdDays": null,
"freeStorageHours": 48.0,
"unitTypes": [
{
"id": "550e8400-e29b-41d4-a716-446655442050",
"name": "Pallet",
"status": 1
}
]
}
Detail Response Fields
| Field | Type | Description |
|---|---|---|
id |
uuid | Partner ID |
externalId |
string | External ID of the partner |
relationship |
integer | Relationship type (see Partner Relationship Values) |
status |
integer | Partner status (see Partner Status Values) |
name |
string | Partner name |
code |
string | Partner code |
email |
string | Contact email |
freightResolution |
integer | Freight resolution method (see Freight Resolution Values) |
freightWarningType |
integer | Freight warning type (see Freight Warning Type Values) |
freightWarningThreshold |
number | Threshold beyond which freight warnings are displayed |
containerThresholdDays |
integer | Container hire threshold in days |
rotationMethod |
integer | Primary product rotation method (see Rotation Method Values) |
rotationMethodSecondary |
integer | Secondary product rotation method |
productBatchUsage |
integer | Batch attribute usage (see Product Attribute Usage Values) |
productBestBeforeDateUsage |
integer | Best before date attribute usage |
productExpiryUsage |
integer | Expiry date attribute usage |
productPackagingDateUsage |
integer | Packaging date attribute usage |
productProductionDateUsage |
integer | Production date attribute usage |
productSellByDateUsage |
integer | Sell by date attribute usage |
productSubstitution |
integer | Product substitution policy (see Product Substitution Values) |
productBatchSubstitution |
integer | Batch substitution policy |
productBestBeforeDateSubstitution |
integer | Best before date substitution policy |
productExpirySubstitution |
integer | Expiry substitution policy |
productPackagingDateSubstitution |
integer | Packaging date substitution policy |
productProductionDateSubstitution |
integer | Production date substitution policy |
productSellByDateSubstitution |
integer | Sell by date substitution policy |
productSerialSubstitution |
integer | Serial substitution policy |
productBestBeforeDateCriticalThresholdDays |
integer | Critical stock threshold for best before dates (days) |
productExpiryCriticalThresholdDays |
integer | Critical stock threshold for expiry dates (days) |
productPackagingDateCriticalThresholdDays |
integer | Critical stock threshold for packaging dates (days) |
productProductionDateCriticalThresholdDays |
integer | Critical stock threshold for production dates (days) |
productSellByDateCriticalThresholdDays |
integer | Critical stock threshold for sell by dates (days) |
freeStorageHours |
number | Number of hours for which product storage is free |
unitTypes |
array | Collection of this partner's custom unit types |
unitTypes[].id |
uuid | Unit type ID |
unitTypes[].name |
string | Unit type name |
unitTypes[].status |
integer | Unit type status |
Freight Resolution Values
| Value | Resolution | Description |
|---|---|---|
0 |
LeastExpensive | Use least expensive freight option |
1 |
MostExpensive | Use most expensive freight option |
2 |
Compounding | Compound freight costs |
Freight Warning Type Values
| Value | Type | Description |
|---|---|---|
0 |
None | No freight warnings |
1 |
Value | Warn based on value |
2 |
Margin | Warn based on margin |
Rotation Method Values
| Value | Method |
|---|---|
0 |
None |
1 |
Batch |
2 |
ExpiryAscending |
3 |
ExpiryDescending |
4 |
ProductionDateAscending |
5 |
ProductionDateDescending |
6 |
BestBeforeDateAscending |
7 |
BestBeforeDateDescending |
8 |
SellByDateAscending |
9 |
SellByDateDescending |
10 |
PackagingDateAscending |
11 |
PackagingDateDescending |
12 |
ReceivedDateAscending |
13 |
ReceivedDateDescending |
Product Attribute Usage Values
| Value | Usage | Description |
|---|---|---|
1 |
Hidden | Attribute is hidden |
2 |
Optional | Attribute is optional |
3 |
Required | Attribute is required |
Product Substitution Values
| Value | Policy | Description |
|---|---|---|
1 |
Allowed | Substitution is allowed |
2 |
NotAllowed | Substitution is not allowed |
Download Partner Logo
Download the original logo file for a partner.
Endpoint: GET /v1/partners/{partnerId}/logo
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
partnerId |
uuid | Yes | The partner ID |
Request Example
curl -X GET "https://api.consignlyhq.com/v1/partners/550e8400-e29b-41d4-a716-446655442000/logo" \
-H "Authorization: Bearer ACCESS_TOKEN" \
--output partner-logo.png
Response
Status: 200 OK
Returns the binary file content of the logo with appropriate Content-Type and Content-Disposition headers.
Error Cases
| Status | Cause | Resolution |
|---|---|---|
404 |
Partner not found or no logo present | Verify partner ID and that a logo has been uploaded |
Download Partner Logo Thumbnail
Download the thumbnail version of a partner's logo.
Endpoint: GET /v1/partners/{partnerId}/logo-thumbnail
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
partnerId |
uuid | Yes | The partner ID |
Request Example
curl -X GET "https://api.consignlyhq.com/v1/partners/550e8400-e29b-41d4-a716-446655442000/logo-thumbnail" \
-H "Authorization: Bearer ACCESS_TOKEN" \
--output partner-logo-thumbnail.png
Response
Status: 200 OK
Returns the binary file content of the logo thumbnail with appropriate Content-Type and Content-Disposition headers.
Error Cases
| Status | Cause | Resolution |
|---|---|---|
404 |
Partner not found or no logo present | Verify partner ID and that a logo has been uploaded |
Upload Partner Logo
Upload or replace a partner's logo.
Endpoint: PUT /v1/partners/{partnerId}/logo
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
partnerId |
uuid | Yes | The partner ID |
Request Body
{
"logo": {
"fileName": "partner-logo.png",
"contentType": "image/png",
"content": "<base64-encoded-file-content>",
"options": {
"printType": null
}
}
}
| Field | Type | Required | Description |
|---|---|---|---|
logo.fileName |
string | Yes | File name of the logo |
logo.contentType |
string | Yes | MIME type of the file |
logo.content |
string | Yes | Base64-encoded file content |
logo.options.printType |
integer | No | Print type for the file |
Request Example
curl -X PUT "https://api.consignlyhq.com/v1/partners/550e8400-e29b-41d4-a716-446655442000/logo" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"logo": {
"fileName": "partner-logo.png",
"contentType": "image/png",
"content": "<base64-encoded-file-content>"
}
}'
Response
Status: 200 OK
Using Partner Codes
Partner codes are used throughout the API for creating consignments:
In Consignment Import
{
"clientCode": "ECL",
"carrierCode": "FFC",
...
}
Finding the Right Partner
- Use the list endpoint with
SearchTextto find partners by name - Filter by
Relationshipto narrow down to clients or carriers - Use the partner
codein import requests
Error Cases
| Status | Cause | Resolution |
|---|---|---|
404 |
Partner not found | Verify partner ID |
400 |
Invalid filter parameter | Check parameter values |
Notes and Implementation Details
- AuthContext partner override: Several partner and partner-product endpoints support partner-scoped tokens. If the caller's token is partner-scoped, the server may override the
partnerIdpath parameter withAuthContext.PartnerId. This makes partner clients able to call endpoints without supplying their partner ID. - Paging defaults & limits: The list endpoints use predicate models (
PartnerPredicateModel,PartnerProductPredicateModel) with defaults and validator-enforced limits (defaultPageSizeandMaxPageSize). Consumers should assume server-side defaults if not provided and respect maximums returned by validation errors. - File responses: Logo endpoints return raw file streams (with
Content-Typeand a filename). When the logo is not present the endpoint returns404. - Products are client-only: Only partners with relationship
Client(customers) have associated products. Product endpoints enforce this and will return404or validation errors when used for non-client partners.
Related Endpoints
- Partner Products - Products for a partner
- Partner Schedules - Scheduling information
- Consignment Import - Create consignments using partner codes