Getting started
The FedEx Developer Portal offers a suite of Application Programming Interfaces (APIs) to integrate FedEx into your applications. These instructions will guide you to set up an organization, create a project, test your integration, move a project to production and for some cases, validate your API.
Types of users:
FedEx offers integration services to three types of users: FedEx Shippers, verified software solutions known as FedEx Compatible Providers, and validated FedEx Integrator Providers.
FedEx Shipper:
Company who ships with FedEx and needs to integrate FedEx APIs into their own applications.
Solution or Service Provider:
Company who needs to integrate with FedEx APIs to build a solution, application or plugin that can be sold and/or distributed to an external organization that ships with FedEx.
- FedEx Compatible Provider: Verified company with a contractual agreement through the FedEx Compatible program.
- FedEx Integrator Provider: Validated company with a contractual agreement through the FedEx Integrator Program.
Select an option below that best describes your business. No matter your user type, there is a getting started experience available to you.
Select to get started.
If your company doesn’t have an organization, create one. Otherwise, join an existing organization.
Create a New Organization
In the navigation bar, click Create or join organization.
Note: As the creator, you are automatically designated as the organization admin.
Admins can:
Invite users to join
Assign users roles (e.g., contributor, viewer) and projects
Manage shipping accounts
For more about these roles, see our Organization Administration Guide.
For type of Company, select “"Sells or provides a software solution that uses FedEx technology and is a validated FedEx Integrator Provider ".
Provide your company name, website URL, and a unique organization name. The organization name can match your company’s name or represent a specific group (department, division, region, location). This information is necessary to validate your request.
Note: Choose an organization name that all other users will recognize (e.g., company name, department, region, location).
Specify your company’s location and where your software solution will be sold or distributed.
Add Billing Account and authenticate account
Note: As a shipping and logistics provider in the FedEx Integrator Program, you must use your own account number. You cannot use a customer’s FedEx account.
Enter your FedEx account number. If you don’t have an existing FedEx account, open one at fedex.com or contact a FedEx Support representative.
Enter an account nickname and the billing address associated with the account. Select Next.
Note: The billing address must match our records for this account. This will be the default billing account for your organization.
To finish creating your organization, you must authenticate your account. Choose an authentication option (Phone available to Integrator in the US & CA only, Email, Text) and select Next.
Once received, enter the authentication code and select Submit.
Accept terms
Read the Global Integrator Agreement and Program Manual. Select the checkmark boxes to confirm you accept the terms and then select Accept.
A confirmation screen will appear. Click Manage Organization to edit details if required.
Invite users
Note: Only Admins can invite users.
Select Manage Organization from the left hand navigation.
Go to the Users tab and select Add Users.
Fill in the form and assign the appropriate role to the new user(s): Viewer, Contributor, or Admin.
For more information about user roles, see the Organization Administration Guide.
Assign users to project(s) (if applicable), under the Projects dropdown menu.
Enter the email addresses for each user, and then select Invite.
Join an Existing Organization
Request an invite: Ask your organization’s admin to send you an invitation. You have 24 hours to accept before it expires. If needed, ask the admin to resend it.
Accept the invite: Log in with your existing user ID and password. If your ID is already linked to another organization, you must create a new one.
Join an existing organization
Step 1: Ask the admin of your organization to send you an invite.
If your company has already created an organization, ask the admin of the organization to invite you to join. You will have 24 hours to accept their invite. If you miss this window of time, you can always ask them to resend it.
Step 2: Accept the invite.
To accept the invite, you will need to either log in with your existing user ID and password or, if your existing user ID is already associated with an organization, you will need to create a new one.
Create an API project
Visit the My projects page and open the APIs tab. Click the Create API Project button.
Step 1: Select the API(s) you want to include in your project
Review the API quotas, rate limits, and API validation details.
Step 2: Configure project details
- Give your project an identifiable name that is unique to your organization.
- Select any countries you plan to ship within so that we can assign you a test shipping account. To test shipping packages domestically within a European country, you must have a separate test account for each country. You can always add/remove countries later.
- To get notified about the latest API updates and any outage related information, set your notification preferences.
Step 3: Read and accept terms, including the FedEx Developer Portal License Agreement
Once you accept the terms and click the Create button, you will see a confirmation screen. You can then view your test credentials within your new project.
Create a webhook project
Create a valid (call back) URL in your destination application or platform
Your destination URL will be used to receive authentication codes and messages as well as webhook payload notifications from FedEx. Your URL must use HTTPS to ensure security. Your URL will be blocked if it includes:
- RFC1918 IP space
- fedex.com or any of its subdomains
- IP addresses in the URL ( including localhost, 127.0.0.1)
Generate a security token
This security token can be used as a secret key to authenticate and validate information transmitted between your organization and FedEx. Your security token must include:
- A minimum length of 26 characters and a maximum length of 100 characters
- 1 upper case character
- 1 lower case character
- 1 numeric character
Example: Y1F6OiVUQW2JPSElmRE9U0IY5
After you have defined your URL and security token, you are ready to create a webhook project. Visit the My projects page and open the Webhooks tab. Click the Create a Webhook Project button.
Select subscription type
FedEx Shippers can subscribe their events to account numbers or tracking numbers.
Step 1: Confirm your billing account and select features
- Review the default billing account listed to confirm or select a different one from your organization.
- Configure your project by selecting features such as proof of delivery options, estimated delivery options, tracking events and event-based filtering.
Step 2: Enter project details
- Give your project an identifiable name that is unique to your organization.
- Enter your destination URL and security token details that you created during pre-setup authentication (see steps above).
- To get notified about the latest webhook updates and any outage related information, enter an email address and preferred language.
Step 3: Read and accept terms
Once you accept the terms including the FedEx Developer Portal License Agreement and the Order Form, and click the Create button, you will see a confirmation screen.
There may be additional steps based on your subscription type selection. Visit documentation to learn more.
On the API project overview page, retrieve your test credentials — API key, secret key, and shipping account(s) — from the Test key tab.
Step 1: Request an OAuth access token
The OAuth access token must be used with each API transaction. The token is valid only for an hour, so you will need to programmatically code your application to refresh the token before the session expires. Refer to the API Authorization documentation for more details.
Step 2: Review API documentation
Click on the documentation for each of your APIs to read the business context and understand how to use the API. Log in to download the JSON API collection through the button at the top of your documentation page. You can also review example requests for the endpoint that matches your desired integration.
Step 3: Use the sandbox to test sample transactions
Click on the desired endpoint in the left navigation to go to that specific sandbox. Identify the sample requests that match your use case, then use your test credentials and the FedEx test URLs to implement your calls to the endpoint as described in the example requests. Verify that the API call responses you receive match those shown in the documentation. Learn more about our testing experience in the Sandbox Virtualization Guide.
Testing with webhooks
Testing can help you get a better idea about whether the URL you created is valid. It allows FedEx to identify your URL and build a connection with your URL to send data. Testing can also provide you with sample test data that can help you check and confirm whether you are able to process tracking data provided in your application. Testing does not, however, authenticate your URL. Visit our webhook documentation to learn how to test your webhook URL.
Visit your Project overview page and open the Production key tab. Advanced Integrated Visibility Account Number Subscription projects do not need to be moved to production.
Step 1: Configure project
- Rename your key as needed.
- Review the account number that you selected in step 1 of the project creation flow. This is used to move your project to production. Once your project is live in production, you can add more accounts as needed.
Step 2: Get project keys
Copy your production API key and production secret key will be displayed to a secure place. To keep your production secret key secure, we only display it once. If you lose it, you can generate a new one.
After you get your project keys and click Next, you will see your project details on the Production key tab.
- To add more shipping accounts to your project, click on Edit in the top of the shipping accounts table.
Some APIs require shipping label validation for use in our production environment. See if your API requires validation.
Step 1: Develop and test FedEx APIs with your web-enabled application
Once you finish developing your web-enabled application, it’s time to complete testing using the test credentials (test shipping account(s), API Key and Secret Key). Your test API Key and Secret Key will be displayed on the Project Overview page and can be seen at any time.
Step 2: Move your project to production
After you’ve tested with the FedEx APIs, you need to start the validation process by moving your project to production on the FedEx Developer Portal. Once you’ve done so successfully, you will see your production API Key and Secret Key. You will only see your production Secret Key once, but you will be able to regenerate it at a later time.
Step 3: Fill out the Label Cover Sheet
Completely fill out the Label Cover Sheet with the appropriate contact information as well as what services you plan to implement. Include your account number and production key.
Step 4: Generate and submit test labels to the Bar Code Analysis Group
Generate test labels within the FedEx test environment associated with the application and then submit the test labels to the FedEx label evaluation team(s) for approval. The Bar Code Analysis group requires a three-business-day turnaround time for label evaluation.
Follow these best practices to avoid processing delays:
- Labels must be printed and scanned at a minimum of 600 DPI. DO NOT SEND APIs GENERATED FILES.
- For thermal printers, the label image type must be requested in accordance with the printer model. Example: ZPLII for Zebra printers.
- Use the shipper/recipient address information when creating sample labels for evaluation. Only create sample labels for the specific services that are being applied for.
- FedEx® Collect on Delivery (C.O.D.) label must also include the corresponding C.O.D. Return label.
- FedEx International Express® shipments must also include the auxiliary/secondary Air Waybill (AWB) label.
- Multi-piece shipments (MPS) must include one label for each package in the shipment.
- Email the PDF and Label Cover sheet to label@fedex.com.
- Physical labels may be sent to the below address:
FedEx Services
WTC-Business Solutions Testing
10 FedEx Parkway
2nd Floor Horizontal
Collierville, TN 38017
If the scanned labels are without visible defects (such as lines going through the barcode, spots in the ink, or physical damage), then they may pass inspection and approval will be granted.
If sending physical labels, pay attention to print quality and accidental enlargement/shrinkage of labels (i.e. scaling). These are the top two reasons why labels do not pass the label evaluation process.
Step 5: Review the label evaluation
The Bar Code Analysis group will evaluate the submitted test labels and approve or reject the labels. The Bar Code Analysis group will contact you regarding the approval or rejection of the submitted labels. If the labels are approved, continue to the next step. If the labels are rejected, correct the labels as instructed and resubmit them for approval.
Step 6: Enable the application
Once the test labels are approved for production status by the Bar Code Analysis Group, they will authorize your production credentials to transmit the identified shipping label transaction and notify you via email of successful validation. Your approval is on a per project basis.
Step 7: Replace URL and credentials
Replace the test URL and test credentials with the production URL and production credentials. Retest your implementation in the production environment using sample data.
Step 1: Receive invite to join organization
FedEx will create an organization and then invite one team-member to join the organization. This user will be designated as the admin for your organization.
Step 2: Accept the invite
To accept the invite, you will need to either log in with your existing user ID and password or, if your existing user ID is already associated with an organization, you will need to create a new one.
Step 3: Invite users
An admin can invite users to their organization and assign them to roles and projects. Open the Users tab. Click the Add Users button.
- Select a user role: Viewer, Contributor or Admin. Learn more about roles in our Organization Administration Guide.
- If you have any existing projects, assign a project to the user. You can also assign users to projects under any Project overview page.
- Enter the email addresses of the users you want to join your organization under the selected role.
Visit the API Catalog to determine the right APIs or webhooks for your solution. Your FedEx Customer Technology Consultant (CTC) and Compatible Channel manager can help you select the right APIs for your solution as per your business needs.
Step 1: Fill out the PIW
Return to the Compatible Provider Community (CPC) to fill out the Product Information Worksheet (PIW).
Step 2: Review project(s) created by FedEx
Once the PIW has been approved, FedEx will create your project(s). Each version of each of your solutions will have a separate project on the FedEx Developer Portal.
Step 3: Attend the API demo with your team
The FedEx Compatible team along with the FedEx CTC and Verification teams will organize a technical demonstration for the APIs with your team. The FedEx team will discuss Compatible Program Verification, new API features and functionality, and answer questions.
On the API project overview page, retrieve your test credentials — API key and secret key — from the Test key tab.
Step 1: Create customer keys
Use the Credential Registration API to create customer keys. This is a private API only found in the API section at the bottom of your API project overview page.
Step 2: Request an OAuth access token
The OAuth access token must be used with each API transaction. The token is valid only for an hour, so you will need to programmatically code your application to refresh the token before the session expires. Refer to the API Authorization documentation for more details. When viewing sample code, make sure “Reseller” is chosen from samples dropdown.
Step 3: Review API documentation
Click on the documentation for each of your APIs to read the business context and understand how to use the API. Log in to download the JSON API collection through the button at the top of your documentation page. You can also review example requests for the endpoint that matches your desired integration.
Step 4: Use the sandbox to test sample transactions
Click on the desired endpoint in the left navigation to go to that specific sandbox. Identify the sample requests that match your use case, then use your test credentials and the FedEx test URLs to implement your calls to the endpoint as described in the example requests. Verify that the API call responses you receive match those shown in the documentation. Learn more about our testing experience in the Sandbox Virtualization Guide.
Step 5: Verify each solution
After fully testing your solutions, submit test cases to the Verification team to verify each solution. FedEx will fully review everything submitted and update you once your verification is approved.
Testing with webhooks
If your organization has access to webhooks, testing can help you get a better idea about whether the URL you created is valid. It allows FedEx to identify your URL and build a connection with your URL to send data. Testing can also provide you with sample test data that can help you check and confirm whether you are able to process tracking data provided in your application. Testing does not, however, authenticate your URL. Visit our webhook documentation to learn how to test your webhook URL.
FedEx will then move your project(s) to production. Visit your API project overview page and open the Production key tab. Click the Generate Secret Key link under the Secret key column.
You are now able to retest your implementation in the production environment using sample data.
Either create an organization, if one does not yet exist for your company, or join your company’s existing organization.
Create a new organization
In the navigation bar, click Create or join organization.
Note: As the creator, you are automatically designated as the organization admin.
Admins can:
Invite users to join
Assign users roles (e.g., contributor, viewer) and projects
Manage shipping accounts
For more about these roles, see our Organization Administration Guide.
For type of Company, select “Sells or provides a software solution that uses FedEx technology and is a validated FedEx Integrator Provider."
Provide your company name, website URL, and a unique organization name. The organization name can match your company’s name or represent a specific group (department, division, region, location). This information is necessary to validate your request.
Note: Choose an organization name that all other users will recognize (e.g., company name, department, region, location).
Specify your company’s location and where your software solution will be sold or distributed.
Add Billing Account and authenticate account
Note: As a shipping and logistics provider in the FedEx Integrator Program, you must use your own account number. You cannot use a customer’s FedEx account.
Enter your FedEx account number. If you don’t have an existing FedEx account, open one at fedex.com or contact a FedEx Support representative.
Enter an account nickname and the billing address associated with the account. Select Next.
Note: The billing address must match our records for this account. This will be the default billing account for your organization.
To finish creating your organization, you must authenticate your account. Choose an authentication option (Phone available to Integrator in the US & CA only, Email, Text) and select Next.
Once received, enter the authentication code and select Submit.
Accept terms
Read the FedEx Integrator Agreement and Program Manual. Select the checkmark boxes to confirm you accept the terms and then select Accept.
A confirmation screen will appear. Click Manage Organization to edit details if required.
Invite users
Note: Only Admins can invite users.
Select Manage Organization from the left hand navigation.
Go to the Users tab and select Add Users.
Fill in the form and assign the appropriate role to the new user(s): Viewer, Contributor, or Admin.
For more information about user roles, see the Organization Administration Guide.
Assign users to project(s) (if applicable), under the Projects dropdown menu.
Enter the email addresses for each user, and then select Invite.
Join an Existing Organization
Request an invite: Ask your organization’s admin to send you an invitation. You have 24 hours to accept before it expires. If needed, ask the admin to resend it.
Accept the invite: Log in with your existing user ID and password. If your ID is already linked to another organization, you must create a new one.
Create an API Project
Go to your My Projects page and select Create Project.
Fill in the Project Name field. The recommended name format is “Projectname_applicationname”. Select Next when done.
Select the API and Advanced Integrated Visibility products for your project.
Note: Advanced Integrated Visibility products are available for US FedEx Integrator Providers only.
Note: If you select any paid products, you will be asked to assign a billing account to the project and accept the required terms.
Assign billing and accept terms
Assign a billing account from the list of accounts added to the organization. This step is only necessary if you selected a paid product previously.
Accept the terms and conditions associated with the product.
Confirm details
Review the selected products. Verify the billing account provided.
Review and accept the FedEx Developer Portal License Agreement.
Click Create to generate your project and view test credentials.
Configure Advanced Integrated Visibility in a project
Prerequisites
Create a Valid Callback URL in your Destination Application or Platform – Your application/platform URL:
Must use HTTPS for security.
Can’t include the RFC1918 IP space, fedex.com subdomains, or direct IP addresses (e.g., 127.0.0.1).
Generate a Security Token
Must be 26–100 characters long and include:
- 1 uppercase letter
- 1 lowercase letter
- 1 number
Example: Y1F6OiVUQW2JPSElmRE9U0IY5
Configure Advanced Integrated Visibility
Choose Advanced Integrated Visibility. Select the features such as proof of delivery, estimated delivery, tracking events, and event-based filtering
Enter your destination URL and security token.
Provide an email for Advanced Integrated Visibility updates and outage notifications.
Confirm Details
Review and accept the FedEx Developer Portal License Agreement and Order Form.
Select Create to complete setup.
Note: Additional steps may apply based on your subscription type. Refer to documentation for details.
Retrieve Test Credentials & Begin Testing
Review API documentation
- Read the API documentation to understand the various APIs we offer, along with their business context and integration processes.
- Download the JSON Schema from the relevant API’s documentation page.
- Review example requests for the desired endpoints.
Get test credentials
On the Project Overview page, go to the API keys tab. Your API Key and Secret Key are listed under the Test Key header.
Review API documentation
- An OAuth token is required for all API transactions and expires in one hour.
- Your application must refresh the token before it expires.
- Refer to the API Authorization documentation for details.
Test API transactions in the sandbox
- Go to the relevant API in the API Catalog and select Documentation.
- Select the desired API endpoint in the left-hand menu.
- Use sample requests that match your use case.
- Implement API calls using your test credentials and FedEx test URLs.
- Verify responses against the documentation.
- Refer to the Sandbox Virtualization Guide for more details.
Testing Advanced Integrated Visibility
Advanced Integrated Visibility testing validates your URL format and helps establish a connection between FedEx and your application.
The test provides sample test data for processing tracking information.
Note: Testing does not authenticate your URL.
Visit Advanced Integrated Visibility documentation to learn more.
Validation is required to move APIs to production. The level of validation varies by API.
Develop & test FedEx APIs
- Use your test credentials (API key and secret key) from the Project Overview page.
- Identify test cases for the regions/territories where you plan to deploy your solution (refer to Integrator test case baseline).
- Before running test cases, complete registration transactions using the provided test account numbers.
- Execute all required test cases.
Go to your Project Overview page.
Select Request Production keys. FedEx will receive your request for production keys and you will be notified once they are approved.
Complete PIW & Validation Cover Sheet
Fill out the Product Information Worksheet (PIW) and Integrator Validation Cover Sheet with your contact details and intended FedEx services.
Submit Deliverables
Collect and compress the following into a .zip file to avoid email provider restrictions. Send to validationmtp@fedex.com.
Required Deliverables
- Completed PIW (PDF).
- Completed Validation Cover Sheet (PDF).
Screenshots (PDF):
Customer-facing solution displaying FedEx services/special handling
Disclaimer statement
EULA agreement
End-customer registration flow
- End-customer registration transactions with Multi-Factor Authentication (JSON)
- Scanned shipping labels for all applicable test cases (PDF/PNG)
- Ship transactions for three label formats: PDF, PNG, and ZPL (JSON) (for applicable Shipping and Rating APIs)
Best Practices to Avoid Delays
- Labels must be printed and scanned at 600 DPI minimum.
- Thermal printer labels must match the printer model (e.g., ZPLII for Zebra printers).
- FedEx International Express® shipments require an auxiliary Air Waybill (AWB) label.
- Multi-piece shipments (MPS) must include a label for each package.
Label Evaluation
The Validation Team will approve or reject your submission.
- If rejected, make corrections and resubmit based on feedback
- If approved, you’ll receive an email confirming successful validation. Once you have received the email, your production credentials will be authorized for shipping label transactions.
Follow Post-Validation Instructions
Review and implement any post-validation requirements as needed.
Once notified that your Production Keys have been approved, retrieve your Production Keys from the Project Overview tab.
- Copy and securely store your production API key and secret key.
- The secret key is shown only once—if lost, you must regenerate a new one.

