# ShipEngine API ShipEngine's easy-to-use REST API lets you manage all of your shipping needs without worrying about the complexities of different carrier APIs and protocols. We handle all the heavy lifting so you can focus on providing a first-class shipping experience for your customers at the best possible prices. Each of ShipEngine's features can be used by itself or in conjunction with each other to build powerful shipping functionality into your application or service. Version: 1.1.202604070904 License: Proprietary ## Servers ``` https://api.shipengine.com ``` ## Security ### api_key To authenticate yourself to ShipEngine, you need to include an `API-Key` header in each API call. If you don't include a key when making an API request, or if you use an incorrect or expired key, then ShipEngine will respond with a `401 Unauthorized` error. Learn more about API keys in our [authentication guide](https://docs.shipstation.com/apis/shipengine/docs/guides/auth). Type: apiKey In: header Name: API-Key ## Download OpenAPI description [ShipEngine API](https://docs.shipstation.com/_bundle/apis/@shipengine/openapi.yaml) ## Account For additional information about the ShipEngine account. ### List account settings - [GET /v1/account/settings](https://docs.shipstation.com/apis/shipengine/openapi/account/list_account_settings.md): List all account settings for the ShipEngine account ### List account images - [GET /v1/account/settings/images](https://docs.shipstation.com/apis/shipengine/openapi/account/list_account_images.md): List all account images for the ShipEngine account ### Create an account image - [POST /v1/account/settings/images](https://docs.shipstation.com/apis/shipengine/openapi/account/create_account_image.md): Create an Account Image ### Get account image by ID - [GET /v1/account/settings/images/{label_image_id}](https://docs.shipstation.com/apis/shipengine/openapi/account/get_account_settings_images_by_id.md): Retrieve information for an account image. ### Update account image by ID - [PUT /v1/account/settings/images/{label_image_id}](https://docs.shipstation.com/apis/shipengine/openapi/account/update_account_settings_images_by_id.md): Update information for an account image. ### Delete account image by ID - [DELETE /v1/account/settings/images/{label_image_id}](https://docs.shipstation.com/apis/shipengine/openapi/account/delete_account_image_by_id.md): Delete Account Image By Id ## Addresses No matter your shipping volume, failed deliveries and address change surcharges cut into your bottom line and damage perception with customers. Our address validation services ensure your packages make it to the right place the first time. Learn how to leverage our address validation services here. ShipEngine supports address validation for virtually every country on Earth, including the United States, Canada, Great Britain, Australia, Germany, France, Norway, Spain, Sweden, Israel, Italy, and over 160 others. ### Parse an address - [PUT /v1/addresses/recognize](https://docs.shipstation.com/apis/shipengine/openapi/addresses/parse_address.md): The address-recognition API makes it easy for you to extract address data from unstructured text, including the recipient name, line 1, line 2, city, postal code, and more. Data often enters your system as unstructured text (for example: emails, SMS messages, support tickets, or other documents). ShipEngine's address-recognition API helps you extract meaningful, structured data from this unstructured text. The parsed address data is returned in the same structure that's used for other ShipEngine APIs, such as address validation, rate quotes, and shipping labels. > Note: Address recognition is currently supported for the United States, Canada, Australia, New Zealand, the United Kingdom, and Ireland. ### Validate an address - [POST /v1/addresses/validate](https://docs.shipstation.com/apis/shipengine/openapi/addresses/validate_address.md): Address validation ensures accurate addresses and can lead to reduced shipping costs by preventing address correction surcharges. ShipEngine cross references multiple databases to validate addresses and identify potential deliverability issues. ## Batches batches ### List batches - [GET /v1/batches](https://docs.shipstation.com/apis/shipengine/openapi/batches/list_batches.md): List Batches associated with your Shipengine account ### Create a batch - [POST /v1/batches](https://docs.shipstation.com/apis/shipengine/openapi/batches/create_batch.md): Create a Batch ### Get batch by external ID - [GET /v1/batches/external_batch_id/{external_batch_id}](https://docs.shipstation.com/apis/shipengine/openapi/batches/get_batch_by_external_id.md): Get Batch By External ID ### Delete batch by ID - [DELETE /v1/batches/{batch_id}](https://docs.shipstation.com/apis/shipengine/openapi/batches/delete_batch.md): Delete Batch By Id ### Get batch by ID - [GET /v1/batches/{batch_id}](https://docs.shipstation.com/apis/shipengine/openapi/batches/get_batch_by_id.md): Get Batch By ID ### Update batch by ID - [PUT /v1/batches/{batch_id}](https://docs.shipstation.com/apis/shipengine/openapi/batches/update_batch.md): Update Batch By Id ### Add to a batch - [POST /v1/batches/{batch_id}/add](https://docs.shipstation.com/apis/shipengine/openapi/batches/add_to_batch.md): Add a Shipment or Rate to a Batch ### Get batch errors - [GET /v1/batches/{batch_id}/errors](https://docs.shipstation.com/apis/shipengine/openapi/batches/list_batch_errors.md): Error handling in batches are handled differently than in a single synchronous request. You must retrieve the status of your batch by getting a batch and getting an overview of the statuses or you can list errors directly here below to get detailed information about the errors. ### Process batch ID labels - [POST /v1/batches/{batch_id}/process/labels](https://docs.shipstation.com/apis/shipengine/openapi/batches/process_batch.md): Process Batch ID Labels ### Remove from batch - [POST /v1/batches/{batch_id}/remove](https://docs.shipstation.com/apis/shipengine/openapi/batches/remove_from_batch.md): Remove a shipment or rate from a batch ## Carrier Accounts A carrier account is a connection to a shipping carrier that allows you to create labels, track packages, and more. You can connect your own carrier accounts to ShipEngine, or use one of our built-in carrier accounts. Learn more about carrier accounts here. ### Connect a carrier account - [POST /v1/connections/carriers/{carrier_name}](https://docs.shipstation.com/apis/shipengine/openapi/carrier_accounts/connect_carrier.md): Connect a carrier account ### Disconnect a carrier - [DELETE /v1/connections/carriers/{carrier_name}/{carrier_id}](https://docs.shipstation.com/apis/shipengine/openapi/carrier_accounts/disconnect_carrier.md): Disconnect a carrier ### Get carrier settings - [GET /v1/connections/carriers/{carrier_name}/{carrier_id}/settings](https://docs.shipstation.com/apis/shipengine/openapi/carrier_accounts/get_carrier_settings.md): Get carrier settings ### Update carrier settings - [PUT /v1/connections/carriers/{carrier_name}/{carrier_id}/settings](https://docs.shipstation.com/apis/shipengine/openapi/carrier_accounts/update_carrier_settings.md): Update carrier settings ## Carriers carriers ### List carriers - [GET /v1/carriers](https://docs.shipstation.com/apis/shipengine/openapi/carriers/list_carriers.md): List all carriers that have been added to this account ### Get carrier by ID - [GET /v1/carriers/{carrier_id}](https://docs.shipstation.com/apis/shipengine/openapi/carriers/get_carrier_by_id.md): Retrive carrier info by ID ### Disconnect carrier by ID - [DELETE /v1/carriers/{carrier_id}](https://docs.shipstation.com/apis/shipengine/openapi/carriers/disconnect_carrier_by_id.md): Disconnect a Carrier of the given ID from the account ### Add funds to carrier - [PUT /v1/carriers/{carrier_id}/add_funds](https://docs.shipstation.com/apis/shipengine/openapi/carriers/add_funds_to_carrier.md): Add Funds To A Carrier ### Get carrier options - [GET /v1/carriers/{carrier_id}/options](https://docs.shipstation.com/apis/shipengine/openapi/carriers/get_carrier_options.md): Get a list of the options available for the carrier ### List carrier package types - [GET /v1/carriers/{carrier_id}/packages](https://docs.shipstation.com/apis/shipengine/openapi/carriers/list_carrier_package_types.md): List the package types associated with the carrier ### List carrier services - [GET /v1/carriers/{carrier_id}/services](https://docs.shipstation.com/apis/shipengine/openapi/carriers/list_carrier_services.md): List the services associated with the carrier ID ## Downloads downloads ### Download file - [GET /v1/downloads/{dir}/{subdir}/{filename}](https://docs.shipstation.com/apis/shipengine/openapi/downloads/download_file.md): Get File ## Insurance insurance ### Disconnect a shipsurance account - [DELETE /v1/connections/insurance/shipsurance](https://docs.shipstation.com/apis/shipengine/openapi/insurance/disconnect_insurer.md): Disconnect a Shipsurance Account ### Connect a shipsurance account - [POST /v1/connections/insurance/shipsurance](https://docs.shipstation.com/apis/shipengine/openapi/insurance/connect_insurer.md): Connect a Shipsurance Account ### Add funds to insurance - [PATCH /v1/insurance/shipsurance/add_funds](https://docs.shipstation.com/apis/shipengine/openapi/insurance/add_funds_to_insurance.md): You may need to auto fund your account from time to time. For example, if you don't normally ship items over $100, and may want to add funds to insurance rather than keeping the account funded. ### Get insurance funds balance - [GET /v1/insurance/shipsurance/balance](https://docs.shipstation.com/apis/shipengine/openapi/insurance/get_insurance_balance.md): Retrieve the balance of your Shipsurance account. ## Labels Print shipping labels for any of the top global carriers in minutes—instead of weeks. Simply connect your existing carrier accounts in the API dashboard, and then begin creating labels. ### Created combined label document - [POST /v1/documents/combined_labels](https://docs.shipstation.com/apis/shipengine/openapi/labels/create_combined_label_document.md): Download a combined label file ### List labels - [GET /v1/labels](https://docs.shipstation.com/apis/shipengine/openapi/labels/list_labels.md): This endpoint returns a list of labels that you've created. You can optionally filter the results as well as control their sort order and the number of results returned at a time. By default, all labels are returned, 25 at a time, starting with the most recently created ones. You can combine multiple filter options to narrow-down the results. For example, if you only want to get your UPS labels for your east coast warehouse you could query by both warehouse_id and carrier_id ### Purchase label - [POST /v1/labels](https://docs.shipstation.com/apis/shipengine/openapi/labels/create_label.md): Purchase and print a label for shipment ### Get label by external shipment ID - [GET /v1/labels/external_shipment_id/{external_shipment_id}](https://docs.shipstation.com/apis/shipengine/openapi/labels/get_label_by_external_shipment_id.md): Find a label by using the external shipment id that was used during label creation ### Purchase label with rate ID - [POST /v1/labels/rates/{rate_id}](https://docs.shipstation.com/apis/shipengine/openapi/labels/create_label_from_rate.md): When retrieving rates for shipments using the /rates endpoint, the returned information contains a rate_id property that can be used to generate a label without having to refill in the shipment information repeatedly. ### Purchase label from rate shopper - [POST /v1/labels/rate_shopper_id/{rate_shopper_id}](https://docs.shipstation.com/apis/shipengine/openapi/labels/create_label_from_rate_shopper.md): Purchase and print a shipping label using the Rate Shopper. The Rate Shopper automatically selects the optimal carrier and service from your wallet carriers based on your specified rate selection strategy (cheapest, fastest, or best_value). For more information about this in the rates documentation. ### Purchase label with shipment ID - [POST /v1/labels/shipment/{shipment_id}](https://docs.shipstation.com/apis/shipengine/openapi/labels/create_label_from_shipment.md): Purchase a label using a shipment ID that has already been created with the desired address and package info. ### Get label by ID - [GET /v1/labels/{label_id}](https://docs.shipstation.com/apis/shipengine/openapi/labels/get_label_by_id.md): Retrieve information for individual labels. ### Create a return label - [POST /v1/labels/{label_id}/return](https://docs.shipstation.com/apis/shipengine/openapi/labels/create_return_label.md): Create a return label for an existing outbound label. You can optionally specify a custom RMA (Return Merchandise Authorization) number. If no RMA number is provided, the system will auto-generate one. ### Get label tracking information - [GET /v1/labels/{label_id}/track](https://docs.shipstation.com/apis/shipengine/openapi/labels/get_tracking_log_from_label.md): Retrieve the label's tracking information ### Void a label by ID - [PUT /v1/labels/{label_id}/void](https://docs.shipstation.com/apis/shipengine/openapi/labels/void_label.md): Void a label by ID to get a refund. ### Cancel a label refund request - [POST /v1/labels/{label_id}/cancel_refund](https://docs.shipstation.com/apis/shipengine/openapi/labels/cancel_label_refund.md): Cancel a scheduled refund request for a label. Only labels with refund status "request_scheduled" can be excluded from an upcoming refund request. ## LTL Shipping Less-than-truckload (LTL) shipping API endpoints for managing freight shipments. Connect LTL carriers, request quotes, schedule pickups, and track freight shipments. ### Get credential requirements - [GET /v-beta/ltl/carriers/{carrier_code}/credential_requirements](https://docs.shipstation.com/apis/shipengine/openapi/ltl/get_ltl_carrier_credential_requirements.md): Get the format and fields required for connecting an LTL carrier account. The carrier_code parameter should be the carrier's SCAC. ### List connected LTL carriers - [GET /v-beta/ltl/carriers](https://docs.shipstation.com/apis/shipengine/openapi/ltl/list_ltl_carriers.md): Retrieve a list of all connected LTL carrier accounts, including available accessorial services, container types, and service levels. ### Connect LTL carrier - [POST /v-beta/ltl/carriers](https://docs.shipstation.com/apis/shipengine/openapi/ltl/connect_ltl_carrier.md): Connect a new LTL carrier account by providing the required credentials. Use the credential requirements endpoint to determine what fields are needed. ### Request a quote - [POST /v-beta/ltl/quotes/{carrier_id}](https://docs.shipstation.com/apis/shipengine/openapi/ltl/create_ltl_quote.md): Obtain a price quote for a freight shipment using contracted rates. The quote_id must be supplied when scheduling pickups. ### Get carrier by ID - [GET /v-beta/ltl/carriers/{carrier_id}](https://docs.shipstation.com/apis/shipengine/openapi/ltl/get_ltl_carrier_by_id.md): Retrieve detailed information about a single connected LTL carrier account. ### Update carrier credentials - [PUT /v-beta/ltl/carriers/{carrier_id}](https://docs.shipstation.com/apis/shipengine/openapi/ltl/update_ltl_carrier.md): Update the authentication credentials for a connected LTL carrier. All credential fields must be provided, not just the ones being updated. ### List carrier features - [GET /v-beta/ltl/carriers/{carrier_code}/features](https://docs.shipstation.com/apis/shipengine/openapi/ltl/list_ltl_carrier_features.md): Get a list of features offered by a particular carrier ### List accessorial services - [GET /v-beta/ltl/carriers/{carrier_id}/options](https://docs.shipstation.com/apis/shipengine/openapi/ltl/list_ltl_carrier_options.md): Get a list of accessorial services offered by a particular carrier ### List container types - [GET /v-beta/ltl/carriers/{carrier_id}/packages](https://docs.shipstation.com/apis/shipengine/openapi/ltl/list_ltl_carrier_packages.md): Get a list of container types offered by a particular carrier ### List service levels - [GET /v-beta/ltl/carriers/{carrier_id}/services](https://docs.shipstation.com/apis/shipengine/openapi/ltl/list_ltl_carrier_services.md): Get a list of service levels offered by a particular carrier ### Request a spot quote - [POST /v-beta/ltl/spot-quotes/{carrier_id}](https://docs.shipstation.com/apis/shipengine/openapi/ltl/create_ltl_spot_quote.md): Obtain a spot quote for discounted freight rates. The quote_id must be supplied when scheduling pickups. ### Schedule a pickup - [POST /v-beta/ltl/pickups](https://docs.shipstation.com/apis/shipengine/openapi/ltl/create_ltl_pickup.md): Create a bill of lading and schedule a pickup with the carrier in one request. The BOL must be printed and given to the carrier at pickup. ### Schedule pickup from quote - [POST /v-beta/ltl/pickups/quotes/{quote_id}](https://docs.shipstation.com/apis/shipengine/openapi/ltl/create_ltl_pickup_from_quote.md): Create a bill of lading and schedule a pickup using an existing quote. ### Create BOL from pickup - [POST /v-beta/ltl/bol/pickups/{pickup_id}](https://docs.shipstation.com/apis/shipengine/openapi/ltl/create_ltl_bol_from_pickup.md): Create a bill of lading for an existing scheduled pickup ### Create BOL from quote - [POST /v-beta/ltl/bol/quotes/{quote_id}](https://docs.shipstation.com/apis/shipengine/openapi/ltl/create_ltl_bol_from_quote.md): Create a bill of lading for an existing quote ### Track a shipment - [GET /v-beta/ltl/tracking/{carrier_id}/{tracking_number}](https://docs.shipstation.com/apis/shipengine/openapi/ltl/track_ltl_shipment.md): Get tracking information for an LTL freight shipment ### List carrier documents - [GET /v-beta/ltl/carriers/{carrier_id}/documents/{pro_number}](https://docs.shipstation.com/apis/shipengine/openapi/ltl/list_ltl_carrier_documents.md): Get a list of documents associated with a PRO number from an LTL carrier ## Manifests manifests ### List manifests - [GET /v1/manifests](https://docs.shipstation.com/apis/shipengine/openapi/manifests/list_manifests.md): Similar to querying shipments, we allow you to query manifests since there will likely be a large number over a long period of time. ### Create manifest - [POST /v1/manifests](https://docs.shipstation.com/apis/shipengine/openapi/manifests/create_manifest.md): Each ShipEngine manifest is created for a specific warehouse, so you'll need to provide the warehouse_id rather than the ship_from address. You can create a warehouse for each location that you want to create manifests for. ### Get manifest by ID - [GET /v1/manifests/{manifest_id}](https://docs.shipstation.com/apis/shipengine/openapi/manifests/get_manifest_by_id.md): Get Manifest By Id ### Get manifest request by ID - [GET /v1/manifests/requests/{manifest_request_id}](https://docs.shipstation.com/apis/shipengine/openapi/manifests/get_manifest_request_by_id.md): Get Manifest Request By Id ## Package Pickups Scheduled package pickups ### List scheduled pickups - [GET /v1/pickups](https://docs.shipstation.com/apis/shipengine/openapi/package_pickups/list_scheduled_pickups.md): List all pickups that have been scheduled for this carrier ### Schedule a pickup - [POST /v1/pickups](https://docs.shipstation.com/apis/shipengine/openapi/package_pickups/schedule_pickup.md): Schedule a package pickup with a carrier ### Get pickup by ID - [GET /v1/pickups/{pickup_id}](https://docs.shipstation.com/apis/shipengine/openapi/package_pickups/get_pickup_by_id.md): Get Pickup By ID ### Delete a scheduled pickup - [DELETE /v1/pickups/{pickup_id}](https://docs.shipstation.com/apis/shipengine/openapi/package_pickups/delete_scheduled_pickup.md): Delete a previously-scheduled pickup by ID ## Package Types custom package types ### List custom package types - [GET /v1/packages](https://docs.shipstation.com/apis/shipengine/openapi/package_types/list_package_types.md): List the custom package types associated with the account ### Create custom package type - [POST /v1/packages](https://docs.shipstation.com/apis/shipengine/openapi/package_types/create_package_type.md): Create a custom package type to better assist in getting accurate rate estimates ### Get custom package type by ID - [GET /v1/packages/{package_id}](https://docs.shipstation.com/apis/shipengine/openapi/package_types/get_package_type_by_id.md): Get Custom Package Type by ID ### Update custom package type by ID - [PUT /v1/packages/{package_id}](https://docs.shipstation.com/apis/shipengine/openapi/package_types/update_package_type.md): Update the custom package type object by ID ### Delete a custom package by ID - [DELETE /v1/packages/{package_id}](https://docs.shipstation.com/apis/shipengine/openapi/package_types/delete_package_type.md): Delete a custom package using the ID ## Rates Make sure you ship as cost-effectively as possible by quickly comparing rates using the ShipEngine Rates API. As long as you have the carrier connected to your account, you'll be able to see and compare different rates and services. ### Get shipping rates - [POST /v1/rates](https://docs.shipstation.com/apis/shipengine/openapi/rates/calculate_rates.md): It's not uncommon that you want to give your customer the choice between whether they want to ship the fastest, cheapest, or the most trusted route. Most companies don't solely ship things using a single shipping option; so we provide functionality to show you all your options! ### Get bulk rates - [POST /v1/rates/bulk](https://docs.shipstation.com/apis/shipengine/openapi/rates/compare_bulk_rates.md): Get Bulk Shipment Rates ### Estimate rates - [POST /v1/rates/estimate](https://docs.shipstation.com/apis/shipengine/openapi/rates/estimate_rates.md): Get Rate Estimates ### Get rate by ID - [GET /v1/rates/{rate_id}](https://docs.shipstation.com/apis/shipengine/openapi/rates/get_rate_by_id.md): Retrieve a previously queried rate by its ID ## Service Points Service points allow customers to pick up their packages at convenient locations. ### List service points - [POST /v1/service_points/list](https://docs.shipstation.com/apis/shipengine/openapi/service_points/service_points_list.md): List carrier service points by location ### Get service point by ID - [GET /v1/service_points/{carrier_code}/{country_code}/{service_point_id}](https://docs.shipstation.com/apis/shipengine/openapi/service_points/service_points_get_by_id.md): Returns a carrier service point by using the service_point_id ## Shipments Shipments are at the center of the ShipEngine API. A shipment is the first step in creating a shipping label, or creating a manifest. It's also essential for getting shipping rates. ### List shipments - [GET /v1/shipments](https://docs.shipstation.com/apis/shipengine/openapi/shipments/list_shipments.md): Get list of Shipments ### Create shipments - [POST /v1/shipments](https://docs.shipstation.com/apis/shipengine/openapi/shipments/create_shipments.md): Create one or multiple shipments. ### Get shipment by external ID - [GET /v1/shipments/external_shipment_id/{external_shipment_id}](https://docs.shipstation.com/apis/shipengine/openapi/shipments/get_shipment_by_external_id.md): Query Shipments created using your own custom ID convention using this endpint ### Parse shipping info - [PUT /v1/shipments/recognize](https://docs.shipstation.com/apis/shipengine/openapi/shipments/parse_shipment.md): The shipment-recognition API makes it easy for you to extract shipping data from unstructured text, including people's names, addresses, package weights and dimensions, insurance and delivery requirements, and more. Data often enters your system as unstructured text (for example: emails, SMS messages, support tickets, or other documents). ShipEngine's shipment-recognition API helps you extract meaningful, structured data from this unstructured text. The parsed shipment data is returned in the same structure that's used for other ShipEngine APIs, so you can easily use the parsed data to create a shipping label. > Note: Shipment recognition is currently supported for the United States, Canada, Australia, New Zealand, the United Kingdom, and Ireland. ### Get shipment by ID - [GET /v1/shipments/{shipment_id}](https://docs.shipstation.com/apis/shipengine/openapi/shipments/get_shipment_by_id.md): Get an individual shipment based on its ID ### Update shipment by ID - [PUT /v1/shipments/{shipment_id}](https://docs.shipstation.com/apis/shipengine/openapi/shipments/update_shipment.md): Update a shipment object based on its ID ### Cancel a shipment - [PUT /v1/shipments/{shipment_id}/cancel](https://docs.shipstation.com/apis/shipengine/openapi/shipments/cancel_shipments.md): Mark a shipment cancelled, if it is no longer needed or being used by your organized. Any label associated with the shipment needs to be voided first An example use case would be if a batch label creation job is going to run at a set time and only queries pending shipments. Marking a shipment as cancelled would remove it from this process ### Get shipment rates - [GET /v1/shipments/{shipment_id}/rates](https://docs.shipstation.com/apis/shipengine/openapi/shipments/list_shipment_rates.md): Get Rates for the shipment information associated with the shipment ID ### Update shipments tags - [PUT /v1/shipments/tags](https://docs.shipstation.com/apis/shipengine/openapi/shipments/shipments_update_tags.md): Update Shipments Tags ### Get shipment tags - [GET /v1/shipments/{shipment_id}/tags](https://docs.shipstation.com/apis/shipengine/openapi/shipments/shipments_list_tags.md): Get Shipment tags based on its ID ### Add tag to shipment - [POST /v1/shipments/{shipment_id}/tags/{tag_name}](https://docs.shipstation.com/apis/shipengine/openapi/shipments/tag_shipment.md): Add a tag to the shipment object ### Remove tag from shipment - [DELETE /v1/shipments/{shipment_id}/tags/{tag_name}](https://docs.shipstation.com/apis/shipengine/openapi/shipments/untag_shipment.md): Remove an existing tag from the Shipment object ## Tags tags ### Get tags - [GET /v1/tags](https://docs.shipstation.com/apis/shipengine/openapi/tags/list_tags.md): Get a list of all tags associated with an account. ### Create a new tag - [POST /v1/tags](https://docs.shipstation.com/apis/shipengine/openapi/tags/create_tag.md): Create a new tag for customizing how you track your shipments. ### Create a new tag - [POST /v1/tags/{tag_name}](https://docs.shipstation.com/apis/shipengine/openapi/tags/create_tag_by_name.md): Create a new tag for customizing how you track your shipments (deprecated - use POST /v1/tags instead) ### Delete tag - [DELETE /v1/tags/{tag_name}](https://docs.shipstation.com/apis/shipengine/openapi/tags/delete_tag.md): Delete a tag that is no longer needed ### Update tag name - [PUT /v1/tags/{tag_name}/{new_tag_name}](https://docs.shipstation.com/apis/shipengine/openapi/tags/rename_tag.md): Change a tag name while still keeping the relevant shipments attached to it ## Tokens Manage authentication tokens for secure API access. ### Get ephemeral token - [POST /v1/tokens/ephemeral](https://docs.shipstation.com/apis/shipengine/openapi/tokens/tokens_get_ephemeral_token.md): This endpoint returns a token that can be passed to an application for authorized access. The lifetime of this token is 10 seconds. ## Tracking Track packages across any of our 20+ supported carrier accounts and create tracking events to keep your customers up-to-date. Easily integrate real-time tracking information for shipments into your app, email, or SMS. ### Get tracking information - [GET /v1/tracking](https://docs.shipstation.com/apis/shipengine/openapi/tracking/get_tracking_log.md): Retrieve package tracking information ### Start tracking a package - [POST /v1/tracking/start](https://docs.shipstation.com/apis/shipengine/openapi/tracking/start_tracking.md): Allows you to subscribe to tracking updates for a package. You specify the carrier_code and tracking_number of the package, and receive notifications via webhooks whenever the shipping status changes. ### Stop tracking a package - [POST /v1/tracking/stop](https://docs.shipstation.com/apis/shipengine/openapi/tracking/stop_tracking.md): Unsubscribe from tracking updates for a package. ## Warehouses warehouses ### List warehouses - [GET /v1/warehouses](https://docs.shipstation.com/apis/shipengine/openapi/warehouses/list_warehouses.md): Retrieve a list of warehouses associated with this account. ### Create warehouse - [POST /v1/warehouses](https://docs.shipstation.com/apis/shipengine/openapi/warehouses/create_warehouse.md): Create a warehouse location that you can use to create shipping items by simply passing in the generated warehouse id. If the return address is not supplied in the request body then it is assumed that the origin address is the return address as well ### Get warehouse by ID - [GET /v1/warehouses/{warehouse_id}](https://docs.shipstation.com/apis/shipengine/openapi/warehouses/get_warehouse_by_id.md): Retrieve warehouse data based on the warehouse ID ### Update warehouse by ID - [PUT /v1/warehouses/{warehouse_id}](https://docs.shipstation.com/apis/shipengine/openapi/warehouses/update_warehouse.md): Update Warehouse object information ### Delete warehouse by ID - [DELETE /v1/warehouses/{warehouse_id}](https://docs.shipstation.com/apis/shipengine/openapi/warehouses/delete_warehouse.md): Delete a warehouse by ID ### Update warehouse settings - [PUT /v1/warehouses/{warehouse_id}/settings](https://docs.shipstation.com/apis/shipengine/openapi/warehouses/update_warehouse_settings.md): Update Warehouse settings object information ## Webhooks Webhooks are a powerful feature of ShipEngine that can save you from sending repeated polling requests to check on the state of something. With webhooks, ShipEngine will automatically contact your servers when the state changes. This can include parcel tracking events, notification of the completion of a batch operation, or new sales orders. ### List webhooks - [GET /v1/environment/webhooks](https://docs.shipstation.com/apis/shipengine/openapi/webhooks/list_webhooks.md): List all webhooks currently enabled for the account. ### Create a webhook - [POST /v1/environment/webhooks](https://docs.shipstation.com/apis/shipengine/openapi/webhooks/create_webhook.md): Create a webhook for specific events in the environment. ### Get webhook by ID - [GET /v1/environment/webhooks/{webhook_id}](https://docs.shipstation.com/apis/shipengine/openapi/webhooks/get_webhook_by_id.md): Retrieve individual webhook by an ID ### Update a webhook - [PUT /v1/environment/webhooks/{webhook_id}](https://docs.shipstation.com/apis/shipengine/openapi/webhooks/update_webhook.md): Update the webhook url property ### Delete webhook by ID - [DELETE /v1/environment/webhooks/{webhook_id}](https://docs.shipstation.com/apis/shipengine/openapi/webhooks/delete_webhook.md): Delete a webhook