The following is how the top portion of the HTTP request is formatted:

Then this is the body:
"labelResponseOptions": "URL_ONLY",
"requestedShipment": {
"shipper": {
"contact": {
"personName": "@{items('Apply_to_each')?['ReportedBy']}",
"phoneNumber": @{items('Apply_to_each')?['Telephone']},
"companyName": "@{items('Apply_to_each')?['Name']}"
},
"address": {
"streetLines": [
"@{items('Apply_to_each')?['Street']}"
],
"city": "@{items('Apply_to_each')?['City']}",
"stateOrProvinceCode": "@{items('Apply_to_each')?['Region']}",
"postalCode": @{items('Apply_to_each')?['PostalCode']},
"countryCode": "US"
}
},
"recipients": [
{
"contact": {
"personName": "@{items('Apply_to_each')?['ReturnAttention']}",
"phoneNumber": 8005551212,
"companyName": "@{items('Apply_to_each')?['ReturnCompany']}"
},
"address": {
"streetLines": [
"@{items('Apply_to_each')?['ReturnStreet']}"
],
"city": "@{items('Apply_to_each')?['ReturnCity']}",
"stateOrProvinceCode": "@{items('Apply_to_each')?['ReturnState']}",
"postalCode": @{items('Apply_to_each')?['ReturnZIP']},
"countryCode": "US"
}
}
],
"shipDatestamp": "@{formatDateTime(utcNow(),'yyyy-MM-dd')}",
"serviceType": "FEDEX_GROUND",
"packagingType": "YOUR_PACKAGING",
"pickupType": "DROPOFF_AT_FEDEX_LOCATION",
"blockInsightVisibility": false,
"shippingChargesPayment": {
"paymentType": "SENDER"
},
"shipmentSpecialServices": {
"specialServiceTypes": [
"RETURN_SHIPMENT"
],
"returnShipmentDetail": {
"returnType": "PRINT_RETURN_LABEL"
}
},
"labelSpecification": {
"imageType": "PDF",
"labelStockType": "PAPER_85X11_TOP_HALF_LABEL"
},
"requestedPackageLineItems": [
{
"weight": {
"value": 10,
"units": "LB"
},
"dimensions": {
"length": 10,
"width": 10,
"height": 10,
"units": "IN"
},
"customerReferences": [
{
"customerReferenceType": "RMA_ASSOCIATION",
"value": "@{items('Apply_to_each')?['Document']}"
},
{
"customerReferenceType": "CUSTOMER_REFERENCE",
"value": "@{items('Apply_to_each')?['Description']}"
}
]
}
]
},
"accountNumber": {
"value": "your account number"
}
}
Keep in mind, this is specific to the shipment type we are sending, which is an RMA via FedEx Ground. If you are using a different service, they all have different requirements.
It results in a label that looks like this:
