Reconnecting your FedEx BYOA Account

If you registered your FedEx BYOA account with Shippo prior to 01-14-2026 you must reconnect your account before 3-31-2026 to avoid disruption.

Why Reconnect?

The new features are:

  • Improved reliability and performance
  • Enhanced security with multi-factor authentication
  • Better error handling and response times
  • Future-proof API support

Before You Begin

Before reconnecting your FedEx account, ensure you have:

  • Your FedEx account number
  • Your account holder's first name and last name
  • Your phone number (must match what's on file with FedEx)
  • Your shipping address (must match what's on file with FedEx at fedex.com)
  • For invoice verification: a recent FedEx invoice with invoice number, date, amount, and currency

Reconnecting Process

The reconnecting process uses the same multi-factor authentication workflow as new account registrations. You can choose from the following verification methods:

  • SMS - Receive a verification PIN via text message
  • EMAIL - Receive a verification PIN via email
  • CALL - Receive a verification PIN via phone call
  • INVOICE - Verify using details from a recent FedEx invoice

Step 1: Check Your Current Account Status

First, retrieve your current FedEx carrier account to verify its status:

Copy
Copied
curl https://api.goshippo.com/carrier_accounts/{object_id} \
  -H "Authorization: ShippoToken <API_TOKEN>"

heck the parameters field in the response. If you see use_rest_api: true, your account has already been migrated. If you see use_oauth_api: false or no use_rest_api field, you need to re-register.

The response may also include a verification_status field in the parameters object, which can be one of:

  • PENDING - Verification is in progress
  • COMPLETE - Account is verified and active
  • FAILED - Verification attempt failed

Step 2: Reconnecting Using SMS, EMAIL, or CALL Verification

If you choose SMS, EMAIL, or CALL verification, you'll need to complete a two-step process.

Step 2a: Initiate Registration

Use the same object_id from your existing account and update it with the new registration parameters:

Reconnecting account requestReconnecting account response
Copy
Copied
curl -X PUT \
  https://api.goshippo.com/carrier_accounts/{object_id} \
  -H "Authorization: ShippoToken <API_TOKEN>" \
  -H 'Content-Type: application/json' \
  -d '{
    "carrier": "fedex",
    "account_id": "YOUR_FEDEX_ACCOUNT_NUMBER",
    "parameters": {
      "use_multi_factor_registration": true,
      "first_name": "YOUR_FIRST_NAME",
      "last_name": "YOUR_LAST_NAME",
      "phone_number": "YOUR_PHONE_NUMBER",
      "from_address_st": "YOUR_STREET_ADDRESS",
      "from_address_city": "YOUR_CITY",
      "from_address_state": "YOUR_STATE",
      "from_address_zip": "YOUR_ZIP",
      "from_address_country_iso2": "YOUR_COUNTRY",
      "verification_option": "SMS"
    }
  }'
Copy
Copied
{
  "object_id": "b741b99f95e841639b54272834bc478c",
  "carrier": "fedex",
  "account_id": "YOUR_FEDEX_ACCOUNT_NUMBER",
  "parameters": {
    "use_multi_factor_registration": true,
    "first_name": "YOUR_FIRST_NAME",
    "last_name": "YOUR_LAST_NAME",
    "phone_number": "YOUR_PHONE_NUMBER",
    "from_address_st": "YOUR_STREET_ADDRESS",
    "from_address_city": "YOUR_CITY",
    "from_address_state": "YOUR_STATE",
    "from_address_zip": "YOUR_ZIP",
    "from_address_country_iso2": "YOUR_COUNTRY",
    "verification_option": "SMS",
    "verification_status": "PENDING"
  }
}

Step 2b: Complete Verification with PIN

After receiving your verification PIN (via SMS, EMAIL, or CALL), complete the registration:

Complete verificationVerification complete response
Copy
Copied
curl -X PUT \
  https://api.goshippo.com/carrier_accounts/{object_id} \
  -H "Authorization: ShippoToken <API_TOKEN>" \
  -H 'Content-Type: application/json' \
  -d '{
    "carrier": "fedex",
    "account_id": "YOUR_FEDEX_ACCOUNT_NUMBER",
    "parameters": {
      "use_multi_factor_registration": true,
      "first_name": "YOUR_FIRST_NAME",
      "last_name": "YOUR_LAST_NAME",
      "phone_number": "YOUR_PHONE_NUMBER",
      "from_address_st": "YOUR_STREET_ADDRESS",
      "from_address_city": "YOUR_CITY",
      "from_address_state": "YOUR_STATE",
      "from_address_zip": "YOUR_ZIP",
      "from_address_country_iso2": "YOUR_COUNTRY",
      "verification_option": "SMS",
      "verification_pin": "123456"
    }
  }'
