An update is scheduled to the FedEx Developer Portal on January 18, 2025, from 8:00PM to 10:00PM CST

and the portal will be unavailable during this time.

Fedex Logo
Developer Portal

Introduction

The Account Number Subscription API is designed for the webhook subscribers to manage their account number based webhook projects and perform project related operations such as edit or view details using API endpoints.

Note:

  • You must have admin access for your API project where this API is enabled.
  • For more information on webhook and its features, visit the Shipment Visibility Webhook documentation page.

Benefits of Account Number Subscription API

The benefits of Account Number Subscription API are:

  • You can easily update and manage your webhook project using the API endpoints.
  • This API enables you to associate multiple accounts to your project in a single API transaction, instead of selecting each account one by one.

How Account Number Subscription API works

Use the below endpoints to manage your webhook project:

Retrieve Summary

Use this endpoint to retrieve all webhook project details under your organization in a paginated format.

The required input information for this request is:

  • pageNumber: Specify the number of pages to get in the response.
  • resultsPerPage: Specify the number of entries to be displayed in a single page.
  • Status: Specify the status of the subscriptions to be retrieved in the response. Ex: ACTIVE, PAUSED, IN-PROGRESS, PROCESING, FAILED, CANCELED.

The successful response to this request will generate the webhook project list in a paginated format as per the parameters set in the request.

Search Webhooks Project

Use this endpoint to search specific webhook project details under your organization in paginated format.

The required input information for this request is:

  • authorization: Specify the encrypted OAuth token used to authenticate your API requests. Use it in the authorization header of your API requests.
  • searchText: Specify the string that needs to be searched to retrieve the webhook subscriptions.
  • status: Specify the status of the webhook project to be retrieved in the response. Use this option to filter the webhook project based on their status. Ex: ACTIVE, PAUSED, IN-PROGRESS, PROCESSING, FAILED, CANCELED.

The successful response to this request will generate all the webhook project list in a paginated format as per the parameters set in the request.

Update Webhooks Project

Use this endpoint to update any webhook project details under your organization.

The input information for this request is:

  • requestType: Specify the type of update request. 
    • ADD_ACCOUNTS: Use this option to add new accounts in the existing project if the organization is already associated with webhook project for all accounts.
    • DELETE_ACCOUNTS: Use this option to delete any account from the project.
    • UPDATE_ALL: Use this option for regular project updates.
  • Note: This is an optional element and UPDATE_ALL is selected by default, if not specified by the user.
  • category: Specify the category of the feature you want to update for the project. Example: RETRY_POLICY, PROOF_OF_DELIVERY etc.
  • subCategories: Specify the individual features for the selected feature category. Example: BASIC_HRS, PPOD, SPOD, SHIP, TRAN etc.

The successful response to this request will return the subscription Id, an indicator if the project has been updated for all the accounts in the organization, and a timestamp for the updated project.

Retrieve Project Detail

Use this endpoint to retrieve the project details for a specified webhook project in a paginated format.

The required input information for this request is:

  • authorization: Specify the authorization token.
  • subscriptionId: Specify the subscription Id for the webhook project to retrieve the details.

The successful response to this request will generate the specified webhooks project details in a paginated format or will return an alert or error details in case of any failures.

Business Rules

  • A maximum of 30,000 shipping account numbers can be associated with a webhook project in a given request.

Account Number Subscription API (API)

Retrieve Summary

Retrieves all subscriptions, in a paginatedd response, from an organization based on the user as long as they are an admin

query Parameters
pageNumber
integer
Example: pageNumber=1

Describes the page number while retrieving the subscriptions

resultsPerPage
integer
Example: resultsPerPage=10

Describes the results per page while retrieving the subscriptions

status
Array of strings
Example: status=ACTIVE,FAILED

A list that specifies the status(es) of the subscription and filters the response based on the status(es). Multiple statuses can be provided, and status can be in ACTIVE, PAUSED, SAVED, CANCELED, PROCESSING and/or FAILED. If no status provided, all subscriptions will be returned.

header Parameters
X-locale
string
Example: en_US

ISO locale

X-clientid
string
Example: MAGS

Registered client ids with FedEx API. i.e. MAGS, CAFE , INET, ISHP, etc.

X-customer-transaction-id
string
Example: 0e671149-016f-1000-941f-ef4dbabadd2e

This transaction Id helps the customers to track the transaction with APIF.

authorization
string
Example: Bearer XXXXX

This is the authorization token which authorize the user

content-type
required
string
Example: application/json

This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Failure

503

Service Unavailable

get /webhook/v1/subscriptions/summaries

Sandbox Server

https://apis-sandbox.fedex.com/webhook/v1/subscriptions/summaries

Production Server

https://apis.fedex.com/webhook/v1/subscriptions/summaries

Request samples

Copy
var client = new RestClient("https://apis-sandbox.fedex.com/webhook/v1/subscriptions/summaries");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer ");
request.AddHeader("X-locale", "en_US");
request.AddHeader("Content-Type", "application/json");
IRestResponse response = client.Execute(request);

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "output":
    {
    },
  • "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
  • "customerTransactionId": "AnyCo_order123456789"
}

Search webhook Projects

Retrieves all subscriptionsss, in a paginated response, based on a search string and based on the user as long as they are an admin

query Parameters
searchText
required
string
Example: searchText=Proj

Specifies the text that needs to be searched to retrieve the subscriptions. Minimum 2 characters needs to be provided for search.

status
Array of strings
Example: status=ACTIVE,FAILED

