Logistics API: Inbound Shipments V2

Logistics API: Inbound Shipments V2

Overview

The inbound shipments business process has changed from our V1 APIs, which are now deprecated.
Info
Please note that the resources below use a distinct and different base URL of https://api.core.logistics.shipvine.net/
Your existing API keys will still work. The new URL will return accept and return JSON on these new APIs, but if you send Content-Type: application/xml and Accept: application/xml headers, then you can continue to send and receive XML responses. Examples of both payloads are documented below.
Eventually, these new inbound shipment APIs will be rolled into the existing https://api.warehousefs.com/ or https://api.logistics.shipvine.com/ URLs, and all three will continue to work and be supported going forward. 
When sending inventory to Shipvine, we ask that you provide us with a notice of what items that you're sending to us, how many of each are in which carton, and (ideally) you physically label the cartons with a Shipvine Carton Label, which allows the warehouse to quickly receive inventory based on the data you've already provided.

In programming terms, the complete end-to-end scenario would look like:
  1. Issue a PUT request to  https://api.core.logistics.shipvine.net/public/v2/inbound-shipments/{merchantCode}/{merchantIdentifier} 
    1. This is documented as Resource #1 - PUT below.
    2. It's the equivalent of editing and saving a "draft" inbound shipment in the Shipvine Client Portal.
  2. Issue a POST request to https://api.core.logistics.shipvine.net/public/v2/inbound-shipments/{merchantCode}/{merchantIdentifier}/submit-for-approval
    1. This is documented as Resource #2 - POST below.
    2. It's the equivalent of clicking the "Submit for approval" button in the Shipvine Client Portal after answering a short questionnaire.
    3. A Shipvine employee must manually review and approve the shipment, so there will be a delay between performing this action and the next step.
  3. Periodically issue a GET request to https://api.core.logistics.shipvine.net/public/v2/inbound-shipments/{merchantCode}/{merchantIdentifier} and inspect the "state" property
    1. This is documented as Resource #1 - GET below.
    2. Since you're waiting on human review, once an hour would be a reasonable polling interval.
    3. When the state says "Approved", you can move on to the next step.
  4. Issue a PUT request to https://api.core.logistics.shipvine.net/public/v2/inbound-shipments/{merchantCode}/{merchantIdentifier}/origin
    1. This is documented as Resource #3 - PUT below.
    2. This allows you to specify the physical address that you or your factory is shipping from.
    3. It's the equivalent of entering the origin address in the first step of the "Print carton labels" wizard in the Shipvine Client Portal.
  5. Issue a PUT request to https://api.core.logistics.shipvine.net/public/v2/inbound-shipments/{merchantCode}/{merchantIdentifier}/carton-labels
    1. This is documented as Resource #4 - PUT below.
    2. You can use this step to provide tracking number and final carton weights and dimensions, but this information isn't required
  6. Issue a GET request to https://api.core.logistics.shipvine.net/public/v2/inbound-shipments/{merchantCode}/{merchantIdentifier}/carton-labels/{labelSize}
    1. This is documented as Resource #5 - GET below.
    2. Carton label generation is processed asynchronously, and usually takes less than a minute. If you receive a 204 No Content response, just try again in a minute or two.
    3. You'll receive a Base64-encoded PDF that you can print out and physically attach to the labels.

Resource #1: Insert, update, or get an inbound shipment

https://api.core.logistics.shipvine.net/public/v2/inbound-shipments/{merchantCode}/{merchantIdentifier} 

GET

This method on this resource allows the client to view the current status of the inbound shipment.

Request

URL Template

The {merchantCode} in the URL template should be replaced with the merchant code for the client that the inbound shipment belongs to.
The {merchantIdentifier} should be the client's unique database key for the inbound shipment. The value shoul be clearly indicated on the parcels that are shipped to Shipvine. For example, your system's purchase order number is a good value to put here. It must be unique among all of the other inbound shipments associated with the client's account. To simplify encoding, it's a best practice to avoid special characters.
Example URL: https://api.core.logistics.shipvine.net/public/v2/inbound-shipments/PARFUM/TEST-1

Query Parameters

No query parameters may be included in the request.

Entity Body

No entity body may be included in the request.

Response

If successful, the API will return 200 OK and an entity body containing either a JSON document or an XML document (if the Accept: application/xml header was used on the request).
If any error occurs, the HTTP status code will not be 200 OK. For example, if the inbound shipment doesn't exist, then a 404 Not Found error is returned instead.

Example Entity Body

