BUSINESS · COMMERCE & FINANCE
Rates, labels, tracking, and address validation on that account’s own key.
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
shipengine_delete_v1_account_settings_images_by_label_image_idWRITEDelete Account Image By Id via DELETE /v1/account/settings/images/{label_image_id}
shipengine_delete_v1_batches_by_batch_idWRITEDelete Batch By Id via DELETE /v1/batches/{batch_id}
shipengine_delete_v1_carriers_by_carrier_idWRITEDisconnect a Carrier of the given ID from the account via DELETE /v1/carriers/{carrier_id}
shipengine_delete_v1_connections_carriers_by_carrier_name_by_carrier_idWRITEDisconnect a carrier via DELETE /v1/connections/carriers/{carrier_name}/{carrier_id}
shipengine_delete_v1_connections_insurance_shipsuranceWRITEDisconnect a Shipsurance Account via DELETE /v1/connections/insurance/shipsurance
shipengine_delete_v1_environment_webhooks_by_webhook_idWRITEDelete a webhook via DELETE /v1/environment/webhooks/{webhook_id}
shipengine_delete_v1_packages_by_package_idWRITEDelete a custom package using the ID via DELETE /v1/packages/{package_id}
shipengine_delete_v1_pickups_by_pickup_idWRITEDelete a previously-scheduled pickup by ID via DELETE /v1/pickups/{pickup_id}
shipengine_delete_v1_shipments_by_shipment_id_tags_by_tag_nameWRITERemove an existing tag from the Shipment object via DELETE /v1/shipments/{shipment_id}/tags/{tag_name}
shipengine_delete_v1_tags_by_tag_nameWRITEDelete a tag that is no longer needed via DELETE /v1/tags/{tag_name}
shipengine_delete_v1_warehouses_by_warehouse_idWRITEDelete a warehouse by ID via DELETE /v1/warehouses/{warehouse_id}
shipengine_get_v1_account_settingsREADList all account settings for the ShipEngine account via GET /v1/account/settings
shipengine_get_v1_account_settings_imagesREADList all account images for the ShipEngine account via GET /v1/account/settings/images
shipengine_get_v1_account_settings_images_by_label_image_idREADRetrieve information for an account image. via GET /v1/account/settings/images/{label_image_id}
shipengine_get_v1_batchesREADList Batches associated with your Shipengine account via GET /v1/batches
shipengine_get_v1_batches_by_batch_idREADGet Batch By ID via GET /v1/batches/{batch_id}
shipengine_get_v1_batches_by_batch_id_errorsREADError handling in batches are handled differently than in a single synchronous request. You must retrieve the status of your batch by [getting a batch](https://www.shipengine.com/docs/reference/get-batch-by-id/) and getting an overview of the statuses or you can list errors directly here below to get detailed information about the errors. via GET /v1/batches/{batch_id}/errors
shipengine_get_v1_batches_external_batch_id_by_external_batch_idREADGet Batch By External ID via GET /v1/batches/external_batch_id/{external_batch_id}
shipengine_get_v1_carriersREADList all carriers that have been added to this account via GET /v1/carriers
shipengine_get_v1_carriers_by_carrier_idREADRetrive carrier info by ID via GET /v1/carriers/{carrier_id}
shipengine_get_v1_carriers_by_carrier_id_optionsREADGet a list of the options available for the carrier via GET /v1/carriers/{carrier_id}/options
shipengine_get_v1_carriers_by_carrier_id_packagesREADList the package types associated with the carrier via GET /v1/carriers/{carrier_id}/packages
shipengine_get_v1_carriers_by_carrier_id_servicesREADList the services associated with the carrier ID via GET /v1/carriers/{carrier_id}/services
shipengine_get_v1_connections_carriers_by_carrier_name_by_carrier_id_settingsREADGet carrier settings via GET /v1/connections/carriers/{carrier_name}/{carrier_id}/settings
shipengine_get_v1_environment_webhooksREADList all webhooks currently enabled for the account. via GET /v1/environment/webhooks
shipengine_get_v1_environment_webhooks_by_webhook_idREADRetrieve individual webhook by an ID via GET /v1/environment/webhooks/{webhook_id}
shipengine_get_v1_insurance_shipsurance_balanceREADRetrieve the balance of your Shipsurance account. via GET /v1/insurance/shipsurance/balance
shipengine_get_v1_labelsREADThis endpoint returns a list of labels that you've [created](https://www.shipengine.com/docs/labels/create-a-label/). 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` via GET /v1/labels
shipengine_get_v1_labels_by_label_idREADRetrieve information for individual labels. via GET /v1/labels/{label_id}
shipengine_get_v1_labels_by_label_id_trackREADRetrieve the label's tracking information via GET /v1/labels/{label_id}/track
shipengine_get_v1_labels_external_shipment_id_by_external_shipment_idREADFind a label by using the external shipment id that was used during label creation via GET /v1/labels/external_shipment_id/{external_shipment_id}
shipengine_get_v1_manifestsREADSimilar to querying shipments, we allow you to query manifests since there will likely be a large number over a long period of time. via GET /v1/manifests
shipengine_get_v1_manifests_by_manifest_idREADGet Manifest By Id via GET /v1/manifests/{manifest_id}
shipengine_get_v1_manifests_requests_by_manifest_request_idREADGet Manifest Request By Id via GET /v1/manifests/requests/{manifest_request_id}
shipengine_get_v1_packagesREADList the custom package types associated with the account via GET /v1/packages
shipengine_get_v1_packages_by_package_idREADGet Custom Package Type by ID via GET /v1/packages/{package_id}
shipengine_get_v1_pickupsREADList all pickups that have been scheduled for this carrier via GET /v1/pickups
shipengine_get_v1_pickups_by_pickup_idREADGet Pickup By ID via GET /v1/pickups/{pickup_id}
shipengine_get_v1_rates_by_rate_idREADRetrieve a previously queried rate by its ID via GET /v1/rates/{rate_id}
shipengine_get_v1_service_points_by_carrier_code_by_country_code_by_service_point_idREADReturns a carrier service point by using the service_point_id via GET /v1/service_points/{carrier_code}/{country_code}/{service_point_id}
shipengine_get_v1_shipmentsREADGet list of Shipments via GET /v1/shipments
shipengine_get_v1_shipments_by_shipment_idREADGet an individual shipment based on its ID via GET /v1/shipments/{shipment_id}
shipengine_get_v1_shipments_by_shipment_id_ratesREADGet Rates for the shipment information associated with the shipment ID via GET /v1/shipments/{shipment_id}/rates
shipengine_get_v1_shipments_by_shipment_id_tagsREADGet Shipment tags based on its ID via GET /v1/shipments/{shipment_id}/tags
shipengine_get_v1_shipments_external_shipment_id_by_external_shipment_idREADQuery Shipments created using your own custom ID convention using this endpint via GET /v1/shipments/external_shipment_id/{external_shipment_id}
shipengine_get_v1_tagsREADGet a list of all tags associated with an account. via GET /v1/tags
shipengine_get_v1_trackingREADRetrieve package tracking information via GET /v1/tracking
shipengine_get_v1_warehousesREADRetrieve a list of warehouses associated with this account. via GET /v1/warehouses
shipengine_get_v1_warehouses_by_warehouse_idREADRetrieve warehouse data based on the warehouse ID via GET /v1/warehouses/{warehouse_id}
shipengine_patch_v1_insurance_shipsurance_add_fundsWRITEYou 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. via PATCH /v1/insurance/shipsurance/add_funds
shipengine_post_v1_account_settings_imagesWRITECreate an Account Image via POST /v1/account/settings/images
shipengine_post_v1_addresses_validateWRITEAddress 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. via POST /v1/addresses/validate
shipengine_post_v1_batchesWRITECreate a Batch via POST /v1/batches
shipengine_post_v1_batches_by_batch_id_addWRITEAdd a Shipment or Rate to a Batch via POST /v1/batches/{batch_id}/add
shipengine_post_v1_batches_by_batch_id_process_labelsWRITEProcess Batch ID Labels via POST /v1/batches/{batch_id}/process/labels
shipengine_post_v1_batches_by_batch_id_removeWRITERemove a shipment or rate from a batch via POST /v1/batches/{batch_id}/remove
shipengine_post_v1_connections_carriers_by_carrier_nameWRITEConnect a carrier account via POST /v1/connections/carriers/{carrier_name}
shipengine_post_v1_connections_insurance_shipsuranceWRITEConnect a Shipsurance Account via POST /v1/connections/insurance/shipsurance
shipengine_post_v1_documents_combined_labelsWRITEDownload a combined label file via POST /v1/documents/combined_labels
shipengine_post_v1_environment_webhooksWRITECreate a webhook for specific events in the environment. via POST /v1/environment/webhooks
shipengine_post_v1_labelsWRITEPurchase and print a label for shipment via POST /v1/labels
shipengine_post_v1_labels_by_label_id_cancel_refundWRITECancel a scheduled refund request for a label. Only labels with refund status "request_scheduled" can be excluded from an upcoming refund request. via POST /v1/labels/{label_id}/cancel_refund
shipengine_post_v1_labels_by_label_id_returnWRITECreate 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. via POST /v1/labels/{label_id}/return
shipengine_post_v1_labels_rate_shopper_id_by_rate_shopper_idWRITEPurchase 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](https://www.shipengine.com/docs/rates/#about-the-response). via POST /v1/labels/rate_shopper_id/{rate_shopper_id}
shipengine_post_v1_labels_rates_by_rate_idWRITEWhen 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. via POST /v1/labels/rates/{rate_id}
shipengine_post_v1_labels_shipment_by_shipment_idWRITEPurchase a label using a shipment ID that has already been created with the desired address and package info. via POST /v1/labels/shipment/{shipment_id}
shipengine_post_v1_manifestsWRITEEach 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. via POST /v1/manifests
shipengine_post_v1_packagesWRITECreate a custom package type to better assist in getting accurate rate estimates via POST /v1/packages
shipengine_post_v1_pickupsWRITESchedule a package pickup with a carrier via POST /v1/pickups
shipengine_post_v1_ratesWRITEIt'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! via POST /v1/rates
shipengine_post_v1_rates_bulkWRITEGet Bulk Shipment Rates via POST /v1/rates/bulk
shipengine_post_v1_rates_estimateWRITEGet Rate Estimates via POST /v1/rates/estimate
shipengine_post_v1_service_points_listWRITEList carrier service points by location via POST /v1/service_points/list
shipengine_post_v1_shipmentsWRITECreate one or multiple shipments. via POST /v1/shipments
shipengine_post_v1_shipments_by_shipment_id_tags_by_tag_nameWRITEAdd a tag to the shipment object via POST /v1/shipments/{shipment_id}/tags/{tag_name}
shipengine_post_v1_tagsWRITECreate a new tag for customizing how you track your shipments. via POST /v1/tags
shipengine_post_v1_tags_by_tag_nameWRITECreate a new tag for customizing how you track your shipments (deprecated - use POST /v1/tags instead) via POST /v1/tags/{tag_name}
shipengine_post_v1_tokens_ephemeralWRITEThis endpoint returns a token that can be passed to an application for authorized access. The lifetime of this token is 10 seconds. via POST /v1/tokens/ephemeral
shipengine_post_v1_tracking_startWRITEAllows 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. via POST /v1/tracking/start
shipengine_post_v1_tracking_stopWRITEUnsubscribe from tracking updates for a package. via POST /v1/tracking/stop
shipengine_post_v1_warehousesWRITECreate 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 via POST /v1/warehouses
shipengine_put_v1_account_settings_images_by_label_image_idWRITEUpdate information for an account image. via PUT /v1/account/settings/images/{label_image_id}
shipengine_put_v1_addresses_recognizeWRITEThe 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. via PUT /v1/addresses/recognize
shipengine_put_v1_batches_by_batch_idWRITEUpdate Batch By Id via PUT /v1/batches/{batch_id}
shipengine_put_v1_carriers_by_carrier_id_add_fundsWRITEAdd Funds To A Carrier via PUT /v1/carriers/{carrier_id}/add_funds
shipengine_put_v1_connections_carriers_by_carrier_name_by_carrier_id_settingsWRITEUpdate carrier settings via PUT /v1/connections/carriers/{carrier_name}/{carrier_id}/settings
shipengine_put_v1_environment_webhooks_by_webhook_idWRITEUpdate the webhook url property via PUT /v1/environment/webhooks/{webhook_id}
shipengine_put_v1_labels_by_label_id_voidWRITEVoid a label by ID to get a refund. via PUT /v1/labels/{label_id}/void
shipengine_put_v1_packages_by_package_idWRITEUpdate the custom package type object by ID via PUT /v1/packages/{package_id}
shipengine_put_v1_shipments_by_shipment_idWRITEUpdate a shipment object based on its ID via PUT /v1/shipments/{shipment_id}
shipengine_put_v1_shipments_by_shipment_id_cancelWRITEMark 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 via PUT /v1/shipments/{shipment_id}/cancel
shipengine_put_v1_shipments_recognizeWRITEThe 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. via PUT /v1/shipments/recognize
shipengine_put_v1_shipments_tagsWRITEUpdate Shipments Tags via PUT /v1/shipments/tags
shipengine_put_v1_tags_by_tag_name_by_new_tag_nameWRITEChange a tag name while still keeping the relevant shipments attached to it via PUT /v1/tags/{tag_name}/{new_tag_name}
shipengine_put_v1_warehouses_by_warehouse_idWRITEUpdate Warehouse object information via PUT /v1/warehouses/{warehouse_id}
shipengine_put_v1_warehouses_by_warehouse_id_settingsWRITEUpdate Warehouse settings object information via PUT /v1/warehouses/{warehouse_id}/settings
Put ShipEngine behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.