FedEx Authentication with RocketShipIt Child Credentials

RocketShipIt is a FedEx® Compatible solution. Instead of registering for your own FedEx developer account and creating an app, you can generate FedEx API credentials for your FedEx account number directly from the My Account page. This gives you a child_key and child_secret linked to your FedEx account.

Step 1: Get an access token#

FedEx child credentials cannot be exchanged for a token by calling FedEx directly — the token request must also be signed with RocketShipIt's parent credentials, which we hold securely in the cloud. Send the Authenticate call to the RocketShipIt Cloud API with your child credentials and we take care of the rest:

curl -X POST \
  https://api.rocketship.it/v1 \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_RS_API_KEY' \
  -d '{
    "carrier": "FedEx-REST",
    "action": "authenticate",
    "params": {
        "child_key": "YOUR_CHILD_KEY",
        "child_secret": "YOUR_CHILD_SECRET"
    }
}'

Note: YOUR_RS_API_KEY is your RocketShipIt API key from the My Account page, the same key used for all Cloud API requests. You do not need a client_id or client_secret — that is the point of child credentials.

Example response:

{
  "data": {
    "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6...",
    "errors": null,
    "expires_at": 1765432101000,
    "expires_in": 3600,
    "scope": "CXS",
    "token_type": "bearer"
  },
  "meta": {
    "code": 200,
    "error_message": ""
  }
}
  • access_token is the key you will use in subsequent requests.
  • expires_in is seconds until expiration. FedEx tokens are valid for ~1 hour.
  • expires_at is a Unix epoch timestamp in milliseconds.

Store the token and reuse it until it expires, then make the Authenticate call again to get a fresh one. See Authenticating with REST oauth APIs for general guidance on token handling.

Step 2: Use the token as key#

Use the access_token as the key parameter in any FedEx-REST request. These requests can go to the Cloud API or to your self-hosted RocketShipIt instance:

{
  "carrier": "FedEx-REST",
  "action": "track",
  "params": {
    "key": "eyJhbGciOiJIUzI1NiIsInR5cCI6...",
    "tracking_number": "794843185271"
  }
}

Notes#

  • The Authenticate call with child credentials only works against the RocketShipIt Cloud API (https://api.rocketship.it/v1). A self-hosted instance cannot mint tokens from child credentials alone, but it can use the resulting key for all other FedEx-REST actions.
  • If you supply your own client_id/client_secret (from your own FedEx developer account), those are always used instead — child credentials are only an alternative for users who don't want to manage a FedEx developer account.
  • Child credentials are production credentials tied to the FedEx account number you registered on the My Account page.