> ## Documentation Index
> Fetch the complete documentation index at: https://docs.goshippo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Reconnecting your FedEx BYOA Account

> Reconnect your FedEx BYOA account to Shippo using multi-factor authentication to avoid label purchase disruptions.

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:

```shell Get current account theme={null}
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:

```shell Reconnecting account request theme={null}
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"
    }
  }'
```

```json Reconnecting account response theme={null}
{
  "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:

```shell Complete verification theme={null}
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"
    }
  }'
```

```json Verification complete response theme={null}
{
  "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": "******"
  }
}
```

<Info>
  **Success Indicator**

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

### Step 3: Reconnecting Using INVOICE Verification (Single Step)

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

```shell Reconnecting with invoice verification theme={null}
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"
    }
  }'
```

```json Invoice verification response theme={null}
{
  "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": "******"
  }
}
```

<Info>
  **note**

  Registration using `INVOICE` is a single step process. You are not required to verify the registration with a PIN.
</Info>

## 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](https://www.fedex.com).

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](https://goshippo.com/contact/) 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](/docs/Carriers/FedEx).
