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 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 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

  1. Use the list endpoint with SearchText to find partners by name
  2. Filter by Relationship to narrow down to clients or carriers
  3. Use the partner code in 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 partnerId path parameter with AuthContext.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 (default PageSize and MaxPageSize). 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-Type and a filename). When the logo is not present the endpoint returns 404.
  • Products are client-only: Only partners with relationship Client (customers) have associated products. Product endpoints enforce this and will return 404 or validation errors when used for non-client partners.