Copy
Copied
{
  "object_id": "b741b99f95e841639b54272834bc478c",
  "carrier": "fedex",
  "account_id": "YOUR_FEDEX_ACCOUNT_NUMBER",
  "parameters": {
    "use_multi_factor_registration": true,
    "use_rest_api": true,
    "first_name": "YOUR_FIRST_NAME",
    "last_name": "YOUR_LAST_NAME",
    "phone_number": "YOUR_PHONE_NUMBER",
    "from_address_st": "YOUR_STREET_ADDRESS",
    "from_address_city": "YOUR_CITY",
    "from_address_state": "YOUR_STATE",
    "from_address_zip": "YOUR_ZIP",
    "from_address_country_iso2": "YOUR_COUNTRY",
    "verification_option": "SMS",
    "verification_status": "COMPLETE",
    "child_key": "******",
    "child_secret": "******"
  }
}
Success Indicator

When you see "use_rest_api": true and "verification_status": "COMPLETE" in the response, your account has been successfully reconnected.

Step 3: Reconnecting Using INVOICE Verification (Single Step)

If you have a recent FedEx invoice, you can complete the registration in a single step:

Reconnecting with invoice verificationInvoice verification response
Copy
Copied
curl -X PUT \
  https://api.goshippo.com/carrier_accounts/{object_id} \
  -H "Authorization: ShippoToken <API_TOKEN>" \
  -H 'Content-Type: application/json' \
  -d '{
    "carrier": "fedex",
    "account_id": "YOUR_FEDEX_ACCOUNT_NUMBER",
    "parameters": {
      "use_multi_factor_registration": true,
      "first_name": "YOUR_FIRST_NAME",
      "last_name": "YOUR_LAST_NAME",
      "phone_number": "YOUR_PHONE_NUMBER",
      "from_address_st": "YOUR_STREET_ADDRESS",
      "from_address_city": "YOUR_CITY",
      "from_address_state": "YOUR_STATE",
      "from_address_zip": "YOUR_ZIP",
      "from_address_country_iso2": "YOUR_COUNTRY",
      "verification_option": "INVOICE",
      "verification_invoice_number": "INVOICE_NUMBER",
      "verification_invoice_date": "2022-10-09",
      "verification_invoice_amount": "2323.22",
      "verification_invoice_currency": "USD"
    }
  }'
Copy
Copied
{
  "object_id": "a2e7c11d98f5436ba8e22338829ad577",
  "carrier": "fedex",
  "account_id": "YOUR_FEDEX_ACCOUNT_NUMBER",
  "parameters": {
    "use_rest_api": true,
    "use_multi_factor_registration": true,
    "first_name": "YOUR_FIRST_NAME",
    "last_name": "YOUR_LAST_NAME",
    "phone_number": "YOUR_PHONE_NUMBER",
    "from_address_st": "YOUR_STREET_ADDRESS",
    "from_address_city": "YOUR_CITY",
    "from_address_state": "YOUR_STATE",
    "from_address_zip": "YOUR_ZIP",
    "from_address_country_iso2": "YOUR_COUNTRY",
    "verification_option": "INVOICE",
    "verification_invoice_number": "INVOICE_NUMBER",
    "verification_invoice_date": "2022-10-09",
    "verification_invoice_amount": "2323.22",
    "verification_invoice_currency": "USD",
    "child_key": "******",
    "child_secret": "******"
  }
}
note

Registration using INVOICE is a single step process. You are not required to verify the registration with a PIN.

Important Notes

  1. Use the same object_id : When re-registering, use the object_id from your existing FedEx carrier account. This ensures your account is updated rather than creating a duplicate.
  2. Address must match FedEx records : The shipping address you provide must exactly match what's on file with FedEx. Verify this in your FedEx account profile .
  3. Phone number verification : For SMS, EMAIL, or CALL verification, the phone number must match what FedEx has on file for your account.
  4. Invoice requirements : If using invoice verification, the invoice must be recent (typically within the last 90 days) and all details must match exactly.
  5. No downtime : Your existing account will continue to work during the reconnection process. The re-registration updates your account credentials in the background.
  6. Child credentials : Upon successful verification, the API response will include child_key and child_secret fields in the parameters object. These are credentials issued by FedEx that allow Shippo to interact with FedEx APIs on behalf of your account for rating and label generation. These values are sensitive and will be encrypted at rest and masked (shown as ****** ) in API responses.
  7. Verification option consistency : The verification_option parameter is required throughout the registration workflow and must be provided during both account creation (POST) and updates (PUT). If the value differs between calls, the most recent value provided will be used when initializing or continuing verification.

Troubleshooting

Error: "Address does not match FedEx records"

  • Verify your address in your FedEx account profile at fedex.com
  • Ensure the address format matches exactly (including abbreviations, street numbers, etc.)

Error: "Invalid verification PIN"

  • PINs expire after a certain time period. Request a new PIN if yours has expired.
  • Ensure you're using the PIN from the most recent verification request.

Error: "Account already registered"

  • If you see this error, your account may have already been migrated. Check the account status to see if use_rest_api: true is present.

Still having issues?

If you continue to experience problems with the reconnection process, please contact Shippo Support with:

  • Your FedEx account number
  • Your carrier account object_id
  • The error message you're receiving
  • Screenshots if applicable

Next Steps

After successfully reconnecting your account:

  1. Verify reconnection status : Confirm that use_rest_api: true appears in your account parameters
  2. Test your integration : Create a test shipment to ensure everything is working correctly
  3. Update documentation : Note the re-registration date for your records

For more information about the new FedEx registration process, see the FedEx account registration guide.