XML
JSON
XML
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <InboundShipment>
  3.   <MerchantIdentifier>TEST-1</MerchantIdentifier>
  4.   <Name>TEST</Name>
  5.   <ShipvineIdentifier>
  6.     <Formatted>1225-0988-3106-2493</Formatted>
  7.     <Numeric>1225098831062493</Numeric>
  8.   </ShipvineIdentifier>
  9.   <State>
  10.     <Code>Draft</Code>
  11.     <Name>Draft</Name>
  12.   </State>
  13.   <CartonLabelsState>
  14.     <Code>Origin</Code>
  15.     <Name>Enter origin address</Name>
  16.   </CartonLabelsState>
  17.   <TransportationKind>
  18.     <Code>SmallPackage</Code>
  19.     <Name>Small package</Name>
  20.   </TransportationKind>
  21.   <ExpectedShipDate>2026-09-08</ExpectedShipDate>
  22.   <ExpectedArrivalDate>2026-09-11</ExpectedArrivalDate>
  23.   <ScheduledReceivingDate />
  24.   <EstimatedCompletionDate />
  25.   <Lines>
  26.     <Line>
  27.       <SKU>DB1001-12</SKU>
  28.       <StyleNumber>DB1001</StyleNumber>
  29.       <StyleName>Dentelle Bleue</StyleName>
  30.       <Description>Size: 12 oz.</Description>
  31.       <ExpectedQuantity>10</ExpectedQuantity>
  32.       <ReceivedQuantity>0</ReceivedQuantity>
  33.       <Difference>-10</Difference>
  34.     </Line>
  35.     <Line>
  36.       <SKU>DB1001-4</SKU>
  37.       <StyleNumber>DB1001</StyleNumber>
  38.       <StyleName>Dentelle Bleue</StyleName>
  39.       <Description>Size: 4 oz.</Description>
  40.       <ExpectedQuantity>5</ExpectedQuantity>
  41.       <ReceivedQuantity>0</ReceivedQuantity>
  42.       <Difference>-5</Difference>
  43.     </Line>
  44.     <Line>
  45.       <SKU>DB1001-8</SKU>
  46.       <StyleNumber>DB1001</StyleNumber>
  47.       <StyleName>Dentelle Bleue</StyleName>
  48.       <Description>Size: 8 oz.</Description>
  49.       <ExpectedQuantity>15</ExpectedQuantity>
  50.       <ReceivedQuantity>0</ReceivedQuantity>
  51.       <Difference>-15</Difference>
  52.     </Line>
  53.   </Lines>
  54.   <Cartons>
  55.     <Carton>
  56.       <CartonNumber>1</CartonNumber>
  57.       <TrackingNumber />
  58.       <ShipvineCartonNumber>
  59.         <Formatted />
  60.         <Numeric />
  61.       </ShipvineCartonNumber>
  62.       <Lines>
  63.         <Line>
  64.           <SKU>DB1001-4</SKU>
  65.           <StyleNumber>DB1001</StyleNumber>
  66.           <StyleName>Dentelle Bleue</StyleName>
  67.           <Description>Size: 4 oz.</Description>
  68.           <ExpectedQuantity>5</ExpectedQuantity>
  69.         </Line>
  70.         <Line>
  71.           <SKU>DB1001-8</SKU>
  72.           <StyleNumber>DB1001</StyleNumber>
  73.           <StyleName>Dentelle Bleue</StyleName>
  74.           <Description>Size: 8 oz.</Description>
  75.           <ExpectedQuantity>15</ExpectedQuantity>
  76.         </Line>
  77.       </Lines>
  78.     </Carton>
  79.     <Carton>
  80.       <CartonNumber>2</CartonNumber>
  81.       <TrackingNumber />
  82.       <ShipvineCartonNumber>
  83.         <Formatted />
  84.         <Numeric />
  85.       </ShipvineCartonNumber>
  86.       <Lines>
  87.         <Line>
  88.           <SKU>DB1001-12</SKU>
  89.           <StyleNumber>DB1001</StyleNumber>
  90.           <StyleName>Dentelle Bleue</StyleName>
  91.           <Description>Size: 12 oz.</Description>
  92.           <ExpectedQuantity>10</ExpectedQuantity>
  93.         </Line>
  94.       </Lines>
  95.     </Carton>
  96.   </Cartons>
  97.   <Receipts />
  98. </InboundShipment>
