# Purolator E-Ship credential requirements

Prior to shipping with Purolator E-Ship, you must configure credentials in the [Shipium Console](https://partner.shipium.com/login). Purolator E-Ship's service methods and their identifiers are listed on the [Supported Carriers](https://docs.shipium.com/docs/supported-carriers#purolator-e-ship) page.

## Purolator Standard Credentials

Select **Purolator Standard Credentials** for Purolator E-Ship domestic Canadian, US, and international express service methods. You'll provide a development key and development key password for test mode, a production key and production key password for production, and a courier account number and activation key for both test mode and production.

## Purolator International PuroPost Standard Credentials

Select **Purolator International PuroPost Standard Credentials** for PuroPost and Purolator International Courier service methods (cross-border US-to-Canada shipping). You'll provide a username, password, and client ID for both test mode and production.

# Shipping options

## Hold at location

You may opt to designate a shipment as "hold at location", or HAL, if you'd like to have a package held for pickup at a Purolator E-Ship location nearby rather than having it delivered to an address. To flag a package as HAL, you'll need to include the fields in the tables below as part of the `labelParameters` in your API call.

### Conditional fields

| Request field                          | Details                                                                                                                                                      |
|----------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `holdAtLocation.useHoldAtLocation`    | **Type:** Boolean<br>**Values:**`true` or `false`<br>**Condition:** Required to designate a package as "hold at location"<br>**Description:** If `true`, this indicates that the shipper wishes to have the package held at a Purolator E-Ship location nearby for pickup rather than having it delivered. |

### Optional fields

| Request field                          | Details                                                                                                       |
|----------------------------------------|---------------------------------------------------------------------------------------------------------------|
| `holdAtLocation.holdAtLocationId`     | **Type:** String<br>**Example:**`USA 123`<br>**Description:** An optional identifier your organization can include to reference the package being held at location |

A snippet of the JSON request for the API call with the optional hold at location fields is included.

JSON

```json
{
  "labelParameters": {
    "holdAtLocation": {
      "useHoldAtLocation": true,
      "holdAtLocationId": "USA 123"
    }
  }
}
```

# Resources

Your Shipium team member is available to help along the way. However, you might find these resources helpful:

- [Terms and Definitions](https://docs.shipium.com/docs/common-terms)
- [Troubleshooting Guide](https://docs.shipium.com/docs/troubleshooting-guide)
- [Contact Shipium Support](https://docs.shipium.com/docs/contacting-shipium-support)
