# Easyship integrations: shipments, rates and labels

> Create a shipment, create a label and create a pickup in Easyship, and start a workflow when Easyship sends “Shipment label created”.

**Canonical page:** https://tray.ai/connectors/easyship-integrations/
**Categories:** Supply chain
**Connects through:** HTTP Connector

## Overview

Easyship is a shipping platform for online stores that compares courier rates, buys labels, schedules pickups, and tracks domestic and international parcels. Tray.ai connects to Easyship through the HTTP Connector, so your workflows can call the Easyship API alongside the rest of your stack.

## Use cases

### Shipments

Read, create, and delete shipments in Easyship from any Tray.ai workflow. The Easyship API covers calls such as list all shipments and create a shipment.

- List all shipments
- Create a shipment
- Get a shipment

### Rates

Read rates in Easyship from any Tray.ai workflow. The Easyship API covers calls such as request shipping rates and list supported couriers.

- Request shipping rates
- List supported couriers

### Labels

Create labels in Easyship from any Tray.ai workflow. The Easyship API covers calls such as create a label and create a batch of labels.

- Create a label
- Create a batch of labels

### Pickups

Read, create, and delete pickups in Easyship from any Tray.ai workflow. The Easyship API covers calls such as list available pickup slots and create a pickup.

- List available pickup slots
- Create a pickup
- Get a pickup

### Trackings

Read, create, and delete trackings in Easyship from any Tray.ai workflow. The Easyship API covers calls such as list all trackings and create a tracking.

- List all trackings
- Create a tracking
- Get a tracking

### Addresses

Read, create, and update addresses in Easyship from any Tray.ai workflow. The Easyship API covers calls such as list all addresses and create an address.

- List all addresses
- Create an address
- Update an address

## Challenges Tray.ai solves

### Keeping Easyship credentials out of logs

A raw API call usually means pasting a key or token into the request, where it ends up in step inputs, logs, and screenshots.

**How Tray.ai helps:** Store Easyship credentials once as a Tray.ai authentication and reference them from the HTTP Connector. Tray.ai masks authentication values in logs, so the secret never shows up in a step's input or output.

### Going from the Easyship API docs to a working call

Translating an example request from API docs into a workflow step means copying the method, URL, headers, and body by hand.

**How Tray.ai helps:** Paste a cURL example from the Easyship API docs into the HTTP Connector and Tray.ai fills in the method, URL, headers, and body for you.

### Handling files and non-JSON responses

Not every API answers in JSON. Some return XML, files, or binary data, or expect a multipart upload.

**How Tray.ai helps:** The HTTP Connector parses JSON and XML responses, returns files you can pass to the next step, and sends multipart form data for uploads.

## Frequently asked questions

### Does Tray.ai connect to Easyship?

Yes. Tray.ai connects to Easyship through the HTTP Connector, which calls the Easyship API directly. Any call the Easyship API documents can run as a step in a Tray.ai workflow.

### How does Tray.ai authenticate with Easyship?

The Easyship API uses a bearer token and OAuth 2.0. You save it once as a Tray.ai authentication, and the HTTP Connector adds it to every request.

### Can I get a dedicated Easyship connector?

Easyship runs through the HTTP Connector rather than a dedicated connector. If your team wants one, the Tray.ai connector SDK can build a dedicated Easyship connector from the Easyship API.

## Learn more

- Intelligent Integration: https://tray.ai/platform/intelligent-ipaas/
- Merlin Agent Builder: https://tray.ai/platform/merlin-agent-builder/
- Agent Gateway for MCP: https://tray.ai/platform/agent-gateway/
- Book a demo: https://tray.ai/contact/