A list that specifies the status(es) of the subscription and filters the response based on the status(es). Multiple statuses can be provided, and status can be in ACTIVE, PAUSED, SAVED, CANCELED, PROCESSING and/or FAILED. If no status provided, all subscriptions will be returned.

pageNumber
integer
Example: pageNumber=1

Describes the page number while retrieving the subscriptions

resultsPerPage
integer
Example: resultsPerPage=10

Describes the results per page while retrieving the subscriptions

header Parameters
X-locale
string
Example: en_US

ISO locale

X-clientid
string
Example: MAGS

Registered client ids with FedEx API. i.e. MAGS, CAFE , INET, ISHP, etc.

X-customer-transaction-id
string
Example: 0e671149-016f-1000-941f-ef4dbabadd2e

This transaction Id helps the customers to track the transaction with APIF.

authorization
string
Example: Bearer XXXXX

This is the authorization token which authorize the user

content-type
required
string
Example: application/json

This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Failure

503

Service Unavailable

get /webhook/v1/subscriptions/search

Sandbox Server

https://apis-sandbox.fedex.com/webhook/v1/subscriptions/search

Production Server

https://apis.fedex.com/webhook/v1/subscriptions/search

Request samples

Copy
var client = new RestClient("https://apis-sandbox.fedex.com/webhook/v1/subscriptions/search");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer ");
request.AddHeader("X-locale", "en_US");
request.AddHeader("Content-Type", "application/json");
IRestResponse response = client.Execute(request);

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "output":
    {
    },
  • "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
  • "customerTransactionId": "AnyCo_order123456789"
}

Retrieve Project Detail

Retrieves the subscription details corresponding to the subscriptionId provided only for a admin of the organisation. Pagination support will enable client to request list of accounts in paginated manner.

query Parameters
subscriptionId
required
integer

Specifies the unique identifier for the subscription to be deleted.

pageNumber
integer
Example: pageNumber=1

Describes the page number while retrieving the subscriptions

resultsPerPage
integer
Example: resultsPerPage=10

Describes the results per page while retrieving the subscriptions

header Parameters
X-locale
string
Example: en_US

ISO locale

X-clientid
string
Example: MAGS

Registered client ids with FedEx API. i.e. MAGS, CAFE , INET, ISHP, etc.

X-customer-transaction-id
string
Example: 0e671149-016f-1000-941f-ef4dbabadd2e

This transaction Id helps the customers to track the transaction with APIF.

authorization
string
Example: Bearer XXXXX

This is the authorization token which authorize the user

content-type
required
string
Example: application/json

This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Failure

503

Service Unavailable

get /webhook/v3/subscriptions

Sandbox Server

https://apis-sandbox.fedex.com/webhook/v3/subscriptions

Production Server

https://apis.fedex.com/webhook/v3/subscriptions

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "output":
    {
    },
  • "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
  • "customerTransactionId": "AnyCo_order123456789"
}

Update Webhook Project

This endpoint allows you to update subscriptions

header Parameters
X-locale
string
Example: en_US

ISO locale

X-clientid
string
Example: MAGS

Registered client ids with FedEx API. i.e. MAGS, CAFE , INET, ISHP, etc.

X-customer-transaction-id
string
Example: 0e671149-016f-1000-941f-ef4dbabadd2e

This transaction Id helps the customers to track the transaction with APIF.

authorization
string
Example: Bearer XXXXX

This is the authorization token which authorize the user

content-type
required
string
Example: application/json

This is used to indicate the media type of the resource. The media type is a string sent along with the file indicating format of the file.

Request Body schema: application/json
One of
  • UpdateSubscriptionInputVO
  • MinimumSamplePayloadForUpdateSubscription
requestType
string
Enum: "ADD_ACCOUNTS" "DELETE_ACCOUNTS" "UPDATE_ALL"

This specifies the type of the request. Request type "ADD_ACCOUNTS" will be used to add new accounts in existing subscription when any organization has subscribed for all accounts. "DELETE_ACCOUNTS" will be used to delete account from the subscription. "UPDATE_ALL" is for regular subscription update. This is optional element and defaulted to "UPDATE_ALL" if not provided by client.

subscriptionId
integer

Specifies the unique identifier for subscription. This is required when request type is not provided or has value "UPDATE_ALL".

subscription
object (SubscriptionDetails)

Describes the information related to the subscription such as subscription type, response type, events and accounts

fdplaAccepted
boolean

If set to true, indicates FedEx developer Portal License agreement is accepted. This is required when request type is not provided or has value UPDATE_ALL or RESUBMIT.

softwareDistributionTermsAccepted
boolean

If set to true, indicates the client agrees to not distribute or allow access to his solution.This is required when request type is not provided or has value UPDATE_ALL or RESUBMIT.

pricingAccepted
boolean

If set to true, indicates the client agrees to the pricing information.

Responses

200

Success

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Failure

503

Service Unavailable

put /webhook/v3/subscriptions

Sandbox Server

https://apis-sandbox.fedex.com/webhook/v3/subscriptions

Production Server

https://apis.fedex.com/webhook/v3/subscriptions

Request samples

Content type
application/json
Example
Copy
Expand all Collapse all
{
  • "requestType": "ADD_ACCOUNTS",
  • "subscriptionId": 123456,
  • "subscription":
    {
    },
  • "fdplaAccepted": true,
  • "softwareDistributionTermsAccepted": true,
  • "pricingAccepted": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "output":
    {
    },
  • "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
  • "customerTransactionId": "AnyCo_order123456789"
}
CLOSE

Response

Copy