# Get label by id Retrieve a specific label by its label id. Endpoint: GET /v2/labels/{label_id} Version: 2.0.0 Security: api_keys ## Path parameters: - `label_id` (string, required) Label ID Example: "se-28529731" ## Query parameters: - `label_download_type` (string) There are two different ways to [download a label]: |Label Download Type | Description |--------------------|------------------------------ |url |You will receive a URL, which you can use to download the label in a separate request. The URL will remain valid for 90 days.This is the default if label_download_type is unspecified. |inline |You will receive the Base64-encoded label as part of the response. No need for a second request to download the label. Enum: "url", "inline" ## Response 200 fields (application/json): - `label_id` (string) A string that uniquely identifies the label. This ID is generated by ShipStation when the label is created. Example: "se-28529731" - `status` (string) The possible statuses that a [shipping label] can be in. |Status |Description |:------------|:----------------------------------------------------- |processing |When labels are created in a [batch], it may take a few minutes for all of the labels in the batch to be created. During this period, they will be in processing status. |completed |The label was successfully created |error |The label could not be created due to an error, such as an invalid delivery address |voided |The label has been [voided] Enum: "processing", "completed", "error", "voided" - `shipment_id` (string) The shipment that this label is for. ShipStation can create a shipment for you automatically when you [create a label], or you can [create your own shipment] and then [use it to print a label] Example: "se-28529731" - `external_shipment_id` (string,null) A unique user-defined key to identify a shipment. This can be used to retrieve the shipment. > Warning: The external_shipment_id is limited to 50 characters. Any additional characters will be truncated. Example: "externalId-1234556" - `external_order_id` (string,null) ID that the Order Source assigned Example: "externalOrderId-1232434" - `ship_date` (string) The date that the package was (or will be) shippped. ShipStation will take the day of week into consideration. For example, if the carrier does not operate on Sundays, then a package that would have shipped on Sunday will ship on Monday instead. Example: "2018-09-23T00:00:00Z" - `created_at` (string) The date and time that the label was created in ShipStation . Example: "2018-09-23T15:00:00.000Z" - `shipment_cost` (object) The cost of shipping, delivery confirmation, and other carrier charges. This amount does not include insurance costs. - `shipment_cost.currency` (string, required) Currency code - `shipment_cost.amount` (number, required) The monetary amount, in the specified currency. Example: 12 - `insurance_cost` (object) The insurance cost for this package. Add this to the shipment_cost field to get the total cost. - `requested_comparison_amount` (object) The total shipping cost for the specified comparison_rate_type. - `tracking_number` (string) The tracking number for the package. Tracking number formats vary across carriers. Example: "782758401696" - `is_return_label` (boolean) Indicates whether this is a return label. You may also want to set the rma_number so you know what is being returned. Example: true - `rma_number` (string,null) An optional Return Merchandise Authorization number. This field is useful for return labels. You can set it to any string value. Example: "asd12323" - `is_international` (boolean) Indicates whether this is an international shipment. That is, the originating country and destination country are different. Example: true - `batch_id` (string) If this label was created as part of a [batch], then this is the unique ID of that batch. Example: "se-28529731" - `carrier_id` (string) The unique ID of the [carrier account] that was used to create this label Example: "se-28529731" - `charge_event` (string) The label charge event. Enum: "carrier_default", "on_creation", "on_carrier_acceptance" - `service_code` (string) The [carrier service] used to ship the package, such as fedex_ground, usps_first_class_mail, flat_rate_envelope, etc. Example: "usps_first_class_mail" - `package_code` (string) The [package type], such as thick_envelope, small_flat_rate_box, large_package, etc. The code package indicates a custom or unknown package type. Example: "small_flat_rate_box" - `voided` (boolean) Indicates whether the label has been [voided] Example: true - `voided_at` (string,null) The date and time that the label was [voided] , or null if the label has not been voided Example: "2018-09-23T15:00:00.000Z" - `label_format` (string) The file format that you want the label to be in. We recommend pdf format because it is supported by all carriers, whereas some carriers do not support the png or zpl formats. Enum: "pdf", "png", "zpl" - `display_scheme` (string) The display format that the label should be shown in. Enum: "label", "qr_code", "label_and_qr_code", "paperless", "label_and_paperless" - `label_layout` (string) The layout (size) that you want the label to be in. The label_format determines which sizes are allowed. 4x6 is supported for all label formats, whereas letter (8.5" x 11") is only supported for pdf format. Enum: "4x6", "letter" - `trackable` (boolean) Indicates whether the shipment is trackable, in which case the tracking_status field will reflect the current status and each package will have a tracking_number. Example: true - `label_image_id` (string,null) The label image resource that was used to create a custom label image. Example: "img_DtBXupDBxREpHnwEXhTfgK" - `carrier_code` (string) The [shipping carrier] who will ship the package, such as fedex, dhl_express, stamps_com, etc. Example: "dhl_express" - `confirmation` (string) The type of delivery confirmation that is required for this shipment. Enum: "none", "delivery", "signature", "adult_signature", "direct_signature", "delivery_mailed", "verbal_confirmation", "delivery_code", "age_verification_16_plus" - `tracking_status` (string) The current status of the package, such as in_transit or delivered Enum: "unknown", "in_transit", "error", "delivered" - `label_download` (object) Reference to the various downloadable file formats for the generated label - `label_download.href` (string) The URL of the linked resource, if any Example: "http://api.shipstation.com/v2/labels/se-28529731" - `label_download.pdf` (string) The URL for the pdf generated label Example: "http://api.shipstation.com/v2/labels/se-28529731" - `label_download.png` (string) The URL for the png generated label Example: "http://api.shipstation.com/v2/labels/se-28529731" - `label_download.zpl` (string) The URL for the zpl generated label Example: "http://api.shipstation.com/v2/labels/se-28529731" - `form_download` (object,null) The link to download the customs form (a.k.a. commercial invoice) for this shipment, if any. Forms are in PDF format. This field is null if the shipment does not require a customs form, or if the carrier does not support it. - `form_download.type` (string) The type of resource, or the type of relationship to the parent resource Example: "child" - `qr_code_download` (object,null) The QR code download for the package - `paperless_download` (object,null) The paperless details which may contain elements like href, instructions and handoff_code. - `paperless_download.instructions` (string,null) The instructions for the paperless download. Example: "any instructions" - `paperless_download.handoff_code` (string,null) The handoff code for the paperless download. Example: "122334" - `insurance_claim` (object,null) The link to submit an insurance claim for the shipment. This field is null if the shipment is not insured or if the insurance provider does not support online claim submission. - `packages` (array) The label's package(s). > Note: Some carriers only allow one package per label. If you attempt to create a multi-package label for a carrier that doesn't allow it, an error will be returned. - `packages.package_id` (integer) The shipment package id Example: 1234545 - `packages.weight` (object, required) The package weight - `packages.weight.value` (number, required) The weight, in the specified unit Example: 23 - `packages.weight.unit` (string, required) Weight unit Enum: "pound", "ounce", "gram", "kilogram" - `packages.dimensions` (object) The package dimensions - `packages.dimensions.unit` (string, required) Dimension unit Enum: "inch", "centimeter" - `packages.dimensions.length` (number, required) The length of the package, in the specified unit Example: 2 - `packages.dimensions.width` (number, required) The width of the package, in the specified unit Example: 2 - `packages.dimensions.height` (number, required) The height of the package, in the specified unit Example: 1 - `packages.insured_value` (object) The insured value of the package. Requires the insurance_provider field of the shipment to be set. - `packages.tracking_number` (string) The tracking number for the package. The format depends on the carrier. Example: "1Z932R800392060079" - `packages.label_download` (object) The label download for the package - `packages.form_download` (object) The form download for any customs that are needed - `packages.label_messages` (object) Custom messages to print on the shipping label for the package. These are typically used to print invoice numbers, product numbers, or other internal reference numbers. Not all carriers support label messages. The number of lines and the maximum length of each line also varies by carrier. |Carrier |Max lines |Max line length |-------------------|----------|-------------------- |USPS (Stamps.com) |3 |60 |FedEx |3 |35 for the first line. 30 for additional lines. |UPS |2 |35 |OnTrac |2 |25 - `packages.label_messages.reference1` (string,null, required) The first line of the custom label message. Some carriers may prefix this line with something like "REF", "Reference", "Trx Ref No.", etc. Example: "Reference" - `packages.label_messages.reference2` (string,null, required) The second line of the custom label message. Some carriers may prefix this line with something like "INV", "Reference 2", "Trx Ref No.", etc. Example: "Reference 2" - `packages.label_messages.reference3` (string,null, required) The third line of the custom label message. Some carriers may prefix this line with something like "PO", "Reference 3", etc. Example: "Reference 3" - `packages.external_package_id` (string) An external package id. Example: "se-1234567" - `packages.content_description` (string,null) A short description of the package content. Required for shipments moving to, from, and through Mexico. Example: "Hand knitted wool socks" - `packages.sequence` (integer) Package sequence Example: 34 - `packages.has_label_documents` (boolean) Whether the package has label documents available for download Example: true - `packages.has_form_documents` (boolean) Whether the package has form documents available for download Example: true - `packages.has_qr_code_documents` (boolean) Whether the package has QR code documents available for download Example: true - `packages.has_paperless_label_documents` (boolean) Whether the package has paperless documents available for download Example: true - `packages.alternative_identifiers` (array,null) Alternative identifiers associated with this package. - `packages.alternative_identifiers.type` (string) The type of alternative_identifier that corresponds to the value. Example: "last_mile_tracking_number" - `packages.alternative_identifiers.value` (string) The value of the alternative_identifier. Example: "12345678912345678912" - `alternative_identifiers` (array,null) Additional information some carriers may provide by which to identify a given label in their system. - `rate_details` (array) - `rate_details.rate_detail_type` (string) Example: "shipping" - `rate_details.carrier_description` (string) Example: "Shipping" - `rate_details.carrier_billing_code` (string) Example: "shipping" - `rate_details.carrier_memo` (string) - `rate_details.amount` (object) A monetary value, such as the price of a shipping label, the insured value of a package, or an account balance. - `rate_details.billing_source` (string) Example: "carrier" - `tracking_url` (string,null) The URL to track the package. This URL is provided by the carrier and is unique to the tracking number. Example: "https://www.fedex.com/fedextrack/?action=track&trackingnumber=1234" - `ship_to` (object) The recipient's mailing address - `ship_to.name` (string, required) The name of a contact person at this address. This field may be set instead of - or in addition to - the company_name field. Example: "John Doe" - `ship_to.phone` (string, required) The phone number of a contact person at this address. The format of this phone number varies depending on the country. Example: "+1 204-253-9411 ext. 123" - `ship_to.email` (string,null) Email for the address owner. Example: "example@example.com" - `ship_to.company_name` (string,null) If this is a business address, then the company name should be specified here. Example: "The Home Depot" - `ship_to.address_line1` (string, required) The first line of the street address. For some addresses, this may be the only line. Other addresses may require 2 or 3 lines. Example: "1999 Bishop Grandin Blvd." - `ship_to.address_line2` (string,null) The second line of the street address. For some addresses, this line may not be needed. Example: "Unit 408" - `ship_to.address_line3` (string,null) The third line of the street address. For some addresses, this line may not be needed. Example: "Building #7" - `ship_to.city_locality` (string, required) The name of the city or locality Example: "Winnipeg" - `ship_to.state_province` (string, required) The state or province. For some countries (including the U.S.) only abbreviations are allowed. Other countries allow the full name or abbreviation. Example: "Manitoba" - `ship_to.postal_code` (string, required) postal code Example: "78756-3717" - `ship_to.country_code` (string, required) The two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1) Example: "CA" - `ship_to.address_residential_indicator` (string, required) Indicates whether this is a residential address. Enum: "unknown", "yes", "no" - `ship_to.instructions` (string,null) Additional text about how to handle the shipment at this address. Example: "any instruction" - `ship_to.geolocation` (array) - `ship_to.geolocation.type` (string) Enum of available type of geolocation items: - 'what3words' functionality allows to specify a location by providing 3 words that have been assign to the specific location see [link](https://what3words.com/business) for more details. Enum: "what3words" - `ship_to.geolocation.value` (string) value of the geolocation item Example: "cats.with.thumbs" ## Response 400 fields (application/json): - `request_id` (string, required) A UUID that uniquely identifies the request id. This can be given to the support team to help debug non-trivial issues that may occur Example: "aa3d8e8e-462b-4476-9618-72db7f7b7009" - `errors` (array, required) The errors associated with the failed API call - `errors.error_source` (string, required) The source of the error, as indicated by the name this informs us if the API call failed because of the carrier, the order source, or the ShipStation API itself. Enum: "carrier", "order_source", "ShipStation" - `errors.error_type` (string, required) The type of error Enum: "account_status", "business_rules", "validation", "security", "system", "integrations" - `errors.error_code` (string, required) The error code specified for the failed API Call Enum: "auto_fund_not_supported", "batch_cannot_be_modified", "carrier_conflict", "carrier_disconnected", "carrier_not_connected", "carrier_not_supported", "confirmation_not_supported", "default_warehouse_cannot_be_deleted", "field_conflict", "field_value_required", "forbidden", "identifier_conflict", "identifiers_must_match", "insufficient_funds", "invalid_address", "invalid_billing_plan", "invalid_field_value", "invalid_identifier", "invalid_status", "invalid_string_length", "label_images_not_supported", "meter_failure", "order_source_not_active", "rate_limit_exceeded", "refresh_not_supported", "request_body_required", "return_label_not_supported", "settings_not_supported", "subscription_inactive", "terms_not_accepted", "tracking_not_supported", "trial_expired", "unauthorized", "unknown", "unspecified", "verification_failure", "warehouse_conflict", "webhook_event_type_conflict", "customs_items_required", "incompatible_paired_labels", "invalid_charge_event", "invalid_object", "no_rates_returned" - `errors.message` (string, required) An error message associated with the failed API call Example: "Body of request cannot be null." - `errors.field_name` (string) The name of the field that caused the error (only present for validation errors) Example: "inventory_warehouse_id" - `errors.field_value` (string) The invalid value that was provided for the field (only present for validation errors) Example: "invalid-id"