REST API
ShipLabel registers a REST API namespace (/wp-json/shiplabel/v1/).
Endpoints
| Endpoint | Method | Description |
|---|---|---|
/orders/{order_id}/generate | POST | Generate a label for an order |
/orders/{order_id}/labels | GET | List all labels generated for an order |
/labels/{label_id} | GET | Get a single label's details |
/labels/{label_id}/void | POST | Cancel/void a label |
/labels/{label_id}/tracking | GET | Get current tracking status for a label |
/labels/{label_id}/download | GET | Download the label file |
/validate-address | POST | Validate an address against USPS or FedEx |
/rates | POST | Get a live rate estimate for a package |
Authentication
All endpoints require an authenticated WordPress session (cookie + nonce, or Application Passwords) for a user with the manage_woocommerce capability. There is no separate API key - access follows standard WordPress REST API authentication.
This is separate from the tracking webhook, which is a plain (non-REST) endpoint secured by its own secret rather than WordPress user authentication.