JSON
  1. {
  2.   "merchantIdentifier": "TEST-1",
  3.   "name": "TEST",
  4.   "shipvineIdentifier": {
  5.     "formatted": "1225-0988-3106-2493",
  6.     "numeric": "1225098831062493"
  7.   },
  8.   "state": {
  9.     "code": "Draft",
  10.     "name": "Draft"
  11.   },
  12.   "cartonLabelsState": {
  13.     "code": "Origin",
  14.     "name": "Enter origin address"
  15.   },
  16.   "transportationKind": {
  17.     "code": "SmallPackage",
  18.     "name": "Small package"
  19.   },
  20.   "expectedShipDate": "2026-09-08",
  21.   "expectedArrivalDate": "2026-09-11",
  22.   "scheduledReceivingDate": null,
  23.   "estimatedCompletionDate": null,
  24.   "lines": [
  25.     {
  26.       "sku": "DB1001-12",
  27.       "styleNumber": "DB1001",
  28.       "styleName": "Dentelle Bleue",
  29.       "description": "Size: 12 oz.",
  30.       "expectedQuantity": 10,
  31.       "receivedQuantity": 0,
  32.       "difference": -10
  33.     },
  34.     {
  35.       "sku": "DB1001-4",
  36.       "styleNumber": "DB1001",
  37.       "styleName": "Dentelle Bleue",
  38.       "description": "Size: 4 oz.",
  39.       "expectedQuantity": 5,
  40.       "receivedQuantity": 0,
  41.       "difference": -5
  42.     },
  43.     {
  44.       "sku": "DB1001-8",
  45.       "styleNumber": "DB1001",
  46.       "styleName": "Dentelle Bleue",
  47.       "description": "Size: 8 oz.",
  48.       "expectedQuantity": 15,
  49.       "receivedQuantity": 0,
  50.       "difference": -15
  51.     }
  52.   ],
  53.   "cartons": [
  54.     {
  55.       "cartonNumber": 1,
  56.       "trackingNumber": null,
  57.       "shipvineCartonNumber": {
  58.         "formatted": null,
  59.         "numeric": null
  60.       },
  61.       "lines": [
  62.         {
  63.           "sku": "DB1001-4",
  64.           "styleNumber": "DB1001",
  65.           "styleName": "Dentelle Bleue",
  66.           "description": "Size: 4 oz.",
  67.           "expectedQuantity": 5
  68.         },
  69.         {
  70.           "sku": "DB1001-8",
  71.           "styleNumber": "DB1001",
  72.           "styleName": "Dentelle Bleue",
  73.           "description": "Size: 8 oz.",
  74.           "expectedQuantity": 15
  75.         }

PUT

This method on this resource allows the client to insert or update an inbound shipment in the Draft state.

Request

URL Template

The {merchantCode} in the URL template should be replaced with the merchant code for the client that the inbound shipment belongs to.
The {merchantIdentifier} should be the client's unique database key for the inbound shipment. The value should be clearly indicated on the parcels that are shipped to Shipvine. For example, your system's purchase order number is a good value to put here. It must be unique among all of the other inbound shipments associated with the client's account. To simplify encoding, it's a best practice to avoid special characters.
Example URL: https://api.core.logistics.shipvine.net/public/v2/inbound-shipments/PARFUM/TEST-1

Query Parameters

No query parameters are evaluated in the URL.

Entity Body

The entity body should represent the entirety of the inbound shipment for an "insert or update" operation.
XML
JSON
XML
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <InboundShipment>
  3.     <!-- Optional, a more human-readable name than the inbound shipments merchantIdentifier from the URL template -->
  4.     <Name>My Awesome Inbound Shipment</Name>
  5.     <!-- { SmallPackage, FTL, LTL, Container } -->
  6.     <TransportationKind>SmallPackage</TransportationKind>
  7.     <!-- The date you expect it to leave your factory, date only in YYYY-MM-DD format, just give us your best guess -->
  8.     <ExpectedShipDate>2026-09-25</ExpectedShipDate>
  9.     <!-- The date your expect it arrive at Shipvine, date only in YYYY-MM-DD format, just give us your best guess -->
  10.     <ExpectedArrivalDate>2026-09-30</ExpectedArrivalDate>
  11.     <!-- Provide carton-level detail here; if impossible, then put it all in one carton -->
  12.     <Cartons>
  13.         <!-- This is an example of a carton with a single item (SKU) in it -->
  14.         <Carton>
  15.             <!-- Optional, if you already know the tracking number for this carton -->
  16.             <TrackingNumber>1ZABC28YYW97940040</TrackingNumber>
  17.             <Lines>
  18.                 <Line>
  19.                     <!-- The SKU of the item; older APIs call this the "item merchant identifier" -->
  20.                     <SKU>DB1001-4</SKU>
  21.                     <!-- The quantity in this particular carton -->
  22.                     <Quantity>12</Quantity>
  23.                 </Line>
  24.             </Lines>
  25.         </Carton>
  26.         <!-- This is an example of a carton with mixed items (multiple SKUs) in it -->
  27.         <Carton>
  28.             <!-- Optional, if you already know the tracking number for this carton -->
  29.             <TrackingNumber>1ZEABC8YYW96714993</TrackingNumber>
  30.             <Lines>
  31.                 <Line>
  32.                     <SKU>DB1001-4</SKU>
  33.                     <Quantity>4</Quantity>
  34.                 </Line>
  35.                 <Line>
  36.                     <SKU>DB1001-8</SKU>
  37.                     <Quantity>8</Quantity>
  38.                 </Line>
  39.             </Lines>
  40.         </Carton>
  41.     </Cartons>
  42. </InboundShipment>
JSON
  1. {
  2.     "name": "My Awesome Inbound Shipment",
  3.     "transportationKind": "SmallPackage",
  4.     "expectedShipDate": "2026-09-25",
  5.     "expectedArrivalDate": "2026-09-30",
  6.     "cartons": [
  7.         {
  8.             "trackingNumber": "1ZABC28YYW97940040",
  9.             "lines": [
  10.                 {
  11.                     "sku": "DB1001-4",
  12.                     "quantity": 12
  13.                 }
  14.             ]
  15.         },
  16.         {
  17.             "trackingNumber": "1ZEABC8YYW96714993",
  18.             "lines": [
  19.                 {
  20.                     "sku": "DB1001-4",
  21.                     "quantity": 4
  22.                 },
  23.                 {
  24.                     "sku": "DB1001-8",
  25.                     "quantity": 8
  26.                 }
  27.             ]
  28.         }
  29.     ]
  30. }

Response

If the operation succeeded, you'll get a 204 No Content response with an empty entity body.
If the operation failed, you'll get a non-200 HTTP status code. The entity body may contain an errors document that describes more details about the problem.

DELETE

This method on this resource allows you to delete an inbound shipment in the Draft state.

Request

URL Template

The {merchantCode} in the URL template should be replaced with the merchant code for the client that the inbound shipment belongs to.
The {merchantIdentifier} should be the client's unique database key for the inbound shipment. The value should be clearly indicated on the parcels that are shipped to Shipvine. For example, your system's purchase order number is a good value to put here. It must be unique among all of the other inbound shipments associated with the client's account. To simplify encoding, it's a best practice to avoid special characters.
Example URL: https://api.core.logistics.shipvine.net/public/v2/inbound-shipments/PARFUM/TEST-1

Query Parameters

No query parameters are evaluated in the URL.

Entity Body

No entity body should be included in the request.

Response

If the operation succeeded, you'll get a 204 No Content response with an empty entity body.
If the operation failed, you'll get a non-200 HTTP status code. The entity body may contain an errors document that describes more details about the problem.

Resource #2: Submit an inbound shipment for approval

https://api.core.logistics.shipvine.net/public/v2/inbound-shipments/{merchantCode}/{merchantIdentifier}/submit-for-approval

POST

This method on this resource is the same as clicking the "Submit for approval" button in the Shipvine Client Portal and answering a short questionnaire.

Request

URL Template

The {merchantCode} in the URL template should be replaced with the merchant code for the client that the inbound shipment belongs to.
The {merchantIdentifier} should be the client's unique database key for the inbound shipment. The value shoul be clearly indicated on the parcels that are shipped to Shipvine. For example, your system's purchase order number is a good value to put here. It must be unique among all of the other inbound shipments associated with the client's account. To simplify encoding, it's a best practice to avoid special characters.
Example URL: https://api.core.logistics.shipvine.net/public/v2/inbound-shipments/PARFUM/TEST-1/submit-for-approval

Query Parameters

No query parameters may be included in the request.

Entity Body

XML
JSON
XML
  1. <InboundShipmentApplication>
  2.     <!-- Specify "true" if you intend to print out and use Shipvine Carton Labels; otherwise, specify "false" -->
  3.     <CartonLabelsIntent>true</CartonLabelsIntent>
  4.     <!-- If the TransportationKind of the inbound shipment is set to Container, then specify "true" or "false" 
  5.          to indicate if the contents are physically palletized. If the TransportationKind is something else,
  6.          then omit the element entirely. -->
  7.     <ContainerPalletized>true</ContainerPalletized>
  8.     <!-- Specify "true" if the items are ecommerce ready (individually wrapped in plastic or boxes and labeled with barcodes)
  9.          Specify "false" if the items will need physical rework (bagging, folding, labeling) during the receiving process -->
  10.     <EcommerceReady>true</EcommerceReady>
  11.     <!-- You may optionally specify a brief note that the Shipvine employee will see -->
  12.     <Note>Thank you for providing great service</Note>
  13.     <!-- If the TransportationKind of the inbound shipment is set to SmallPackage, then specify "true" or "false"
  14.          to indicate if all cartons in this inbound shipment will be picked up by the carrier on the same day.
  15.          If the TransportationKind is something else, then omit the element entirely. -->
  16.     <SmallPackageShipTogether>true</SmallPackageShipTogether>
  17. </InboundShipmentApplication>
JSON
  1. {
  2.     "cartonLabelsIntent": true,
  3.     "containerPalletized": true,
  4.     "ecommerceReady": true,
  5.     "note": "Thank you for providing great service",
  6.     "smallPackageShipTogether": true
  7. }

Response

If the operation succeeded, you'll get a 204 No Content response with an empty entity body.
If the operation failed, you'll get a non-200 HTTP status code. The entity body may contain an errors document that describes more details about the problem.

Resource #3: Set the physical origin of an inbound shipment

 https://api.core.logistics.shipvine.net/public/v2/inbound-shipments/{merchantCode}/{merchantIdentifier}/origin

PUT

This method on this resource allows you to specify the physical original (ship from) address for the cartons in the inbound shipment. It's the equivalent of the first step in the "Print carton labels" wizard in the Shipvine client portal.

Request

URL Template

The {merchantCode} in the URL template should be replaced with the merchant code for the client that the inbound shipment belongs to.
The {merchantIdentifier} should be the client's unique database key for the inbound shipment. The value shoul be clearly indicated on the parcels that are shipped to Shipvine. For example, your system's purchase order number is a good value to put here. It must be unique among all of the other inbound shipments associated with the client's account. To simplify encoding, it's a best practice to avoid special characters.
Example URL: https://api.core.logistics.shipvine.net/public/v2/inbound-shipments/PARFUM/TEST-1/origin

Query Parameters

No query parameters may be included in the request.

Entity Body

XML
JSON
XML
  1. <InboundShipmentOrigin>
  2.     <!-- Please specify both a human contact name as well as the company name -->
  3.     <ContactName>John Smith</ContactName>
  4.     <CompanyName>Spacely Sprockets</CompanyName>
  5.     <!-- E164 format is preferred; if not known, use your customer service phone number -->
  6.     <PhoneNumber>+18044333127</PhoneNumber>
  7.     <StreetLine1>2200 Decatur St</StreetLine1>
  8.     <StreetLine2>Door 1</StreetLine2>
  9.     <City>Richmond</City>
  10.     <State>VA</State>
  11.     <PostalCode>23224</PostalCode>
  12.     <!-- Specify the ISO 3166 alpha2 code -->
  13.     <Country>US</Country>
  14. </InboundShipmentOrigin>
JSON
  1. {
  2.     "contactName": "John Smith",
  3.     "companyName": "Spacely Sprockets",
  4.     "phoneNumber": "+18044333127",
  5.     "streetLine1": "2200 Decatur St",
  6.     "city": "Richmond",
  7.     "state":"VA",
  8.     "postalCode": "23224",
  9.     "country": "US"
  10. }

Response

If the operation succeeded, you'll get a 204 No Content response with an empty entity body.
If the operation failed, you'll get a non-200 HTTP status code. The entity body may contain an errors document that describes more details about the problem.

Resource #4: Request Shipvine carton labels for an inbound shipment

https://api.core.logistics.shipvine.net/public/v2/inbound-shipments/{merchantCode}/{merchantIdentifier}/carton-labels

PUT

This method on this resource allows you to request generation of Shipvine Carton Labels that you can print out and physically apply to the cartons before shipping them to Shipvine.

Request

URL Template

The {merchantCode} in the URL template should be replaced with the merchant code for the client that the inbound shipment belongs to.
The {merchantIdentifier} should be the client's unique database key for the inbound shipment. The value shoul be clearly indicated on the parcels that are shipped to Shipvine. For example, your system's purchase order number is a good value to put here. It must be unique among all of the other inbound shipments associated with the client's account. To simplify encoding, it's a best practice to avoid special characters.
Example URL: https://api.core.logistics.shipvine.net/public/v2/inbound-shipments/PARFUM/TEST-1/carton-labels

Query Parameters

No query parameters may be included in the request.

Entity Body

XML
JSON
XML
You may optionally provide the exact dimensions, weight, and tracking numbers for the cartons in your inbound shipment.
If you do not want to provide this data, then supply an empty payload:
  1. <InboundShipmentCartonLabelsRequest />
However, if specified, you must provide data for all cartons in the inbound shipment, and the number of cartons must match the number present when you first created the inbound shipment:
  1. <InboundShipmentCartonLabelsRequest>
  2.     <Cartons>
  3.         <Carton>
  4.             <CartonNumber>1</CartonNumber>
  5.             <Height>4</Height>
  6.             <Length>18</Length>
  7.             <TrackingNumber>1ZABC28YYW97940040</TrackingNumber>
  8.             <Weight>12</Weight>
  9.             <Width>12</Width>
  10.         </Carton>
  11.         <Carton>
  12.             <CartonNumber>2</CartonNumber>
  13.             <Height>6</Height>
  14.             <Length>12</Length>
  15.             <TrackingNumber>1ZEABC8YYW96714993</TrackingNumber>
  16.             <Weight>12</Weight>
  17.             <Width>9</Width>
  18.         </Carton>
  19.     </Cartons>
  20. </InboundShipmentCartonLabelsRequest>
JSON
You may optionally provide the exact dimensions, weight, and tracking numbers for the cartons in your inbound shipment.
If you do not want to provide this data, then supply an empty payload:
  1. {}
or
  1. {
  2.     "cartons": null
  3. }
However, if specified, you must provide data for all cartons in the inbound shipment, and the number of cartons must match the number present when you first created the inbound shipment:
  1. {
  2.     "cartons": [
  3.         {
  4.             "cartonNumber": 1,
  5.             "height": 4,
  6.             "length": 18,
  7.             "trackingNumber": "1ZABC28YYW97940040",
  8.             "weight": 12,
  9.             "width": 12
  10.         },
  11.         {
  12.             "cartonNumber": 2,
  13.             "height": 6,
  14.             "length": 12,
  15.             "trackingNumber": "1ZEABC8YYW96714993",
  16.             "weight": 12,
  17.             "width": 9
  18.         }
  19.     ]
  20. }

Response

If the operation succeeded, you'll get a 204 No Content response with an empty entity body.
If the operation failed, you'll get a non-200 HTTP status code. The entity body may contain an errors document that describes more details about the problem.

Resource #5: Download Shipvine Carton Labels for an inbound shipment

https://api.core.logistics.shipvine.net/public/v2/inbound-shipments/{merchantCode}/{merchantIdentifier}/carton-labels/{labelSize}

GET

This method on this resource allows you to download a base64-encoded PDF of the Shipvine Carton Labels so that you can print them out and physically apply them to the cartons that you are sending to Shipvine.

Request

URL Template

The {merchantCode} in the URL template should be replaced with the merchant code for the client that the inbound shipment belongs to.
The {merchantIdentifier} should be the client's unique database key for the inbound shipment. The value shoul be clearly indicated on the parcels that are shipped to Shipvine. For example, your system's purchase order number is a good value to put here. It must be unique among all of the other inbound shipments associated with the client's account. To simplify encoding, it's a best practice to avoid special characters.
The {labelSize} should be either "small" (to generate 4" x 6" labels suitable for printing on a Zebra label printer) or "large" (to generate 8.5" x 11" labels suitable for printing on a laswer printer).
Example URL: https://api.core.logistics.shipvine.net/public/v2/inbound-shipments/PARFUM/TEST-1/carton-labels/small

Query Parameters

No query parameters may be included in the request.

Entity Body

No entity body may be included in the request.

Response

If the operation succeeded, you'll get a 200 OK response with an entity body as shown below.
If the labels are in the queue for processing but aren't quite ready yet, you'll get a 204 No Content response with an error entity body. Try again in a minute or two.
If the operation failed, you'll get a non-200 HTTP status code. The entity body may contain an errors document that describes more details about the problem.

Entity Body

XML
JSON
XML
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <InboundShipmentCartonLabels>
  3.   <Payload>[base64-encoded PDF payload omitted for brevity</Payload>
  4. </InboundShipmentCartonLabels>
JSON
  1. {
  2.   "payload": "base64-encoded PDF payload omitted for brevity"
  3. }