OpenAPI Specification
openapi: 3.1.0
info:
title: FedEx Authorization Track API
version: 1.0.0
description: 'OpenAPI 3.1 specification covering the FedEx OAuth 2.0 token endpoint and
the core FedEx Track API v1 operations as documented on the FedEx Developer
Portal (https://developer.fedex.com/api/en-us/catalog/track/v1/docs.html).
Includes tracking by tracking number, tracking by reference,
tracking by Transportation Control Number (TCN), associated shipments,
document retrieval, and shipment notifications. Schemas are intentionally
permissive to remain compatible with the live FedEx payloads; consult the
FedEx Developer Portal for full payload field definitions.
'
contact:
name: FedEx Developer Portal
url: https://developer.fedex.com/
servers:
- url: https://apis.fedex.com
description: Production
- url: https://apis-sandbox.fedex.com
description: Sandbox / test environment
security:
- bearerAuth: []
tags:
- name: Track
description: Track API v1 operations
paths:
/track/v1/trackingnumbers:
post:
tags:
- Track
summary: Track by tracking numbers
description: 'Returns up-to-the-minute package and shipment status, scan events,
and delivery details for up to 30 tracking numbers per request.
'
parameters:
- name: x-locale
in: header
schema:
type: string
example: en_US
- name: x-customer-transaction-id
in: header
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TrackingRequest'
responses:
'200':
description: Tracking results
content:
application/json:
schema:
$ref: '#/components/schemas/TrackingResponse'
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'500':
description: Internal server error
/track/v1/referencenumbers:
post:
tags:
- Track
summary: Track by reference
description: 'Tracks shipments using customer-provided reference identifiers such as
purchase order (PO), invoice, or Bill of Lading (BOL).
'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
includeDetailedScans:
type: boolean
trackingInfo:
type: array
items:
type: object
properties:
shipDateBegin:
type: string
format: date
shipDateEnd:
type: string
format: date
carrierCode:
type: string
example: FDXE
referenceTypeCode:
type: string
enum:
- BILL_OF_LADING
- INVOICE
- PURCHASE_ORDER
- REFERENCE
- SHIPPER_REFERENCE
value:
type: string
destinationCountryCode:
type: string
destinationPostalCode:
type: string
shipperAccountNumber:
type: string
responses:
'200':
description: Tracking results
content:
application/json:
schema:
$ref: '#/components/schemas/TrackingResponse'
/track/v1/tcn:
post:
tags:
- Track
summary: Track by Transportation Control Number (TCN)
description: 'Tracks shipments using the U.S. Government Transportation Control
Number (TCN). TCN tracking is intended for U.S. Government users.
'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
includeDetailedScans:
type: boolean
trackingInfo:
type: array
items:
type: object
properties:
trackingNumberInfo:
type: object
properties:
trackingNumber:
type: string
description: Transportation Control Number
responses:
'200':
description: Tracking results
content:
application/json:
schema:
$ref: '#/components/schemas/TrackingResponse'
/track/v1/associatedshipments:
post:
tags:
- Track
summary: Track associated shipments (multi-piece)
description: 'Returns associated tracking information for multiple-piece shipments
(MPS) - related child tracking numbers for a given master.
'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
masterTrackingNumberInfo:
type: object
properties:
trackingNumberInfo:
type: object
properties:
trackingNumber:
type: string
associatedType:
type: string
enum:
- STANDARD_MPS
- GROUP_MPS
- OUTBOUND_LINK_TO_RETURN
- RETURN_LINK_TO_OUTBOUND
responses:
'200':
description: Associated shipments
content:
application/json:
schema:
$ref: '#/components/schemas/TrackingResponse'
/track/v1/trackingdocuments:
post:
tags:
- Track
summary: Retrieve tracking documents
description: 'Requests post-shipment documents such as Signature Proof of Delivery
(SPOD), Bill of Lading (BOL), or freight billing documents (FBD).
'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
trackDocumentDetail:
type: object
properties:
documentType:
type: string
enum:
- SIGNATURE_PROOF_OF_DELIVERY
- BILL_OF_LADING
- FREIGHT_BILL_OF_LADING
documentFormat:
type: object
properties:
documentFormatOptions:
type: array
items:
type: string
format:
type: string
enum:
- PDF
- PNG
trackingNumberInfo:
type: object
properties:
trackingNumber:
type: string
responses:
'200':
description: Document content (base64-encoded)
content:
application/json:
schema:
type: object
properties:
output:
type: object
properties:
documents:
type: array
items:
type: object
properties:
contentType:
type: string
encodedDocument:
type: string
format: byte
/track/v1/notifications:
post:
tags:
- Track
summary: Send shipment notifications
description: 'Requests email or other notifications for shipment events such as
in-transit, exception, and delivery.
'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
trackingEventNotificationDetail:
type: object
properties:
trackingNotifications:
type: array
items:
type: object
properties:
trackingNumberInfo:
type: object
properties:
trackingNumber:
type: string
eventNotificationDetail:
type: object
properties:
personalMessage:
type: string
notificationEventTypes:
type: array
items:
type: string
enum:
- ON_DELIVERY
- ON_EXCEPTION
- ON_ESTIMATED_DELIVERY
- ON_TENDER
- ON_PICKUP_DRIVER_ARRIVED
notificationDetails:
type: array
items:
type: object
properties:
notificationType:
type: string
enum:
- EMAIL
emailDetail:
type: object
properties:
emailAddress:
type: string
format: email
name:
type: string
locale:
type: object
properties:
country:
type: string
language:
type: string
responses:
'200':
description: Notification subscription created
components:
schemas:
TrackingRequest:
type: object
properties:
includeDetailedScans:
type: boolean
description: When true, include per-event detailed scan history
trackingInfo:
type: array
maxItems: 30
items:
type: object
properties:
shipDateBegin:
type: string
format: date
shipDateEnd:
type: string
format: date
trackingNumberInfo:
type: object
properties:
trackingNumber:
type: string
description: FedEx tracking number
carrierCode:
type: string
enum:
- FDXE
- FDXG
- FXSP
- FXFR
trackingNumberUniqueId:
type: string
TrackingResponse:
type: object
properties:
transactionId:
type: string
customerTransactionId:
type: string
output:
type: object
properties:
completeTrackResults:
type: array
items:
type: object
properties:
trackingNumber:
type: string
trackResults:
type: array
items:
type: object
additionalProperties: true
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: 'OAuth 2.0 access token returned by POST /oauth/token using
client_credentials with FedEx Developer Portal credentials.
'