diff --git a/README.md b/README.md
index 717f4c4c..722f89c4 100644
--- a/README.md
+++ b/README.md
@@ -45,6 +45,8 @@ $json = $response->json();
$dto = $response->dto();
```
+It is recommended to use named parameters with DTOs, as the order of parameters could change when the SDK is updated.
+
To figure out which DTO(s) need(s) to be passed to a particular endpoint method, use your editor to inspect the method's arguments:

diff --git a/composer.json b/composer.json
index 23ebc145..2b9611ed 100644
--- a/composer.json
+++ b/composer.json
@@ -24,15 +24,15 @@
"autoload": {
"psr-4": {
"ShipStream\\FedEx\\": "src/"
- },
- "files": [
- "src/Generator/constants.php"
- ]
+ }
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
- }
+ },
+ "files": [
+ "src/Generator/constants.php"
+ ]
},
"scripts": {
"lint": [
diff --git a/resources/apis.json b/resources/apis.json
index f6970f7b..ec2bd660 100644
--- a/resources/apis.json
+++ b/resources/apis.json
@@ -1,4 +1,13 @@
{
+ "account-registration": {
+ "name" : "Account Registration",
+ "versions": [
+ {
+ "version": "1",
+ "url": "https://developer.fedex.com/wirc/json/api_groups/AccountRegistrationAPI/AccountRegistration-Resource.json"
+ }
+ ]
+ },
"authorization": {
"name": "Authorization",
"versions": [
@@ -122,6 +131,17 @@
}
]
},
+ "ship-dg-hazmat": {
+ "name": "Ship DG Hazmat",
+ "versions": [
+ {
+ "version": "1",
+ "url": [
+ "https://developer.fedex.com/wirc/json/api_groups/ShipDGHazmatAPI/ShipDGHazmatAPI-Resource.json"
+ ]
+ }
+ ]
+ },
"track": {
"name": "Track",
"versions": [
diff --git a/resources/metadata/modifications.json b/resources/metadata/modifications.json
index c69f7474..9d460253 100644
--- a/resources/metadata/modifications.json
+++ b/resources/metadata/modifications.json
@@ -1,4 +1,44 @@
{
+ "account-registration": {
+ "1": [
+ {
+ "comment": "Remove broken example references from 400 response in address validation endpoint",
+ "action": "delete",
+ "path": "paths./registration/v2/address/keysgeneration.post.responses.400.content.application/json.examples"
+ },
+ {
+ "comment": "Remove broken example references from 400 response in PIN validation endpoint",
+ "action": "delete",
+ "path": "paths./registration/v2/pin/keysgeneration.post.responses.400.content.application/json.examples"
+ },
+ {
+ "comment": "Remove broken example references from 400 response in invoice validation endpoint",
+ "action": "delete",
+ "path": "paths./registration/v2/invoice/keysgeneration.post.responses.400.content.application/json.examples"
+ },
+ {
+ "comment": "Remove broken example references from 400 response in PIN generation endpoint",
+ "action": "delete",
+ "path": "paths./registration/v2/customerkeys/pingeneration.post.responses.400.content.application/json.examples"
+ },
+ {
+ "comment": "Set correct type of ErrorParameter key",
+ "action": "merge",
+ "path": "components.schemas.ErrorParameter.properties.key",
+ "value": {
+ "type": "string"
+ }
+ },
+ {
+ "comment": "Set correct type of ErrorParameter value",
+ "action": "merge",
+ "path": "components.schemas.ErrorParameter.properties.value",
+ "value": {
+ "type": "string"
+ }
+ }
+ ]
+ },
"address-validation": {
"1": [
{
@@ -36,6 +76,77 @@
"value": {
"$ref": "#/components/schemas/Alert_3P"
}
+ }, {
+ "comment": "Add missing alertType property to Alert_3P",
+ "action": "merge",
+ "path": "components.schemas.Alert_3P.properties",
+ "value": {
+ "alertType": {
+ "type": "string",
+ "description": "Specifies the api alert type.",
+ "example": "NOTE",
+ "enum": [
+ "NOTE",
+ "WARNING"
+ ]
+ }
+ }
+ }, {
+ " comment": "Remove required fields from PartyAddress",
+ "action": "delete",
+ "path": "components.schemas.PartyAddress.required"
+ }, {
+ "comment": "Remove required fields from PartyContact",
+ "action": "delete",
+ "path": "components.schemas.PartyContact.required"
+ }
+ ]
+ },
+ "ship-dg-hazmat": {
+ "1": [
+ {
+ "comment": "The type of Surcharge.amount is float, not Money",
+ "action": "replace",
+ "path": "components.schemas.Surcharge.properties.amount",
+ "value": {
+ "description": "Specifies the Surcharge Amount.",
+ "type": "number",
+ "format": "double"
+ }
+ }, {
+ "comment": "The type of the BinaryBarcode.value is string, not array of strings",
+ "action": "replace",
+ "path": "components.schemas.BinaryBarcode.properties.value",
+ "value": {
+ "type": "string",
+ "format": "byte",
+ "description": "The data content of this instance.
Example: \"value\"",
+ "example": "value"
+ }
+ }, {
+ "comment": "DangerousGoodsContainer.packingType is not actually required.",
+ "action": "delete",
+ "path": "components.schemas.DangerousGoodsContainer.required"
+ }, {
+ "comment": "HazardousCommodityDescription.reportableQuantity and packingGroup are not actually required.",
+ "action": "delete",
+ "path": "components.schemas.HazardousCommodityDescription.required"
+ }, {
+ "comment": "ResponsiblePartyParty address and contact are not actually required.",
+ "action": "delete",
+ "path": "components.schemas.ResponsiblePartyParty.required"
+ }, {
+ "comment": "Remove required fields from PartyAddress",
+ "action": "delete",
+ "path": "components.schemas.PartyAddress.required"
+ }, {
+ "comment": "Remove required fields from PartyAddress",
+ "action": "delete",
+ "path": "components.schemas.PartyAddress.required"
+ }, {
+ "comment": "Remove required fields from PartyContact",
+ "action": "delete",
+ "path": "components.schemas.PartyContact.required"
}
]
},
@@ -60,5 +171,63 @@
]
}
]
+ },
+ "trade-documents-upload": {
+ "1": [
+ {
+ "comment": "Define a container for FullSchema-ImageUploadServiceInputVO.properties.document. Move rules property up one level. See https://stackoverflow.com/questions/78593938/restful-fedex-trade-document-upload-api-cant-upload-signature-or-letterhead-i",
+ "action": "merge",
+ "path": "components.schemas",
+ "value": {
+ "DocumentContainer": {
+ "required": [
+ "document",
+ "rules"
+ ],
+ "type": "object",
+ "properties": {
+ "document": {
+ "$ref": "#/components/schemas/Document"
+ },
+ "rules": {
+ "$ref": "#/components/schemas/Document_rules"
+ }
+ },
+ "description": "A container for the document and rules."
+ }
+ }
+ },
+ {
+ "comment": "Wrap FullSchema-ImageUploadServiceInputVO.properties.document in DocumentContainer. Define document before attachment else error 1001 is thrown.",
+ "action": "replace",
+ "path": "components.schemas.FullSchema-ImageUploadServiceInputVO.properties",
+ "value": {
+ "document": {
+ "$ref": "#/components/schemas/DocumentContainer"
+ },
+ "attachment": {
+ "type": "string",
+ "description": "Input the actual image file to be uploaded.",
+ "format": "file"
+ }
+ }
+ },
+ {
+ "comment": "Delete moved `FullSchema-ImageUploadServiceInputVO.properties.rules` property.",
+ "action": "delete",
+ "path": "components.schemas.Document.properties.rules"
+ },
+ {
+ "comment": "Delete moved `FullSchema-ImageUploadServiceInputVO.properties.rules` from required properties.",
+ "action": "replace",
+ "path": "components.schemas.Document.required",
+ "value": [
+ "contentType",
+ "meta",
+ "name",
+ "referenceId"
+ ]
+ }
+ ]
}
-}
+}
\ No newline at end of file
diff --git a/resources/models/.raw/account-registration/v1/AccountRegistration-Resource.json b/resources/models/.raw/account-registration/v1/AccountRegistration-Resource.json
new file mode 100644
index 00000000..1bdd52ea
--- /dev/null
+++ b/resources/models/.raw/account-registration/v1/AccountRegistration-Resource.json
@@ -0,0 +1,1811 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "Account Registration Resource",
+ "version": "API"
+ },
+ "servers": [
+ {
+ "url": "https://cvc.site.fedex.com/virts/API-Factory-Dev/Registration-Resource/API",
+ "description": "SwaggerHub API Auto Mocking"
+ },
+ {
+ "url": "https://apis-sandbox.fedex.com"
+ }
+ ],
+ "paths": {
+ "/registration/v2/address/keysgeneration": {
+ "post": {
+ "summary": "Address Validation",
+ "description": "API End point being used to perform address validation during the credentials registration process of csp consumers. This endpoint validates the address and generates the keys.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.",
+ "operationId": "Create Customer Key",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CustomerKeyInputVO"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/IrcpResponseVO"
+ },
+ "examples": {
+ "mfaOptions": {
+ "summary": "Address Validation Results",
+ "value": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "output": {
+ "mfaOptions": {
+ "accountAuthToken": "eyJhbGciOiJIUzI1NiJ9.eyJUeXBlT2ZKV1QiOiJBZGRyZXNzVmFsaWRhdGVkIiwiQWNjb3VudE51bWJlciI6IjE3Mzk5NjE0NCIsIkRhdGVUaW1lIjoxODAwMDAwLCJleHAiOjE2NjcyMTk3MDF9.N6IscMuoewdxKvEIZh8023GFM_mRgoIU2kYQ0STxF7c",
+ "mfaRequired": true,
+ "email": "PU***@S***.COM",
+ "phoneNumber": "***-***-4222",
+ "options": {
+ "invoice": "INVOICE",
+ "secureCode": [
+ "SMS"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "credentials": {
+ "summary": "Key Generation",
+ "value": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "output": {
+ "child_Key": "d63a0af2-efbf-4086-8333-a0f1a2f69dfa",
+ "child_secret": "6jJvpNAY7NQTrDM56un9qCwtI"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO"
+ },
+ "examples": {
+ "AccountNumberNotFoundError": {
+ "$ref": "#/components/examples/AccountNumberNotFoundExample"
+ },
+ "AddressDetailInvalidError": {
+ "$ref": "#/components/examples/AddressDetailInvalidExample"
+ },
+ "AddressValidationUnknownError": {
+ "$ref": "#/components/examples/AddressValidationUnknownExample"
+ },
+ "UserAccountNotFoundError": {
+ "$ref": "#/components/examples/UserAccountNotFoundExample"
+ },
+ "AccountValidationError": {
+ "$ref": "#/components/examples/AccountValidationErrorExample"
+ },
+ "AccountNumberRequiredError": {
+ "$ref": "#/components/examples/AccountNumberRequiredExample"
+ },
+ "ChildKeyNameUniquenessError": {
+ "$ref": "#/components/examples/ChildKeyNameUniquenessExample"
+ },
+ "CustomerNameRequiredError": {
+ "$ref": "#/components/examples/CustomerNameRequiredExample"
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO401"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "errors": [
+ {
+ "code": "NOT.AUTHORIZED.ERROR",
+ "message": "Access token expired. Please modify your request and try again."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO403"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "errors": [
+ {
+ "code": "FORBIDDEN.ERROR",
+ "message": "We could not authorize your credentials. Please check your permissions and try again."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO404"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "errors": [
+ {
+ "code": "NOT.FOUND.ERROR",
+ "message": "The resource you requested is no longer available. Please modify your request and try again."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Failure",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO500"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "errors": [
+ {
+ "code": "INTERNAL.SERVER.ERROR",
+ "message": "We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time."
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "parameters": [
+ {
+ "in": "header",
+ "name": "x-customer-transaction-id",
+ "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "624deea6-b709-470c-8c39-4b5511281492"
+ }
+ },
+ {
+ "in": "header",
+ "name": "content-type",
+ "description": "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.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "application/json"
+ }
+ },
+ {
+ "in": "header",
+ "name": "x-locale",
+ "description": "This indicates the combination of language code and country code. Click here to see Locales",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "en_US"
+ }
+ },
+ {
+ "in": "header",
+ "name": "authorization",
+ "description": "This indicates the authorization token for the input request.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "Bearer XXX"
+ }
+ }
+ ],
+ "x-code-samples": [
+ {
+ "lang": "C#",
+ "source": "var client = new RestClient(\"https://apis-sandbox.fedex.com/registration/v2/address/keysgeneration\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Authorization\", \"Bearer \");\nrequest.AddHeader(\"X-locale\", \"en_US\");\nrequest.AddHeader(\"Content-Type\", \"application/json\");\n// 'input' refers to JSON Payload\nrequest.AddParameter(\"application/x-www-form-urlencoded\", input, ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);\n\n\n\n\n"
+ },
+ {
+ "lang": "JAVA",
+ "source": "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\n// 'input' refers to JSON Payload\nRequestBody body = RequestBody.create(mediaType, input);\nRequest request = new Request.Builder()\n .url(\"https://apis-sandbox.fedex.com/registration/v2/address/keysgeneration\")\n .post(body)\n .addHeader(\"Content-Type\", \"application/json\")\n .addHeader(\"X-locale\", \"en_US\")\n .addHeader(\"Authorization\", \"Bearer \")\n .build();\n \nResponse response = client.newCall(request).execute();"
+ },
+ {
+ "lang": "JAVASCRIPT",
+ "source": "// 'input' refers to JSON Payload\nvar data = JSON.stringify(input);\n \n var xhr = new XMLHttpRequest();\n xhr.withCredentials = true;\n \n xhr.addEventListener(\"readystatechange\", function () {\n if (this.readyState === 4) {\n console.log(this.responseText);\n }\n });\n \n xhr.open(\"POST\", \"https://apis-sandbox.fedex.com/registration/v2/address/keysgeneration\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-locale\", \"en_US\");\n xhr.setRequestHeader(\"Authorization\", \"Bearer \");\n \n xhr.send(data);"
+ },
+ {
+ "lang": "PHP",
+ "source": "setUrl('https://apis-sandbox.fedex.com/registration/v2/address/keysgeneration');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n 'Authorization' => 'Bearer ',\n 'X-locale' => 'en_US',\n 'Content-Type' => 'application/json'\n));\n\n$request->setBody(input); // 'input' refers to JSON Payload\n\ntry {\n $response = $request->send();\n\n echo $response->getBody();\n} catch (HttpException $ex) {\n echo $ex;\n}"
+ },
+ {
+ "lang": "PYTHON",
+ "source": "import requests\n\nurl = \"https://apis-sandbox.fedex.com/registration/v2/address/keysgeneration\"\n\npayload = input # 'input' refers to JSON Payload\nheaders = {\n 'Content-Type': \"application/json\",\n 'X-locale': \"en_US\",\n 'Authorization': \"Bearer \"\n }\n\nresponse = requests.post(url, data=payload, headers=headers)\n\nprint(response.text)"
+ },
+ {
+ "lang": "RUST",
+ "source": "extern crate reqwest;\n\nuse std::io::Read;\n\nfn construct_headers() -> HeaderMap {\n let mut headers = HeaderMap::new();\n headers.insert(\"Content-Type\", \"application/json\");\n headers.insert(\"X-locale\", \"en_US\");\n headers.insert(\"Authorization\", \"Bearer \");\n headers\n}\n\nfn run() -> Result<()> {\n let client = reqwest::Client::new();\n let mut res = client.post(\"https://apis-sandbox.fedex.com/registration/v2/address/keysgeneration\")\n .body(input) // 'input' refers to JSON Payload\n .headers(construct_headers())\n .send()?;\n let mut body = String::new();\n res.read_to_string(&mut body)?;\n\n println!(\"Status: {}\", res.status());\n println!(\"Headers:\\n{:#?}\", res.headers());\n println!(\"Body:\\n{}\", body);\n\n Ok(())\n}"
+ },
+ {
+ "lang": "SWIFT",
+ "source": "import Foundation\n\nlet headers = [\n \"Content-Type\": \"application/json\",\n \"X-locale\": \"en_US\",\n \"Authorization\": \"Bearer \"\n]\nlet parameters = [\n input // 'input' refers to JSON Payload\n] as [String : Any]\n\nlet postData = JSONSerialization.data(withJSONObject: parameters, options: [])\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://apis-sandbox.fedex.com/registration/v2/address/keysgeneration\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"POST\"\nrequest.allHTTPHeaderFields = headers\nrequest.httpBody = postData as Data\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()"
+ }
+ ]
+ }
+ },
+ "/registration/v2/pin/keysgeneration": {
+ "post": {
+ "summary": "PIN Validation",
+ "description": "API End point being used to perform PIN validation during the credentials registration process of csp consumers. This endpoint validates the PIN keyed in by the consumer. Then creates customer keys.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.",
+ "operationId": "validatePin",
+ "parameters": [
+ {
+ "name": "x-customer-transaction-id",
+ "in": "header",
+ "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.",
+ "required": false,
+ "style": "simple",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "example": "624deea6-b709-470c-8c39-4b5511281492"
+ }
+ },
+ {
+ "name": "x-locale",
+ "in": "header",
+ "description": "This indicates the combination of language code and country code.
Click here to see Locales",
+ "required": false,
+ "style": "simple",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "example": "en_US"
+ }
+ },
+ {
+ "name": "x-clientid",
+ "in": "header",
+ "description": "This indicates the Client who is consuming this endpoint",
+ "required": false,
+ "style": "simple",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "example": "WSXI"
+ }
+ },
+ {
+ "name": "Authorization",
+ "in": "header",
+ "description": "Bearer token from oauth/token",
+ "required": true,
+ "style": "simple",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "example": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzY29wZSI6WyJDWFMiXSwiUGF5bG9hZCI6eyJjbGllbnRJZGVudGl0eSI6eyJjbGllbnRLZXkiOiJsNzYzZWU2YzE3NWQxYjRlNTZiZTBkY2JmY2U0NWE3ZjZmIn0sImF1dGhlbnRpY2F0aW9uUmVhbG0iOiJXU1NPIiwiYWRkaXRpb25hbElkZW50aXR5Ijp7InRpbWVTdGFtcCI6IjI4LVNlcC0yMDIyIDA0OjI2OjQ0IEVTVCIsImdyYW50X3R5cGUiOiJjbGllbnRfY3JlZGVudGlhbHMiLCJhcGltb2RlIjoiTGl2ZSIsImN4c0lzcyI6Imh0dHBzOi8vY3hzYXV0aHNlcnZlci1pbnRlZ3JhdGlvbi5hcHAud3RjZGV2Mi5wYWFzLmZlZGV4LmNvbS90b2tlbi9vYXV0aDIifSwicGVyc29uYVR5cGUiOiJFbXBsb3llZSIsImNvbnN1bWVySWRlbnRpdHkiOnsiaWRlbnRpdHkiOiIzNzQ2MDM1IiwicmF3SWRlbnRpdHkiOiIzNzQ2MDM1IiwibG9nZ2VkSW4iOmZhbHNlfX0sImV4cCI6MTY2NDM2MDgwNCwianRpIjoiZWE5NmQyNzktNTU5Yy00NmRlLTgxODctM2UzYTQxNjg0NmRjIn0.e40-levPzQ-WkmICiCHBR5upr-rDaD9gl3HY59uJ9qR_VdkLQkjIhY_DrQEKeJwrsz8vV9Kuy1Aw7IPIse9zFPPOGBYOAlrSd6eg_iEZSSmmAw10OJGHbsfsyuuNVLOx_NzjlBCne7LvsgthNeP74fcy1jtVLCy2WmzlGoA6d-ZW_kKQQWXzWC3qPDKKppvAewuX8uGsPrT-IerzY_XMsdUaiavYZLP1ijkia8LRP4puqpOAzXbxvJDY3DQYb9UQi7QTZgbh2zUoIkHyZSn4ZFCDTAFBlYqn3ialMoHHk7nKXE22Zi12JEFmZpxi61R_5EgTWUS30ljOyiy8P6--NV2HzNpJvk8f9v2AsAm6brEzPmm_l0uS5mBiaCAN_m_V-gi0NxRNd2r1qC24jJyJqWTO2jZfPbPj-Y0LGWKFSEWhVvHVjkyFQ380wYuNh2953jRGcgpZAQ4q449uWDmqT--zto8UJIwRAx1mLGbW1sqhtRFOP_d89oirwtfzfahXtVs7F2G7obWayEyFjxd-SGBkSIxAufNAq73Nbgflw_LqyCAnjJ3nUo8BrBVu44f5OMabZvnEKdaNyOqGd0qYskOkXYHa2AL2Que1t2qLkrmS4I3n3p7b1wPZL54e1CjhJngi4fcOiX-4E4yXQ5YxG6pM3B4xqa0V9NV9YwpgsWk"
+ }
+ },
+ {
+ "name": "accountAuthToken",
+ "in": "header",
+ "description": "Address validation jwt",
+ "required": true,
+ "style": "simple",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "example": "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3MzJiMDgzZi0zZTc0LTRhMjYtOGI0ZS1jY2NmYTA1ZTY1MTQiLCJpYXQiOjE2NjIwMzY0MjQsImlzcyI6IjVmMTA2ZDlmMTM5MTk0MTc5ZjY0NjJkZCIsIk9yZ1VuaXRJZCI6IjU2MDk5Y2ViZjcyM2FhM2UyNGQ4MTlkOSIsIlBheWxvYWQiOnsib3JkZXJOdW1iZXIiOiJkNjVhZTUzMC1iNzA1LTRiYWUtYjJmMy03Y2I1ZjgwNzBiMzQiLCJhbW91bnQiOiIxMDAwMC4wIiwiY3VycmVuY3lDb2RlIjoiRVVSIn0sIlJlZmVyZW5jZUlkIjoiN2YzMzNhOWYtN2JhZi00ZGNhLWJjMjAtYmY2MTU0ZDU2MTdiIiwiZXhwIjoxNjYyMDM3MzI0fQ.9-LVXKCfAJ7xmh3Hp6U7hXGT9z-14_5tPWu3reQRTbo"
+ }
+ },
+ {
+ "in": "header",
+ "name": "content-type",
+ "description": "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.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "application/json"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ValidatePinInputVO"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/IrcpResponseVO_1"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO_1"
+ },
+ "examples": {
+ "SessionExpiredError": {
+ "$ref": "#/components/examples/SessionExpiredExample"
+ },
+ "UnauthorizedAccessError": {
+ "$ref": "#/components/examples/UnauthorizedAccessExample"
+ },
+ "PinOptionInvalidExpiredError": {
+ "$ref": "#/components/examples/PinOptionInvalidExpiredExample"
+ },
+ "PinSecurecodeReqError": {
+ "$ref": "#/components/examples/PinSecurecodeReqErrorExample"
+ },
+ "PinUnknownError": {
+ "$ref": "#/components/examples/PinErrorExample"
+ },
+ "ChildKeyUniqenessExample": {
+ "$ref": "#/components/examples/ChildKeyUniqenessExample"
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO_1"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "errors": [
+ {
+ "code": "NOT.FOUND.ERROR",
+ "message": "The resource you requested is no longer available. Please modify your request and try again."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Failure",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO_1"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "errors": [
+ {
+ "code": "INTERNAL.SERVER.ERROR",
+ "message": "We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time."
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "x-code-samples": [
+ {
+ "lang": "C#",
+ "source": "var client = new RestClient(\"https://apis-sandbox.fedex.com/registration/v2/pin/keysgeneration\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Authorization\", \"Bearer \");\nrequest.AddHeader(\"X-locale\", \"en_US\");\nrequest.AddHeader(\"Content-Type\", \"application/json\");\n// 'input' refers to JSON Payload\nrequest.AddParameter(\"application/x-www-form-urlencoded\", input, ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);\n\n\n\n\n"
+ },
+ {
+ "lang": "JAVA",
+ "source": "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\n// 'input' refers to JSON Payload\nRequestBody body = RequestBody.create(mediaType, input);\nRequest request = new Request.Builder()\n .url(\"https://apis-sandbox.fedex.com/registration/v2/pin/keysgeneration\")\n .post(body)\n .addHeader(\"Content-Type\", \"application/json\")\n .addHeader(\"X-locale\", \"en_US\")\n .addHeader(\"Authorization\", \"Bearer \")\n .build();\n \nResponse response = client.newCall(request).execute();"
+ },
+ {
+ "lang": "JAVASCRIPT",
+ "source": "// 'input' refers to JSON Payload\nvar data = JSON.stringify(input);\n \n var xhr = new XMLHttpRequest();\n xhr.withCredentials = true;\n \n xhr.addEventListener(\"readystatechange\", function () {\n if (this.readyState === 4) {\n console.log(this.responseText);\n }\n });\n \n xhr.open(\"POST\", \"https://apis-sandbox.fedex.com/registration/v2/pin/keysgeneration\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-locale\", \"en_US\");\n xhr.setRequestHeader(\"Authorization\", \"Bearer \");\n \n xhr.send(data);"
+ },
+ {
+ "lang": "PHP",
+ "source": "setUrl('https://apis-sandbox.fedex.com/registration/v2/pin/keysgeneration');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n 'Authorization' => 'Bearer ',\n 'X-locale' => 'en_US',\n 'Content-Type' => 'application/json'\n));\n\n$request->setBody(input); // 'input' refers to JSON Payload\n\ntry {\n $response = $request->send();\n\n echo $response->getBody();\n} catch (HttpException $ex) {\n echo $ex;\n}"
+ },
+ {
+ "lang": "PYTHON",
+ "source": "import requests\n\nurl = \"https://apis-sandbox.fedex.com/registration/v2/pin/keysgeneration\"\n\npayload = input # 'input' refers to JSON Payload\nheaders = {\n 'Content-Type': \"application/json\",\n 'X-locale': \"en_US\",\n 'Authorization': \"Bearer \"\n }\n\nresponse = requests.post(url, data=payload, headers=headers)\n\nprint(response.text)"
+ },
+ {
+ "lang": "RUST",
+ "source": "extern crate reqwest;\n\nuse std::io::Read;\n\nfn construct_headers() -> HeaderMap {\n let mut headers = HeaderMap::new();\n headers.insert(\"Content-Type\", \"application/json\");\n headers.insert(\"X-locale\", \"en_US\");\n headers.insert(\"Authorization\", \"Bearer \");\n headers\n}\n\nfn run() -> Result<()> {\n let client = reqwest::Client::new();\n let mut res = client.post(\"https://apis-sandbox.fedex.com/registration/v2/pin/keysgeneration\")\n .body(input) // 'input' refers to JSON Payload\n .headers(construct_headers())\n .send()?;\n let mut body = String::new();\n res.read_to_string(&mut body)?;\n\n println!(\"Status: {}\", res.status());\n println!(\"Headers:\\n{:#?}\", res.headers());\n println!(\"Body:\\n{}\", body);\n\n Ok(())\n}"
+ },
+ {
+ "lang": "SWIFT",
+ "source": "import Foundation\n\nlet headers = [\n \"Content-Type\": \"application/json\",\n \"X-locale\": \"en_US\",\n \"Authorization\": \"Bearer \"\n]\nlet parameters = [\n input // 'input' refers to JSON Payload\n] as [String : Any]\n\nlet postData = JSONSerialization.data(withJSONObject: parameters, options: [])\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://apis-sandbox.fedex.com/registration/v2/pin/keysgeneration\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"POST\"\nrequest.allHTTPHeaderFields = headers\nrequest.httpBody = postData as Data\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()"
+ }
+ ]
+ }
+ },
+ "/registration/v2/invoice/keysgeneration": {
+ "post": {
+ "summary": "Invoice Validation",
+ "description": "API End point being used to perform invoice validation during the credentials registration process of csp consumers. This endpoint validates the invoice detail associated with the FedEx EAN account number & creates customer keysNote: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.",
+ "operationId": "validateInvoice",
+ "parameters": [
+ {
+ "name": "x-customer-transaction-id",
+ "in": "header",
+ "description": "\"This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.\"",
+ "required": false,
+ "style": "simple",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "example": "624deea6-b709-470c-8c39-4b5511281492"
+ }
+ },
+ {
+ "name": "x-locale",
+ "in": "header",
+ "description": "This indicates the combination of language code and country code.",
+ "required": false,
+ "style": "simple",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "example": "en_US"
+ }
+ },
+ {
+ "name": "x-clientid",
+ "in": "header",
+ "description": "This indicates the Client who is consuming this endpoint",
+ "required": false,
+ "style": "simple",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "example": "WSXI"
+ }
+ },
+ {
+ "name": "authorization",
+ "in": "header",
+ "description": "Bearer token from oauth/token",
+ "required": true,
+ "style": "simple",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "example": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzY29wZSI6WyJDWFMiXSwiUGF5bG9hZCI6eyJjbGllbnRJZGVudGl0eSI6eyJjbGllbnRLZXkiOiJsNzYzZWU2YzE3NWQxYjRlNTZiZTBkY2JmY2U0NWE3ZjZmIn0sImF1dGhlbnRpY2F0aW9uUmVhbG0iOiJXU1NPIiwiYWRkaXRpb25hbElkZW50aXR5Ijp7InRpbWVTdGFtcCI6IjI4LVNlcC0yMDIyIDA0OjI2OjQ0IEVTVCIsImdyYW50X3R5cGUiOiJjbGllbnRfY3JlZGVudGlhbHMiLCJhcGltb2RlIjoiTGl2ZSIsImN4c0lzcyI6Imh0dHBzOi8vY3hzYXV0aHNlcnZlci1pbnRlZ3JhdGlvbi5hcHAud3RjZGV2Mi5wYWFzLmZlZGV4LmNvbS90b2tlbi9vYXV0aDIifSwicGVyc29uYVR5cGUiOiJFbXBsb3llZSIsImNvbnN1bWVySWRlbnRpdHkiOnsiaWRlbnRpdHkiOiIzNzQ2MDM1IiwicmF3SWRlbnRpdHkiOiIzNzQ2MDM1IiwibG9nZ2VkSW4iOmZhbHNlfX0sImV4cCI6MTY2NDM2MDgwNCwianRpIjoiZWE5NmQyNzktNTU5Yy00NmRlLTgxODctM2UzYTQxNjg0NmRjIn0.e40-levPzQ-WkmICiCHBR5upr-rDaD9gl3HY59uJ9qR_VdkLQkjIhY_DrQEKeJwrsz8vV9Kuy1Aw7IPIse9zFPPOGBYOAlrSd6eg_iEZSSmmAw10OJGHbsfsyuuNVLOx_NzjlBCne7LvsgthNeP74fcy1jtVLCy2WmzlGoA6d-ZW_kKQQWXzWC3qPDKKppvAewuX8uGsPrT-IerzY_XMsdUaiavYZLP1ijkia8LRP4puqpOAzXbxvJDY3DQYb9UQi7QTZgbh2zUoIkHyZSn4ZFCDTAFBlYqn3ialMoHHk7nKXE22Zi12JEFmZpxi61R_5EgTWUS30ljOyiy8P6--NV2HzNpJvk8f9v2AsAm6brEzPmm_l0uS5mBiaCAN_m_V-gi0NxRNd2r1qC24jJyJqWTO2jZfPbPj-Y0LGWKFSEWhVvHVjkyFQ380wYuNh2953jRGcgpZAQ4q449uWDmqT--zto8UJIwRAx1mLGbW1sqhtRFOP_d89oirwtfzfahXtVs7F2G7obWayEyFjxd-SGBkSIxAufNAq73Nbgflw_LqyCAnjJ3nUo8BrBVu44f5OMabZvnEKdaNyOqGd0qYskOkXYHa2AL2Que1t2qLkrmS4I3n3p7b1wPZL54e1CjhJngi4fcOiX-4E4yXQ5YxG6pM3B4xqa0V9NV9YwpgsWk"
+ }
+ },
+ {
+ "name": "accountAuthToken",
+ "in": "header",
+ "description": "Address validation jwt",
+ "required": true,
+ "style": "simple",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "example": "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3MzJiMDgzZi0zZTc0LTRhMjYtOGI0ZS1jY2NmYTA1ZTY1MTQiLCJpYXQiOjE2NjIwMzY0MjQsImlzcyI6IjVmMTA2ZDlmMTM5MTk0MTc5ZjY0NjJkZCIsIk9yZ1VuaXRJZCI6IjU2MDk5Y2ViZjcyM2FhM2UyNGQ4MTlkOSIsIlBheWxvYWQiOnsib3JkZXJOdW1iZXIiOiJkNjVhZTUzMC1iNzA1LTRiYWUtYjJmMy03Y2I1ZjgwNzBiMzQiLCJhbW91bnQiOiIxMDAwMC4wIiwiY3VycmVuY3lDb2RlIjoiRVVSIn0sIlJlZmVyZW5jZUlkIjoiN2YzMzNhOWYtN2JhZi00ZGNhLWJjMjAtYmY2MTU0ZDU2MTdiIiwiZXhwIjoxNjYyMDM3MzI0fQ.9-LVXKCfAJ7xmh3Hp6U7hXGT9z-14_5tPWu3reQRTbo"
+ }
+ },
+ {
+ "in": "header",
+ "name": "content-type",
+ "description": "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.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "application/json"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ValidateInvoiceInputVO"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/IrcpResponseVO_1"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO_2"
+ },
+ "examples": {
+ "InvoiceNumberRequiredExample": {
+ "$ref": "#/components/examples/InvoiceNumberRequiredExample"
+ },
+ "InvoiceUnknownExample": {
+ "$ref": "#/components/examples/InvoiceUnknownExample"
+ },
+ "InvoiceDetailsRequiredExample": {
+ "$ref": "#/components/examples/InvoiceDetailsRequiredExample"
+ },
+ "ChildKeyNameUniqunessExample": {
+ "$ref": "#/components/examples/ChildKeyNameUniqunessExample"
+ }
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO_2"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "errors": [
+ {
+ "code": "INVOICEDETAILS.NUMBER.NOTEXIST",
+ "message": "Invoice does not exist for the provided invoice number."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Failure",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO_2"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "errors": [
+ {
+ "code": "INTERNAL.SERVER.ERROR",
+ "message": "We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time."
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "x-code-samples": [
+ {
+ "lang": "C#",
+ "source": "var client = new RestClient(\"https://apis-sandbox.fedex.com/registration/v2/invoice/keysgeneration\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Authorization\", \"Bearer \");\nrequest.AddHeader(\"X-locale\", \"en_US\");\nrequest.AddHeader(\"Content-Type\", \"application/json\");\n// 'input' refers to JSON Payload\nrequest.AddParameter(\"application/x-www-form-urlencoded\", input, ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);\n\n\n\n\n"
+ },
+ {
+ "lang": "JAVA",
+ "source": "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\n// 'input' refers to JSON Payload\nRequestBody body = RequestBody.create(mediaType, input);\nRequest request = new Request.Builder()\n .url(\"https://apis-sandbox.fedex.com/registration/v2/invoice/keysgeneration\")\n .post(body)\n .addHeader(\"Content-Type\", \"application/json\")\n .addHeader(\"X-locale\", \"en_US\")\n .addHeader(\"Authorization\", \"Bearer \")\n .build();\n \nResponse response = client.newCall(request).execute();"
+ },
+ {
+ "lang": "JAVASCRIPT",
+ "source": "// 'input' refers to JSON Payload\nvar data = JSON.stringify(input);\n \n var xhr = new XMLHttpRequest();\n xhr.withCredentials = true;\n \n xhr.addEventListener(\"readystatechange\", function () {\n if (this.readyState === 4) {\n console.log(this.responseText);\n }\n });\n \n xhr.open(\"POST\", \"https://apis-sandbox.fedex.com/registration/v2/invoice/keysgeneration\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-locale\", \"en_US\");\n xhr.setRequestHeader(\"Authorization\", \"Bearer \");\n \n xhr.send(data);"
+ },
+ {
+ "lang": "PHP",
+ "source": "setUrl('https://apis-sandbox.fedex.com/registration/v2/invoice/keysgeneration');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n 'Authorization' => 'Bearer ',\n 'X-locale' => 'en_US',\n 'Content-Type' => 'application/json'\n));\n\n$request->setBody(input); // 'input' refers to JSON Payload\n\ntry {\n $response = $request->send();\n\n echo $response->getBody();\n} catch (HttpException $ex) {\n echo $ex;\n}"
+ },
+ {
+ "lang": "PYTHON",
+ "source": "import requests\n\nurl = \"https://apis-sandbox.fedex.com/registration/v2/invoice/keysgeneration\"\n\npayload = input # 'input' refers to JSON Payload\nheaders = {\n 'Content-Type': \"application/json\",\n 'X-locale': \"en_US\",\n 'Authorization': \"Bearer \"\n }\n\nresponse = requests.post(url, data=payload, headers=headers)\n\nprint(response.text)"
+ },
+ {
+ "lang": "RUST",
+ "source": "extern crate reqwest;\n\nuse std::io::Read;\n\nfn construct_headers() -> HeaderMap {\n let mut headers = HeaderMap::new();\n headers.insert(\"Content-Type\", \"application/json\");\n headers.insert(\"X-locale\", \"en_US\");\n headers.insert(\"Authorization\", \"Bearer \");\n headers\n}\n\nfn run() -> Result<()> {\n let client = reqwest::Client::new();\n let mut res = client.post(\"https://apis-sandbox.fedex.com/registration/v2/invoice/keysgeneration\")\n .body(input) // 'input' refers to JSON Payload\n .headers(construct_headers())\n .send()?;\n let mut body = String::new();\n res.read_to_string(&mut body)?;\n\n println!(\"Status: {}\", res.status());\n println!(\"Headers:\\n{:#?}\", res.headers());\n println!(\"Body:\\n{}\", body);\n\n Ok(())\n}"
+ },
+ {
+ "lang": "SWIFT",
+ "source": "import Foundation\n\nlet headers = [\n \"Content-Type\": \"application/json\",\n \"X-locale\": \"en_US\",\n \"Authorization\": \"Bearer \"\n]\nlet parameters = [\n input // 'input' refers to JSON Payload\n] as [String : Any]\n\nlet postData = JSONSerialization.data(withJSONObject: parameters, options: [])\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://apis-sandbox.fedex.com/registration/v2/invoice/keysgeneration\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"POST\"\nrequest.allHTTPHeaderFields = headers\nrequest.httpBody = postData as Data\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()"
+ }
+ ]
+ }
+ },
+ "/registration/v2/customerkeys/pingeneration": {
+ "post": {
+ "summary": "PIN Generation",
+ "description": "Use this API endpoint to generate the PIN as part of the PIN validation during the credentials registration process of csp consumers. This endpoint generates the 6 digit PIN & sends to the consumer through the PIN delivery option chosen by the consumer.",
+ "operationId": "sendPin",
+ "parameters": [
+ {
+ "name": "x-locale",
+ "in": "header",
+ "description": "This indicates the combination of language code and country code.
click here to see locales",
+ "required": false,
+ "style": "simple",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "example": "en_US"
+ }
+ },
+ {
+ "name": "x-clientid",
+ "in": "header",
+ "description": "This indicates the client who is using this endpoint.",
+ "required": false,
+ "style": "simple",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "example": "WADM"
+ }
+ },
+ {
+ "name": "accountAuthToken",
+ "in": "header",
+ "description": "Address validation jwt",
+ "required": true,
+ "style": "simple",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "example": "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI3MzJiMDgzZi0zZTc0LTRhMjYtOGI0ZS1jY2NmYTA1ZTY1MTQiLCJpYXQiOjE2NjIwMzY0MjQsImlzcyI6IjVmMTA2ZDlmMTM5MTk0MTc5ZjY0NjJkZCIsIk9yZ1VuaXRJZCI6IjU2MDk5Y2ViZjcyM2FhM2UyNGQ4MTlkOSIsIlBheWxvYWQiOnsib3JkZXJOdW1iZXIiOiJkNjVhZTUzMC1iNzA1LTRiYWUtYjJmMy03Y2I1ZjgwNzBiMzQiLCJhbW91bnQiOiIxMDAwMC4wIiwiY3VycmVuY3lDb2RlIjoiRVVSIn0sIlJlZmVyZW5jZUlkIjoiN2YzMzNhOWYtN2JhZi00ZGNhLWJjMjAtYmY2MTU0ZDU2MTdiIiwiZXhwIjoxNjYyMDM3MzI0fQ.9-LVXKCfAJ7xmh3Hp6U7hXGT9z-14_5tPWu3reQRTbo"
+ }
+ },
+ {
+ "name": "Authorization",
+ "in": "header",
+ "description": "Bearer token generated with child id and secret",
+ "required": true,
+ "style": "simple",
+ "explode": false,
+ "schema": {
+ "type": "string",
+ "example": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzY29wZSI6WyJDWFMiXSwiUGF5bG9hZCI6eyJjbGllbnRJZGVudGl0eSI6eyJjbGllbnRLZXkiOiJsNzQzMzk4OTdhYzMzNjQ2NDI4N2Y5ZjZhOWZhZDBmNjFlIn0sImF1dGhlbnRpY2F0aW9uUmVhbG0iOiJXU1NPIiwiYWRkaXRpb25hbElkZW50aXR5Ijp7InRpbWVTdGFtcCI6IjE4LU5vdi0yMDIyIDA5OjI0OjM5IEVTVCIsImdyYW50X3R5cGUiOiJjbGllbnRfY3JlZGVudGlhbHMiLCJhcGltb2RlIjoiTGl2ZSIsImN4c0lzcyI6Imh0dHBzOi8vY3hzYXV0aHNlcnZlci1zeXN0ZW0uZGV2YXBwLnBhYXMuZmVkZXguY29tL3Rva2VuL29hdXRoMiJ9LCJwZXJzb25hVHlwZSI6IkVtcGxveWVlIiwiY29uc3VtZXJJZGVudGl0eSI6eyJpZGVudGl0eSI6IjM3NDYwMzUiLCJyYXdJZGVudGl0eSI6IjM3NDYwMzUiLCJsb2dnZWRJbiI6ZmFsc2V9fSwiZXhwIjoxNjY4Nzg1MDc5LCJqdGkiOiJiOGU0OTU4Mi03ODBhLTQ2NDgtYjI1Yy00MGRkN2RhZmVkMGIifQ.IWK_gycY2G9vmY5DqeUtKuBbAOL4H6_HUW7nkJ2wa6htt__FKDovhj6iEeJ_nla9LFQx2kJG_9Y70fn8Y0ebo5TSFI0tKBqYJF3YopW08Z8YKKDQGxtCzsw3_z43FYrf-FJ5EVFsW1AZm0Z013Y_zn7YM9W6k-TtMTF2OkQ8SiwdwG226kNdHkyDKZ2VR77ft795WZFz7tFLfckwDurcUY7dslLrta4YYXqjFakCpFWWyRY2rHWvpjT_xeMsnYyo1zoO3IWTbg1dy-cjX-A6s02d_OZI_jYDz_faLxnIj29rHdnGEwVt07ZmKPM9NypWsug3hi9OYbiECzDIFBgcxZf8KOvMEwt0rHZWHW3OR4iGEZpPmdAXiv_Li8bmhM1qWI9hZAiPXq-jKTw5ieuIRpfdujSmXGiwnZKmA1WCRZ09nP9rWsUvgPf9PJlCbFo84_lHcyzcKss8lUZHBhINBPeyferV347GoplvLGhtyUpVbJc40oKDDDqgKXWVP5GPvC5IqgNbwTx83NeWSOMXlig69k2C9mdELNwhrAN1lSRhbbKNf0oydKE6uRcey9_U3Rb-gfW5aB0RmvsmIOEWcG8kKvhflxj-m3Sb4qZaTCqZmwSEfYj8a5GesS3t54v7XHkNcOXDZg4D5_710uVqWx2KbqKksyL5RlJMPePhTIs"
+ }
+ },
+ {
+ "in": "header",
+ "name": "x-customer-transaction-id",
+ "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "624deea6-b709-470c-8c39-4b5511281492"
+ }
+ },
+ {
+ "in": "header",
+ "name": "content-type",
+ "description": "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.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "application/json"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/IssuePinInputVO"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PinGenerationOutputVO"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO_2"
+ },
+ "examples": {
+ "SessionExpiredError": {
+ "$ref": "#/components/examples/SessionExpiredExample"
+ },
+ "UnauthorizedAccessError": {
+ "$ref": "#/components/examples/UnauthorizedAccessExample"
+ },
+ "PinoptionReqError": {
+ "$ref": "#/components/examples/PinoptionReqErrorExample"
+ },
+ "PinIssueFailedError": {
+ "$ref": "#/components/examples/PinIssueFailedErrorExample"
+ },
+ "EmailNotRegisteredError": {
+ "$ref": "#/components/examples/EmailNotRegisteredErrorExample"
+ },
+ "PhonenumberNotRegError": {
+ "$ref": "#/components/examples/PhonenumberNotRegExample"
+ },
+ "PinErrorExample": {
+ "$ref": "#/components/examples/PinErrorExample"
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO_2"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "customerTransactionId": "0e671149-016f-1000-941f-ef4dbabadd2e",
+ "errors": [
+ {
+ "code": "LOGIN.REAUTHENTICATE.ERROR",
+ "message": "Your session is expired. Please enter your user ID and password to log in again."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO_2"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "customerTransactionId": "0e671149-016f-1000-941f-ef4dbabadd2e",
+ "errors": [
+ {
+ "code": "FORBIDDEN.ERROR",
+ "message": "We could not authorize your credentials. Please check your permissions and try again."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO_2"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "customerTransactionId": "0e671149-016f-1000-941f-ef4dbabadd2e",
+ "errors": [
+ {
+ "code": "NOT.FOUND.ERROR",
+ "message": "The resource you requested is no longer available. Please modify your request and try again."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Failure",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO_2"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "customerTransactionId": "0e671149-016f-1000-941f-ef4dbabadd2e",
+ "errors": [
+ {
+ "code": "INTERNAL.SERVER.ERROR",
+ "message": "We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time."
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "x-code-samples": [
+ {
+ "lang": "C#",
+ "source": "var client = new RestClient(\"https://apis-sandbox.fedex.com/registration/v2/customerkeys/pingeneration\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Authorization\", \"Bearer \");\nrequest.AddHeader(\"X-locale\", \"en_US\");\nrequest.AddHeader(\"Content-Type\", \"application/json\");\n// 'input' refers to JSON Payload\nrequest.AddParameter(\"application/x-www-form-urlencoded\", input, ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);\n\n\n\n\n"
+ },
+ {
+ "lang": "JAVA",
+ "source": "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\n// 'input' refers to JSON Payload\nRequestBody body = RequestBody.create(mediaType, input);\nRequest request = new Request.Builder()\n .url(\"https://apis-sandbox.fedex.com/registration/v2/customerkeys/pingeneration\")\n .post(body)\n .addHeader(\"Content-Type\", \"application/json\")\n .addHeader(\"X-locale\", \"en_US\")\n .addHeader(\"Authorization\", \"Bearer \")\n .build();\n \nResponse response = client.newCall(request).execute();"
+ },
+ {
+ "lang": "JAVASCRIPT",
+ "source": "// 'input' refers to JSON Payload\nvar data = JSON.stringify(input);\n \n var xhr = new XMLHttpRequest();\n xhr.withCredentials = true;\n \n xhr.addEventListener(\"readystatechange\", function () {\n if (this.readyState === 4) {\n console.log(this.responseText);\n }\n });\n \n xhr.open(\"POST\", \"https://apis-sandbox.fedex.com/registration/v2/customerkeys/pingeneration\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-locale\", \"en_US\");\n xhr.setRequestHeader(\"Authorization\", \"Bearer \");\n \n xhr.send(data);"
+ },
+ {
+ "lang": "PHP",
+ "source": "setUrl('https://apis-sandbox.fedex.com/registration/v2/customerkeys/pingeneration');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n 'Authorization' => 'Bearer ',\n 'X-locale' => 'en_US',\n 'Content-Type' => 'application/json'\n));\n\n$request->setBody(input); // 'input' refers to JSON Payload\n\ntry {\n $response = $request->send();\n\n echo $response->getBody();\n} catch (HttpException $ex) {\n echo $ex;\n}"
+ },
+ {
+ "lang": "PYTHON",
+ "source": "import requests\n\nurl = \"https://apis-sandbox.fedex.com/registration/v2/customerkeys/pingeneration\"\n\npayload = input # 'input' refers to JSON Payload\nheaders = {\n 'Content-Type': \"application/json\",\n 'X-locale': \"en_US\",\n 'Authorization': \"Bearer \"\n }\n\nresponse = requests.post(url, data=payload, headers=headers)\n\nprint(response.text)"
+ },
+ {
+ "lang": "RUST",
+ "source": "extern crate reqwest;\n\nuse std::io::Read;\n\nfn construct_headers() -> HeaderMap {\n let mut headers = HeaderMap::new();\n headers.insert(\"Content-Type\", \"application/json\");\n headers.insert(\"X-locale\", \"en_US\");\n headers.insert(\"Authorization\", \"Bearer \");\n headers\n}\n\nfn run() -> Result<()> {\n let client = reqwest::Client::new();\n let mut res = client.post(\"https://apis-sandbox.fedex.com/registration/v2/customerkeys/pingeneration\")\n .body(input) // 'input' refers to JSON Payload\n .headers(construct_headers())\n .send()?;\n let mut body = String::new();\n res.read_to_string(&mut body)?;\n\n println!(\"Status: {}\", res.status());\n println!(\"Headers:\\n{:#?}\", res.headers());\n println!(\"Body:\\n{}\", body);\n\n Ok(())\n}"
+ },
+ {
+ "lang": "SWIFT",
+ "source": "import Foundation\n\nlet headers = [\n \"Content-Type\": \"application/json\",\n \"X-locale\": \"en_US\",\n \"Authorization\": \"Bearer \"\n]\nlet parameters = [\n input // 'input' refers to JSON Payload\n] as [String : Any]\n\nlet postData = JSONSerialization.data(withJSONObject: parameters, options: [])\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://apis-sandbox.fedex.com/registration/v2/customerkeys/pingeneration\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"POST\"\nrequest.allHTTPHeaderFields = headers\nrequest.httpBody = postData as Data\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()"
+ }
+ ]
+ }
+ }
+ },
+ "components": {
+ "schemas": {
+ "IrcpResponseVO": {
+ "type": "object",
+ "properties": {
+ "transactionId": {
+ "type": "string",
+ "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: 624deea6-b709-470c-8c39-4b5511281492",
+ "example": "624deea6-b709-470c-8c39-4b5511281492"
+ },
+ "output": {
+ "$ref": "#/components/schemas/BaseProcessOutputVO"
+ }
+ },
+ "description": "This is a wrapper class for outputVO"
+ },
+ "BaseProcessOutputVO": {
+ "type": "object",
+ "properties": {
+ "mfaOptions": {
+ "$ref": "#/components/schemas/MFAOptions"
+ },
+ "child_Key": {
+ "type": "string",
+ "description": "Child Key is a JSON Web Token provided for each of your customers. You must use the Child Key along with the Client Key, Client Secret and Customer Secret to get oAuth token, which should be used as credentials with each API transaction.",
+ "example": "e366a577-3708-47e5-9af8-98004a01c134"
+ },
+ "child_secret": {
+ "type": "string",
+ "description": "Child secret, also referred to as Customer Secret, is provided for each of your customers. You must use the Customer Secret along with the Client Key, Client Secret and Child Key to get the oAuth token, which should be used as credentials with each API transaction.",
+ "example": "*******"
+ }
+ },
+ "description": "This is the response object providing Customer Key and secret key as a output."
+ },
+ "ErrorResponseVO": {
+ "type": "object",
+ "properties": {
+ "transactionId": {
+ "type": "string",
+ "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: 624deea6-b709-470c-8c39-4b5511281492",
+ "example": "624deea6-b709-470c-8c39-4b5511281492"
+ },
+ "errors": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CXSError"
+ }
+ }
+ }
+ },
+ "CXSError": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Indicates the error code.
Example: ERROR.LONGLAT.REQUIRED",
+ "example": "USER.ACCOUNT.NOTFOUND"
+ },
+ "parameterList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Parameter"
+ }
+ },
+ "message": {
+ "type": "string",
+ "description": "Indicates the description of API error alert message.
Example: Account Not Found in Database."
+ }
+ },
+ "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter"
+ },
+ "Parameter": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "This is a placeholder for parameter value."
+ },
+ "key": {
+ "type": "string",
+ "description": "This is a placeholder for parameter key."
+ }
+ },
+ "description": "This object provides additional paramter details resulted in the alert."
+ },
+ "ErrorResponseVO401": {
+ "type": "object",
+ "properties": {
+ "transactionId": {
+ "type": "string",
+ "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: 624deea6-b709-470c-8c39-4b5511281492",
+ "example": "624deea6-b709-470c-8c39-4b5511281492"
+ },
+ "errors": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CXSError401"
+ }
+ }
+ }
+ },
+ "ErrorResponseVO403": {
+ "type": "object",
+ "properties": {
+ "transactionId": {
+ "type": "string",
+ "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: 624deea6-b709-470c-8c39-4b5511281492",
+ "example": "624deea6-b709-470c-8c39-4b5511281492"
+ },
+ "errors": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CXSError403"
+ }
+ }
+ }
+ },
+ "ErrorResponseVO404": {
+ "type": "object",
+ "properties": {
+ "transactionId": {
+ "type": "string",
+ "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: 624deea6-b709-470-8c39-4b5511281492",
+ "example": "624deea6-b709-470c-8c39-4b5511281492"
+ },
+ "errors": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CXSError404"
+ }
+ }
+ }
+ },
+ "ErrorResponseVO500": {
+ "type": "object",
+ "properties": {
+ "transactionId": {
+ "type": "string",
+ "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: 624deea6-b709-470c-8c39-4b5511281492",
+ "example": "624deea6-b709-470c-8c39-4b5511281492"
+ },
+ "errors": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CXSError500"
+ }
+ }
+ }
+ },
+ "CustomerKeyInputVO": {
+ "required": [
+ "accountNumber",
+ "address",
+ "customerName"
+ ],
+ "type": "object",
+ "properties": {
+ "address": {
+ "$ref": "#/components/schemas/AddressVO"
+ },
+ "accountNumber": {
+ "$ref": "#/components/schemas/AccountNumber"
+ },
+ "customerName": {
+ "type": "string",
+ "description": "Name of the customer or company requesting authentication details. It accepts upto 50 characters of customerName.",
+ "example": "George"
+ }
+ },
+ "description": "This is a request object for requesting customer key and secret key."
+ },
+ "AddressVO": {
+ "required": [
+ "city",
+ "countryCode",
+ "postalCode",
+ "residential",
+ "stateOrProvinceCode",
+ "streetLines"
+ ],
+ "type": "object",
+ "properties": {
+ "residential": {
+ "type": "boolean",
+ "description": "Indicates whether this address is residential (as opposed to commercial).",
+ "example": true
+ },
+ "city": {
+ "type": "string",
+ "description": "Specify name of city or town.",
+ "example": "COLLIERVILLE"
+ },
+ "countryCode": {
+ "type": "string",
+ "description": "The two-letter code used to identify a country. Max length is 2.
Click here to see Country Codes",
+ "example": "US"
+ },
+ "postalCode": {
+ "type": "string",
+ "description": "Use this element to input postal code. Postal code is mandatory for postal-aware countries. The Max length is 10.
Click here to see Postal Codes",
+ "example": "38017"
+ },
+ "streetLines": {
+ "type": "array",
+ "description": "Provide street address which is a combination of number, street name, etc. At least one line is required. For a valid physical address, empty lines should not be included. Max Length is 35.",
+ "example": [
+ "20 FED EX PKWY"
+ ],
+ "items": {
+ "type": "string"
+ }
+ },
+ "stateOrProvinceCode": {
+ "type": "string",
+ "description": "Provide 2 letter state or province code. Not used for Ground/SmartPost. Max length is 2.
Click here to see State or Province Codes",
+ "example": "TN"
+ }
+ },
+ "description": "Indicates the customer's address you are attempting to get the Customer Key and Customer Secret for. Note that address information needs to match the shipping or billing address as loaded in FedEx systems. Contact FedEx support team for any address-related issues or questions."
+ },
+ "AccountNumber": {
+ "required": [
+ "key",
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "Indicates key to decode account number set in the value field.",
+ "example": ""
+ },
+ "value": {
+ "type": "string",
+ "description": "Indicates Account Number in encoded form.",
+ "example": "451134221"
+ }
+ },
+ "description": "This field indicates Account Number object with encoded key and value."
+ },
+ "IrcpResponseVO_1": {
+ "type": "object",
+ "properties": {
+ "transactionId": {
+ "type": "string",
+ "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: 624deea6-b709-470c-8c39-4b5511281492",
+ "example": "624deea6-b709-470c-8c39-4b5511281492"
+ },
+ "output": {
+ "$ref": "#/components/schemas/CustomerKeyOutputVO"
+ }
+ },
+ "description": "This is a wrapper class for outputVO"
+ },
+ "CustomerKeyOutputVO": {
+ "required": [
+ "apiKey",
+ "child_Key",
+ "child_secret"
+ ],
+ "type": "object",
+ "properties": {
+ "child_Key": {
+ "type": "string",
+ "description": "Child Key is a JSON Web Token provided for each of your customers. You must use the Child Key along with the Client Key, Client Secret and Customer Secret to get oAuth token, which should be used as credentials with each API transaction..",
+ "example": "e366a577-3708-47e5-9af8-98004a01c134"
+ },
+ "child_secret": {
+ "type": "string",
+ "description": "Child secret, also referred to as Customer Secret, is provided for each of your customers. You must use the Customer Secret along with the Client Key, Client Secret and Child Key to get the oAuth token, which should be used as credentials with each API transaction.",
+ "example": "e366a577-3708-47e5-9af8-98004a01c135"
+ }
+ },
+ "description": "This is the response object providing Child Key and secret key as a output."
+ },
+ "ErrorResponseVO_1": {
+ "type": "object",
+ "properties": {
+ "transactionId": {
+ "type": "string",
+ "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: bc95c0e4-b33e-42a2-80d2-334282b5d37a",
+ "example": "bc95c0e4-b33e-42a2-80d2-334282b5d37a"
+ },
+ "errors": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CXSError_1"
+ }
+ }
+ },
+ "description": "Error information"
+ },
+ "CXSError_1": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Indicates the error code.
Example: LOGIN.REAUTHENTICATE.ERROR,UNAUTHORIZED.USAGE,NOT.FOUND.ERROR,INTERNAL.SERVER.ERROR"
+ },
+ "parameterList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ErrorParameter"
+ }
+ },
+ "message": {
+ "type": "string",
+ "description": "Indicates the description of API error alert message.
Example: Option is missing."
+ }
+ },
+ "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter"
+ },
+ "ErrorParameter": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "object",
+ "description": "Identifies the error option to be applied."
+ },
+ "key": {
+ "type": "object",
+ "description": "Indicates the value associated with the key."
+ }
+ },
+ "description": "List of parameters which indicates the properties of the alert message."
+ },
+ "ValidatePinInputVO": {
+ "required": [
+ "secureCodePin"
+ ],
+ "type": "object",
+ "properties": {
+ "locale": {
+ "type": "string",
+ "description": "Indicates the user locale.
Click here to see Locales",
+ "example": "en_US"
+ },
+ "secureCodePin": {
+ "type": "string",
+ "description": "Indicates Pin which user want to validate as part of secure code pin validation.",
+ "example": "234567"
+ }
+ },
+ "description": "This field indicates INPUT model"
+ },
+ "ErrorResponseVO_2": {
+ "type": "object",
+ "properties": {
+ "transactionId": {
+ "type": "string",
+ "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: bc95c0e4-b33e-42a2-80d2-334282b5d37a",
+ "example": "bc95c0e4-b33e-42a2-80d2-334282b5d37a"
+ },
+ "customerTransactionId": {
+ "type": "string",
+ "description": "It is the customerTransactionId sent as part of the request header,by the clients calling this endpoint.",
+ "example": "0e671149-016f-1000-941f-ef4dbabadd2e"
+ },
+ "errors": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CXSError_1"
+ }
+ }
+ },
+ "description": "Error information"
+ },
+ "ValidateInvoiceInputVO": {
+ "required": [
+ "invoiceDetail"
+ ],
+ "type": "object",
+ "properties": {
+ "invoiceDetail": {
+ "$ref": "#/components/schemas/InvoiceDetails"
+ },
+ "locale": {
+ "type": "string",
+ "description": "Indicates locale and will be used for locale if x-locale is missed from header.
Click here to see Locales",
+ "example": "en_US"
+ }
+ },
+ "description": "This field indicates Invoice Information ( Invoice number, Date, currency and amount) and locale."
+ },
+ "PinGenerationOutputVO": {
+ "required": [
+ "output",
+ "transactionId"
+ ],
+ "type": "object",
+ "properties": {
+ "transactionId": {
+ "type": "string",
+ "description": "This field contains unique transactionId for this API transaction",
+ "example": "2edc3fbc-4b39-4790-97eb-74c8849fb432"
+ },
+ "customerTransactionId": {
+ "type": "string",
+ "description": "It is the customerTransactionId sent as part of the request header,by the clients calling this endpoint.",
+ "example": "0e671149-016f-1000-941f-ef4dbabadd2e"
+ },
+ "output": {
+ "$ref": "#/components/schemas/PinGenerationOutputVO_output"
+ }
+ }
+ },
+ "IssuePinInputVO": {
+ "required": [
+ "option"
+ ],
+ "type": "object",
+ "properties": {
+ "locale": {
+ "type": "string",
+ "description": "Indicates the user locale.
click here to see locales",
+ "example": "en_US"
+ },
+ "option": {
+ "type": "string",
+ "description": "Indicates option selected by the user to send generated pin.",
+ "example": "SMS",
+ "enum": [
+ "SMS",
+ "CALL",
+ "EMAIL"
+ ]
+ }
+ },
+ "description": "This field indicates INPUT model"
+ },
+ "CustomerKeyOutputMfaOptionsVO": {
+ "type": "object",
+ "properties": {
+ "mfaOptions": {
+ "$ref": "#/components/schemas/MFAOptions"
+ },
+ "child_Key": {
+ "type": "string",
+ "description": "Child Key is a JSON Web Token provided for each of your customers. You must use the Child Key along with the Client Key, Client Secret and Customer Secret to get oAuth token, which should be used as credentials with each API transaction.",
+ "example": "e366a577-3708-47e5-9af8-98004a01c134"
+ },
+ "child_secret": {
+ "type": "string",
+ "description": "Child secret, also referred to as Customer Secret, is provided for each of your customers. You must use the Customer Secret along with the Client Key, Client Secret and Child Key to get the oAuth token, which should be used as credentials with each API transaction.",
+ "example": "*******"
+ }
+ },
+ "description": "This is the response object providing Customer Key and secret key as a output."
+ },
+ "MFAOptions": {
+ "type": "array",
+ "description": "It provide options to generate the secure pin or validate invoice ",
+ "items": {
+ "$ref": "#/components/schemas/MFAOptions_inner"
+ }
+ },
+ "Options": {
+ "type": "object",
+ "properties": {
+ "invoice": {
+ "type": "string",
+ "example": "INVOICE"
+ },
+ "secureCode": {
+ "type": "array",
+ "description": "Indicates option selected by the user to send generated pin.",
+ "example": [
+ "SMS",
+ "CALL",
+ "EMAIL"
+ ],
+ "items": {
+ "type": "string",
+ "enum": [
+ "SMS",
+ "CALL",
+ "EMAIL"
+ ]
+ }
+ }
+ }
+ },
+ "CXSError401": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Indicates the error code.
Example: NOT.AUTHORIZED.ERROR"
+ },
+ "parameterList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Parameter"
+ }
+ },
+ "message": {
+ "description": "Indicates the description of API error alert message.Example Access token expired. Please modify yourrequest and try again."
+ }
+ },
+ "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter"
+ },
+ "CXSError403": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Indicates the error code.
Example: FORBIDDEN.ERROR"
+ },
+ "parameterList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Parameter"
+ }
+ },
+ "message": {
+ "description": "Indicates the description of API error alert message.
Example: We\n could not authorize your credentials. Please check your permissions\n and try again"
+ }
+ },
+ "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter"
+ },
+ "CXSError404": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Indicates the error code.
Example: NOT.FOUND.ERROR"
+ },
+ "parameterList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Parameter"
+ }
+ },
+ "message": {
+ "description": "Indicates the description of API error alert message.
Example:\n The resource you requested is no longer available. Please modify\n your request and try again."
+ }
+ },
+ "description": "Indicates error alert when suspicious files, potential exploits and\n viruses found while scanning files , directories and user accounts. This\n includes code, message and parameter"
+ },
+ "CXSError500": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Indicates the error code.
Example: INTERNAL.SERVER.ERROR"
+ },
+ "parameterList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Parameter"
+ }
+ },
+ "message": {
+ "description": "Indicates the description of API error alertmessage.
Example: We\n encountered an unexpected error and are working to resolve the\n issue. We apologize for any inconvenience. Please check back at a\n later time."
+ }
+ },
+ "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter"
+ },
+ "InvoiceDetails": {
+ "required": [
+ "amount",
+ "currency",
+ "date",
+ "number"
+ ],
+ "type": "object",
+ "properties": {
+ "number": {
+ "type": "integer",
+ "description": "Used to validate invoice details .It accepts no decimal.",
+ "example": 293235673
+ },
+ "currency": {
+ "type": "string",
+ "description": "Used to validate Invoice details whether invoice is related to user or not.It accepts upto 4 digits currency.
Click here to see Currency Codes",
+ "example": "USD"
+ },
+ "date": {
+ "type": "string",
+ "description": "Used to validate Invoice details whether invoice is related to user or not. Date format is YYYY-MM-DD.",
+ "example": "2022-10-09"
+ },
+ "amount": {
+ "type": "number",
+ "description": "Used to validate Invoice details whether invoice is related to user or not. It accepts upto 2 digit of decimal.",
+ "example": 2323.22
+ }
+ },
+ "description": "This field indicates and Object holds Invoice Details."
+ },
+ "IssuePinOutputVO": {
+ "required": [
+ "output",
+ "transactionId"
+ ],
+ "type": "object",
+ "properties": {
+ "transactionId": {
+ "type": "string",
+ "description": "This field contains unique transactionId for this API transaction",
+ "example": "2edc3fbc-4b39-4790-97eb-74c8849fb432"
+ },
+ "customerTransactionId": {
+ "type": "string",
+ "description": "It is the customerTransactionId sent as part of the request header,by the clients calling this endpoint.",
+ "example": "0e671149-016f-1000-941f-ef4dbabadd2e"
+ },
+ "output": {
+ "$ref": "#/components/schemas/PinGenerationOutputVO_output"
+ }
+ }
+ },
+ "PinGenerationOutputVO_output": {
+ "required": [
+ "status"
+ ],
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Send the confirmation that pin has sent.",
+ "example": "sent secured Pin"
+ }
+ }
+ },
+ "MFAOptions_inner": {
+ "properties": {
+ "accountAuthToken": {
+ "type": "string",
+ "example": "eyJhbGciOiJIUzI1NiJ9.eyJUeXBlT2ZKV1QiOiJBZGRyZXNzVmFsaWRhdGVkIiwiQWNjb3VudE51bWJlciI6IjE3Mzk5NjE0NCIsIkRhdGVUaW1lIjoxODAwMDAwLCJleHAiOjE2NjcyMTk3MDF9.N6IscMuoewdxKvEIZh8023GFM_mRgoIU2kYQ0STxF7c"
+ },
+ "mfaRequired": {
+ "type": "boolean",
+ "example": true
+ },
+ "email": {
+ "type": "string",
+ "example": "PU***@S***.COM"
+ },
+ "phoneNumber": {
+ "type": "string",
+ "example": "***-***-4222"
+ },
+ "options": {
+ "$ref": "#/components/schemas/Options"
+ }
+ },
+ "example": "{\n[ {\n\"accountAuthToken\": \"eyJhbGciOiJIUzI1NiJ9.eyJUeXBlT2ZKV1QiOiJBZGRyZXNzVmFsaWRhdGVkIiwiQWNjb3VudE51bWJlciI6IjE3Mzk5NjE0NCIsIkRhdGVUaW1lIjoxODAwMDAwLCJleHAiOjE2NjcyMTk3MDF9.N6IscMuoewdxKvEIZh8023GFM_mRgoIU2kYQ0STxF7c\", \"mfaRequired\": true, \"email\": \"PU***@S***.COM\", \"phoneNumber\": \"***-***-4222\", \"options\": { \"invoice\": \"INVOICE\", \"secureCode\": [ \"SMS\" ] } } ] }"
+ }
+ },
+ "examples": {
+ "AccountNumberNotFoundExample": {
+ "value": {
+ "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037",
+ "errors": [
+ {
+ "code": "ACCOUNT.NUMBER.NOTFOUND",
+ "message": "Account Number not in database. Please check the number entered and try again. If you continue to have problems, please contact your local FedEx Customer Service representative (in U.S. and Canada, call 1-800-GO-FEDEX®).",
+ "parameterList": []
+ }
+ ]
+ }
+ },
+ "AddressDetailInvalidExample": {
+ "value": {
+ "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037",
+ "errors": [
+ {
+ "code": "ADDRESS.DETAIL.INVALID",
+ "message": "The City, State/Province and ZIP/Postal code combination that you entered is not valid.",
+ "parameterList": []
+ }
+ ]
+ }
+ },
+ "AddressValidationUnknownExample": {
+ "value": {
+ "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037",
+ "errors": [
+ {
+ "code": "ADDRESS.VALIDATION.UNKNOWN.ERROR",
+ "message": "We are unable to process this request. Please try again later or contact FedEx Customer Service.",
+ "parameterList": []
+ }
+ ]
+ }
+ },
+ "UserAccountNotFoundExample": {
+ "value": {
+ "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037",
+ "errors": [
+ {
+ "code": "USER.ACCOUNT.NOTFOUND",
+ "message": "Account Not Found in Database.",
+ "parameterList": []
+ }
+ ]
+ }
+ },
+ "AccountValidationErrorExample": {
+ "value": {
+ "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037",
+ "errors": [
+ {
+ "code": "ACCOUNTVALIDATION.UNKNOWN.ERROR",
+ "message": "We are unable to process this request. Please try again later or contact FedEx Customer Service.",
+ "parameterList": []
+ }
+ ]
+ }
+ },
+ "AccountNumberRequiredExample": {
+ "value": {
+ "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037",
+ "errors": [
+ {
+ "code": "ACCOUNT.NUMBER.REQUIRED",
+ "message": "Account number is required.",
+ "parameterList": []
+ }
+ ]
+ }
+ },
+ "ChildKeyNameUniquenessExample": {
+ "value": {
+ "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037",
+ "errors": [
+ {
+ "code": "CHILDKEYNAME.UNIQUENESS.ERROR",
+ "message": "Child key name already exists. Enter a different child key name.",
+ "parameterList": []
+ }
+ ]
+ }
+ },
+ "CustomerNameRequiredExample": {
+ "value": {
+ "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037",
+ "errors": [
+ {
+ "code": "CUSTOMER.NAME.REQUIRED",
+ "message": "Customer name is required.",
+ "parameterList": []
+ }
+ ]
+ }
+ },
+ "SessionExpiredExample": {
+ "value": {
+ "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037",
+ "errors": [
+ {
+ "code": "SESSION.EXPIRED.ERROR",
+ "message": "Your session is expired. Please enter your user ID and password to log in again.",
+ "parameterList": []
+ }
+ ]
+ }
+ },
+ "UnauthorizedAccessExample": {
+ "value": {
+ "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037",
+ "errors": [
+ {
+ "code": "UNAUTHORIZED.ACCESS.ERROR",
+ "message": "We are unable to process this request. Please try again later or contact FedEx Customer Service.",
+ "parameterList": []
+ }
+ ]
+ }
+ },
+ "PinOptionInvalidExpiredExample": {
+ "value": {
+ "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037",
+ "errors": [
+ {
+ "code": "PIN.OPTION.INVALIDEXPIRED",
+ "message": "Pin is invalid or expired..",
+ "parameterList": []
+ }
+ ]
+ }
+ },
+ "PinSecurecodeReqErrorExample": {
+ "value": {
+ "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037",
+ "errors": [
+ {
+ "code": "PIN.PINSECURECODE.REQUIRED",
+ "message": "We are unable to process this request. Please try again later.",
+ "parameterList": []
+ }
+ ]
+ }
+ },
+ "PinErrorExample": {
+ "value": {
+ "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037",
+ "errors": [
+ {
+ "code": "PIN.UNKNOWN.ERROR",
+ "message": "We are unable to process this request. Please try again later.",
+ "parameterList": []
+ }
+ ]
+ }
+ },
+ "ChildKeyUniqenessExample": {
+ "value": {
+ "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037",
+ "errors": [
+ {
+ "code": "CHILDKEYNAME.UNIQUENESS.ERROR",
+ "message": "Child key name already exists. Enter a different child key name.",
+ "parameterList": []
+ }
+ ]
+ }
+ },
+ "InvoiceNumberRequiredExample": {
+ "value": {
+ "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037",
+ "errors": [
+ {
+ "code": "INVOICEDETAILS.NUMBER.REQUIRED",
+ "message": "Please provide invoice number.",
+ "parameterList": []
+ }
+ ]
+ }
+ },
+ "InvoiceUnknownExample": {
+ "value": {
+ "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037",
+ "errors": [
+ {
+ "code": "INVOICE.UNKNOWN.ERROR",
+ "message": "We are unable to process this request. Please try again later or contact FedEx Customer Service.",
+ "parameterList": []
+ }
+ ]
+ }
+ },
+ "InvoiceDetailsRequiredExample": {
+ "value": {
+ "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037",
+ "errors": [
+ {
+ "code": "INVOICE.DETAILS.REQUIRED",
+ "message": "Invoice details are required.",
+ "parameterList": []
+ }
+ ]
+ }
+ },
+ "ChildKeyNameUniqunessExample": {
+ "value": {
+ "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037",
+ "customerTransactionId": "0e671149-016f-1000-941f-ef4dbabadd2e",
+ "errors": [
+ {
+ "code": "CHILDKEYNAME.UNIQUENESS.ERROR",
+ "message": "Child key name already exists. Enter a different child key name.",
+ "parameterList": []
+ }
+ ]
+ }
+ },
+ "PinoptionReqErrorExample": {
+ "value": {
+ "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037",
+ "customerTransactionId": "0e671149-016f-1000-941f-ef4dbabadd2e",
+ "errors": [
+ {
+ "code": "PIN.OPTION.REQUIRED",
+ "message": "Please provide option."
+ }
+ ]
+ }
+ },
+ "PinIssueFailedErrorExample": {
+ "value": {
+ "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037",
+ "customerTransactionId": "0e671149-016f-1000-941f-ef4dbabadd2e",
+ "errors": [
+ {
+ "code": "ISSUE.PIN.FAILED",
+ "message": "We are unable to process this request. Please try again later."
+ }
+ ]
+ }
+ },
+ "EmailNotRegisteredErrorExample": {
+ "value": {
+ "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037",
+ "customerTransactionId": "0e671149-016f-1000-941f-ef4dbabadd2e",
+ "errors": [
+ {
+ "code": "EMAIL.NOT.REGISTERED",
+ "message": "We are unable to process this request. Please try again later."
+ }
+ ]
+ }
+ },
+ "PhonenumberNotRegExample": {
+ "value": {
+ "transactionId": "40cf558f-f16f-4283-86c1-c669ff7d3037",
+ "customerTransactionId": "0e671149-016f-1000-941f-ef4dbabadd2e",
+ "errors": [
+ {
+ "code": "PHONENUMBER.NOT.REGISTERED",
+ "message": "We are unable to process this request. Please try again later."
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/resources/models/.raw/address-validation/v1/Addresses-Resource.json b/resources/models/.raw/address-validation/v1/Addresses-Resource.json
index 2b839c5b..dbeec9bc 100644
--- a/resources/models/.raw/address-validation/v1/Addresses-Resource.json
+++ b/resources/models/.raw/address-validation/v1/Addresses-Resource.json
@@ -13,7 +13,7 @@
"/address/v1/addresses/resolve": {
"post": {
"summary": "Validate Address",
- "description": "Use this endpoint to get address resolution details. These details are the outcome of validation andddd resolution of the input address. An address is stated assss resolved when the input address matches the known reference data...
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.",
+ "description": "Use this endpointtt to get address resolution details. These details areee the outcome of validation and resolution of the input address. An address is stated as resolved when the input address matches the known reference data.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.",
"operationId": "Validate Address",
"requestBody": {
"content": {
diff --git a/resources/models/.raw/authorization/v1/APIAuthorization-Resource.json b/resources/models/.raw/authorization/v1/APIAuthorization-Resource.json
index 46aaf55a..8c867590 100644
--- a/resources/models/.raw/authorization/v1/APIAuthorization-Resource.json
+++ b/resources/models/.raw/authorization/v1/APIAuthorization-Resource.json
@@ -180,7 +180,7 @@
"properties": {
"grant_type": {
"type": "string",
- "description": "Specify Type of customer requesting the Oauth token.
Valid Values: client_credentials, csp_credentials, client_pc_credentials
Note:
client_credentials - should be used for customers and brand new Compatible Provider customers who are yet to unboard child accounts.
csp_credentials - should be used for Compatible Provider customers with existing child accounts.
client_pc_credentials \u2013 should be used for Proprietary Parent Child customers."
+ "description": "Specify Type of customer requesting the Oauth token.
Valid Values: client_credentials, csp_credentials, client_pc_credentials
Note:
client_credentials - should be used for customers, Integrators, and brand new Compatible Provider customers who are yet to unboard child accounts.
csp_credentials - should be used for Integrators, and Compatible Provider customers with existing child accounts.
client_pc_credentials \u2013 should be used for Proprietary Parent Child customers."
},
"client_id": {
"type": "string",
@@ -192,11 +192,11 @@
},
"child_Key": {
"type": "string",
- "description": "Specify the Client ID also known as Customer Key. This element is used as a login credential for a Compatible customer or a Proprietary Parent Child customer to access the application on behalf of their customer.
Example: XXXX-XXX-XXXX-XXX
Note: This element should be used by Compatible and Proprietary Parent Child customers."
+ "description": "Specify the Client ID also known as Customer Key. This element is used as a login credential for an Integrator customer, Compatible customer or a Proprietary Parent Child customer to access the application on behalf of their customer.
Example: XXXX-XXX-XXXX-XXX
Note: This element should be used by Integrator, Compatible and Proprietary Parent Child customers."
},
"child_secret": {
"type": "string",
- "description": "Specify the Client secret also known as Customer Secret. This element is used as a login credential for a Compatible customer or a Proprietary Parent Child customer to access the application on behalf of their customer.
Example: XXXX-XXX-XXXX-XXX
Note: This element should be used by Compatible and Proprietary Parent Child customers."
+ "description": "Specify the Client secret also known as Customer Secret. This element is used as a login credential for an Integrator customer, Compatible customer or a Proprietary Parent Child customer to access the application on behalf of their customer.
Example: XXXX-XXX-XXXX-XXX
Note: This element should be used by Integrator, Compatible and Proprietary Parent Child customers."
}
},
"description": "The request elements for OAuth API."
diff --git a/resources/models/.raw/consolidation/v1/ShipConsolidation-Resource.json b/resources/models/.raw/consolidation/v1/ShipConsolidation-Resource.json
index 38e064e8..254596cf 100644
--- a/resources/models/.raw/consolidation/v1/ShipConsolidation-Resource.json
+++ b/resources/models/.raw/consolidation/v1/ShipConsolidation-Resource.json
@@ -2506,7 +2506,7 @@
},
"resolution": {
"type": "integer",
- "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.",
+ "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.Note: 300 DPI resolution is only allowed for ZPLII image type.",
"example": 300
}
},
@@ -3769,8 +3769,7 @@
"example": "DEPARTMENT_OF_COMMERCE",
"enum": [
"DEPARTMENT_OF_COMMERCE",
- "DEPARTMENT_OF_STATE",
- "DEPARTMENT_OF_COMMERCE_AND_DEPARTMENT_OF_STATE"
+ "DEPARTMENT_OF_STATE"
]
},
"destinationCountries": {
@@ -5033,7 +5032,7 @@
},
"countryCode": {
"type": "string",
- "description": "The two-letter code used to identify a country. Max length is 2.
Click here to see Country Codes",
+ "description": "The two-letter code used to identify a country. Max length is 2.
click here to see Country Codes",
"example": "US"
},
"residential": {
@@ -5176,6 +5175,11 @@
"$ref": "#/components/schemas/ShippingDocumentDispositionDetail_1"
}
},
+ "resolution": {
+ "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203. 300 DPI is only allowed for imageType is ZPLII.",
+ "example": 300,
+ "type": "integer"
+ },
"labelPrintingOrientation": {
"type": "string",
"description": "This is applicable only to documents produced on thermal printers with roll stock.",
@@ -5443,7 +5447,7 @@
"$ref": "#/components/schemas/Dimensions"
},
"totalInsuredValue": {
- "$ref": "#/components/schemas/TotalInsuredMoney"
+ "$ref": "#/components/schemas/TotalInsuredMoney_1"
},
"unitSystem": {
"type": "string",
@@ -5465,6 +5469,26 @@
},
"description": "Specifies the international distribution detail."
},
+ "TotalInsuredMoney_1": {
+ "required": [
+ "currency"
+ ],
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "number",
+ "description": "This is commodity value in amount used for Customs declaration.
Max limit: 7 digits before decimal.",
+ "format": "double",
+ "example": 12.45
+ },
+ "currency": {
+ "type": "string",
+ "description": "This is the currency of the commodity value used for Customs declaration.
click here to see Currency Codes",
+ "example": "USD"
+ }
+ },
+ "description": "This is commodity value used for Customs declaration."
+ },
"Money_1_1": {
"required": [
"value"
@@ -5492,7 +5516,7 @@
"type": "object",
"properties": {
"specialServicesRequested": {
- "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested"
+ "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested"
},
"routing": {
"type": "string",
@@ -5541,7 +5565,7 @@
]
},
"totalCustomsValue": {
- "$ref": "#/components/schemas/Money"
+ "$ref": "#/components/schemas/Money_2"
},
"regulatoryControls": {
"type": "array",
@@ -5561,7 +5585,7 @@
"description": "Amount paid to a third party for the purpose of insuring this shipment against damage or loss. Used to calculate estimated duties and taxes",
"allOf": [
{
- "$ref": "#/components/schemas/Money"
+ "$ref": "#/components/schemas/Money_2"
}
]
},
@@ -5710,6 +5734,106 @@
},
"description": "Attributes for a Party to a transaction including the physical address, contact information, and account number information."
},
+ "Money_2": {
+ "required": [
+ "currency"
+ ],
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "number",
+ "description": "This is commodity value in amount used for Customs declaration.
Max limit: 7 digits before decimal.",
+ "format": "double",
+ "example": 12.45
+ },
+ "currency": {
+ "type": "string",
+ "description": "This is the currency of the commodity value used for Customs declaration.
click here to see Currency Codes",
+ "example": "USD"
+ }
+ },
+ "description": "This is commodity value used for Customs declaration."
+ },
+ "FreightChargeMoney_1": {
+ "required": [
+ "currency"
+ ],
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "number",
+ "description": "This is commodity value in amount used for Customs declaration.
Max limit: 7 digits before decimal.",
+ "format": "double",
+ "example": 12.45
+ },
+ "currency": {
+ "type": "string",
+ "description": "This is the currency of the commodity value used for Customs declaration.click here to see Currency Codes",
+ "example": "USD"
+ }
+ },
+ "description": "Any freight charges that are associated with this shipment."
+ },
+ "TaxesOrMiscellaneousCharges_1": {
+ "required": [
+ "currency"
+ ],
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "number",
+ "description": "This is commodity value in amount used for Customs declaration.
Max limit: 7 digits before decimal.",
+ "format": "double",
+ "example": 12.45
+ },
+ "currency": {
+ "type": "string",
+ "description": "This is the currency of the commodity value used for Customs declaration.click here to see Currency Codes",
+ "example": "USD"
+ }
+ },
+ "description": "Any taxes or miscellaneous charges other than Freight charges or Insurance charges, that are associated with this shipment."
+ },
+ "PackingCostCharges_1": {
+ "required": [
+ "currency"
+ ],
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "number",
+ "description": "This is commodity value in amount used for Customs declaration.
Max limit: 7 digits before decimal.",
+ "format": "double",
+ "example": 12.45
+ },
+ "currency": {
+ "type": "string",
+ "description": "This is the currency of the commodity value used for Customs declaration.click here to see Currency Codes",
+ "example": "USD"
+ }
+ },
+ "description": "Any packing costs that are associated with this shipment."
+ },
+ "HandlingCostCharges_1": {
+ "required": [
+ "currency"
+ ],
+ "type": "object",
+ "properties": {
+ "amount": {
+ "type": "number",
+ "description": "This is commodity value in amount used for Customs declaration.
Max limit: 7 digits before decimal.",
+ "format": "double",
+ "example": 12.45
+ },
+ "currency": {
+ "type": "string",
+ "description": "This is the currency of the commodity value used for Customs declaration.
click here to see Currency Codes",
+ "example": "USD"
+ }
+ },
+ "description": " Any handling costs that are associated with this shipment."
+ },
"ExportDetail_1": {
"required": [
"b13AFilingOption",
@@ -5824,10 +5948,10 @@
"example": "EA"
},
"unitPrice": {
- "$ref": "#/components/schemas/Money"
+ "$ref": "#/components/schemas/Money_2"
},
"customsValue": {
- "$ref": "#/components/schemas/Money"
+ "$ref": "#/components/schemas/Money_2"
},
"commodityId": {
"type": "string",
@@ -12402,6 +12526,239 @@
}
}
},
+ "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_responsibleParty_address": {
+ "type": "object",
+ "properties": {
+ "streetLines": {
+ "type": "array",
+ "description": "This is a combination of number, street name, etc.
Note: At least one line is required and streetlines more than 3 will be ignored. Empty lines should not be included.",
+ "example": "[10 FedEx Parkway, Suite 302]",
+ "items": {
+ "type": "string"
+ }
+ },
+ "city": {
+ "type": "string",
+ "description": "This is a placeholder for City Name.
Note: This is conditional and not required in all the shipping requests. It is recommended for Express shipments for the most accurate ODA and OPA surcharges and not used for Ground/SmartPost.",
+ "example": "Beverly Hills"
+ },
+ "stateOrProvinceCode": {
+ "type": "string",
+ "description": "This is a placeholder for State or Province code.
Note: This is conditional and not required in all the shipping requests. It is recommended for Express shipments for the most accurate ODA and OPA surcharges and not used for Ground/SmartPost.",
+ "example": "CA"
+ },
+ "postalCode": {
+ "type": "string",
+ "description": "This is placeholder for postal code.
Note: The postal code is required for postal-aware countries.",
+ "example": "38127"
+ },
+ "countryCode": {
+ "type": "string",
+ "description": "This is the Two-letter country code. click here to see Country Codes",
+ "example": "US"
+ },
+ "residential": {
+ "type": "boolean",
+ "description": "Indicate whether this address is Residential as opposed to Commercial.
Valid Values: True or False.",
+ "example": true,
+ "enum": [
+ true,
+ false
+ ]
+ },
+ "urbanizationCode": {
+ "type": "string",
+ "description": "Relevant only to addresses in Puerto Rico.",
+ "example": "CO"
+ },
+ "countryName": {
+ "type": "string",
+ "description": "The fully spelt out name of a country.",
+ "example": "Canada"
+ },
+ "geographicCoordinates": {
+ "type": "string",
+ "description": "The geographic coordinates cooresponding to this address.",
+ "example": "+40.75-074.00"
+ },
+ "classification": {
+ "type": "string",
+ "description": "Specifies that FedEx courier has confirmed that the address is a confirmed business location.",
+ "example": "BUSINESS",
+ "enum": [
+ "BUSINESS",
+ "MIXED",
+ "RESIDENTIAL",
+ "UNCONFIRMED_BUSINESS",
+ "UNCONFIRMED_RESIDENCE",
+ "UNKOWN"
+ ]
+ }
+ },
+ "description": "Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of \"address parts\" which should be handled as a unit (such as a city-state-ZIP combination within the US)."
+ },
+ "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_responsibleParty": {
+ "type": "object",
+ "properties": {
+ "accountNumber": {
+ "type": "string",
+ "description": "Account number of the payor",
+ "example": "123456789"
+ },
+ "tins": {
+ "type": "array",
+ "description": "Used for adding the tax id",
+ "items": {
+ "$ref": "#/components/schemas/Tins"
+ }
+ },
+ "contact": {
+ "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_responsibleParty_contact"
+ },
+ "address": {
+ "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_responsibleParty_address"
+ }
+ },
+ "description": "The descriptive information for the person who is responsible for the shipment."
+ },
+ "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor": {
+ "type": "object",
+ "properties": {
+ "responsibleParty": {
+ "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_responsibleParty"
+ },
+ "associatedAccounts": {
+ "type": "array",
+ "description": "Other associated accounts",
+ "items": {
+ "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_associatedAccounts"
+ }
+ }
+ },
+ "description": "Information about the person who is paying for the shipment.
Payor is mandatory when the paymentType is RECIPIENT, THIRD_PARTY or COLLECT."
+ },
+ "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_creditCard_creditCardHolder": {
+ "type": "object",
+ "properties": {
+ "contact": {
+ "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested_transborderDistributionLtlDetail_payment_creditCard_creditCardHolder_contact"
+ },
+ "address": {
+ "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor_responsibleParty_address"
+ }
+ },
+ "description": "Credit card holder's information"
+ },
+ "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_creditCard": {
+ "type": "object",
+ "properties": {
+ "number": {
+ "type": "string",
+ "description": "Credit card number",
+ "example": "1111222233334444"
+ },
+ "creditCardType": {
+ "type": "string",
+ "description": "Credit card used for payment",
+ "example": "DISCOVER",
+ "enum": [
+ "AMEX",
+ "DANKORT",
+ "DINERS",
+ "DISCOVER",
+ "JCB",
+ "MASTERCARD",
+ "VISA"
+ ]
+ },
+ "expirationDate": {
+ "type": "string",
+ "description": "Credit card expiration date",
+ "example": "2022-23-01"
+ },
+ "lastAuthenticationByFedexDate": {
+ "type": "string",
+ "description": "Use date format (MM-dd-yyyy). It is the last time the user has updated their credit card information",
+ "example": "12-05-2001"
+ },
+ "verificationCode": {
+ "type": "string",
+ "description": "Verification code",
+ "example": "123"
+ },
+ "creditCardHolder": {
+ "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_creditCard_creditCardHolder"
+ }
+ },
+ "description": "Credit card details"
+ },
+ "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment": {
+ "type": "object",
+ "properties": {
+ "paymentType": {
+ "type": "string",
+ "description": "Payment type for LTL transportation",
+ "example": "CREDIT_CARD",
+ "enum": [
+ "ACCOUNT",
+ "CASH",
+ "COLLECT",
+ "CREDIT_CARD",
+ "EPAYMENT",
+ "RECIPIENT",
+ "SENDER",
+ "THIRD_PARTY"
+ ]
+ },
+ "payor": {
+ "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_payor"
+ },
+ "ePaymentDetail": {
+ "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested_transborderDistributionLtlDetail_payment_ePaymentDetail"
+ },
+ "creditCard": {
+ "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment_creditCard"
+ },
+ "creditCardTransactionDetail": {
+ "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested_transborderDistributionLtlDetail_payment_creditCardTransactionDetail"
+ },
+ "amount": {
+ "$ref": "#/components/schemas/TransborderDistributionDetail_specialServicesRequested_transborderDistributionLtlDetail_payment_amount"
+ }
+ },
+ "description": "Payment for LTL transportation"
+ },
+ "TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail": {
+ "type": "object",
+ "properties": {
+ "payment": {
+ "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail_payment"
+ },
+ "ltlScacCode": {
+ "type": "string",
+ "description": "Standard Carrier Alpha Code for origin-country LTL services.",
+ "example": "SAIA"
+ }
+ },
+ "description": "Specifies details for the origin-country LTL services performed by FedEx."
+ },
+ "TransborderDistributionDetail_1_specialServicesRequested": {
+ "type": "object",
+ "properties": {
+ "specialServiceTypes": {
+ "type": "string",
+ "description": "Identifies features of service requested for the current Transborder Distribution. shipment.",
+ "example": "FEDEX_LTL",
+ "enum": [
+ "FEDEX_LTL"
+ ]
+ },
+ "transborderDistributionLtlDetail": {
+ "$ref": "#/components/schemas/TransborderDistributionDetail_1_specialServicesRequested_transborderDistributionLtlDetail"
+ }
+ },
+ "description": "Specifies special services to be performed on this shipment as part of a transborder distribution."
+ },
"CustomsClearanceDetail_1_commercialInvoice": {
"type": "object",
"properties": {
@@ -12430,10 +12787,10 @@
]
},
"freightCharge": {
- "$ref": "#/components/schemas/FreightChargeMoney"
+ "$ref": "#/components/schemas/FreightChargeMoney_1"
},
"taxesOrMiscellaneousCharge": {
- "$ref": "#/components/schemas/TaxesOrMiscellaneousCharges"
+ "$ref": "#/components/schemas/TaxesOrMiscellaneousCharges_1"
},
"taxesOrMiscellaneousChargeType": {
"type": "string",
@@ -12449,10 +12806,10 @@
]
},
"packingCosts": {
- "$ref": "#/components/schemas/PackingCostCharges"
+ "$ref": "#/components/schemas/PackingCostCharges_1"
},
"handlingCosts": {
- "$ref": "#/components/schemas/HandlingCostCharges"
+ "$ref": "#/components/schemas/HandlingCostCharges_1"
},
"specialInstructions": {
"type": "string",
diff --git a/resources/models/.raw/freight-ltl/v1/LTLFreight-Resource.json b/resources/models/.raw/freight-ltl/v1/LTLFreight-Resource.json
index b4dccf08..d3a50eab 100644
--- a/resources/models/.raw/freight-ltl/v1/LTLFreight-Resource.json
+++ b/resources/models/.raw/freight-ltl/v1/LTLFreight-Resource.json
@@ -13,7 +13,7 @@
"/rate/v1/freight/rates/quotes": {
"post": {
"summary": "Rate Freight LTL",
- "description": "This endpoint provides the ability to retrieve rate quotes and optionall transit information. The rate is calculated based on the origin and destination of the shipment. Additional information such as carrier code, service type, or service option can be used to filter the results. Applicable operating company is FedEx Freight.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.",
+ "description": "This endpoint providess the ability to retrieve rate quotes and optionall transitt informationnnn. The rate is calculated based on the origin and destination of the shipment. Additional information such as carrier code, service type, or service option can be used to filter the results. Applicable operating company is FedEx Freight.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.",
"operationId": "Freight RateQuote",
"requestBody": {
"content": {
@@ -1568,7 +1568,7 @@
"description": "Indicate the total weight of the requested package line items.",
"allOf": [
{
- "$ref": "#/components/schemas/Weight"
+ "$ref": "#/components/schemas/Weight_With_Link"
}
]
},
@@ -1957,7 +1957,7 @@
"description": "Customer-provided description of this line item."
},
"weight": {
- "$ref": "#/components/schemas/Weight"
+ "$ref": "#/components/schemas/Weight_Without_Link"
},
"pieces": {
"type": "integer",
@@ -5853,7 +5853,7 @@
"example": "description"
},
"weight": {
- "$ref": "#/components/schemas/Weight_2"
+ "$ref": "#/components/schemas/Weight_Without_Link"
},
"pieces": {
"type": "integer",
@@ -5984,6 +5984,56 @@
"value": 68
}
},
+ "Weight_With_Link": {
+ "description": "These are the package weight details.",
+ "type": "object",
+ "required": [
+ "units",
+ "value"
+ ],
+ "properties": {
+ "units": {
+ "description": "Specifies the package weight unit type.
Example:KG",
+ "type": "string",
+ "enum": [
+ "KG",
+ "LB"
+ ],
+ "example": "KG"
+ },
+ "value": {
+ "format": "double",
+ "description": "Weight Value.
Example: 68.25
Click here to see Weight Values",
+ "type": "number",
+ "example": 68.25
+ }
+ }
+ },
+ "Weight_Without_Link": {
+ "description": "These are the package weight details.",
+ "type": "object",
+ "required": [
+ "units",
+ "value"
+ ],
+ "properties": {
+ "units": {
+ "description": "Specifies the package weight unit type.
Example:KG",
+ "type": "string",
+ "enum": [
+ "KG",
+ "LB"
+ ],
+ "example": "KG"
+ },
+ "value": {
+ "format": "double",
+ "description": "Weight Value.
Example: 68.25",
+ "type": "number",
+ "example": 68.25
+ }
+ }
+ },
"LineItemsDimensions": {
"description": "Indicate the dimensions of the package.
Following conditions will apply:
Note: The maximum/minimum dimension values varies based on the services and the packaging types. Refer FedEx Service Guide for service details related to DIM Weighting for FedEx Express and oversize conditions for FedEx Express and FedEx Ground.",
"type": "object",
@@ -6960,7 +7010,7 @@
"example": "non-threaded rivets"
},
"weight": {
- "$ref": "#/components/schemas/Weight_2"
+ "$ref": "#/components/schemas/Weight_Without_Link"
},
"exportLicenseNumber": {
"type": "string",
@@ -7274,7 +7324,7 @@
},
"resolution": {
"type": "integer",
- "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.",
+ "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.Note: 300 DPI resolution is only allowed for ZPLII image type.",
"example": 300
}
},
@@ -8124,7 +8174,7 @@
"$ref": "#/components/schemas/Money_2"
},
"weight": {
- "$ref": "#/components/schemas/Weight_2"
+ "$ref": "#/components/schemas/Weight_With_Link"
},
"dimensions": {
"description": "Required.
The dimensions of the package; length, width & height. All three dimensions must be indicated. Dimensions are required with all FedEx Freight Services like \"INTERNATIONAL_PRIORITY_FREIGHT\" and \"INTERNATIONAL_ECONOMY_FREIGHT\"",
@@ -12452,7 +12502,7 @@
"example": 4
},
"weight": {
- "$ref": "#/components/schemas/Weight_2"
+ "$ref": "#/components/schemas/Weight_Without_Link"
},
"dimensions": {
"$ref": "#/components/schemas/LineItemsDimensions"
diff --git a/resources/models/.raw/locations-search/v1/Locations-Resource.json b/resources/models/.raw/locations-search/v1/Locations-Resource.json
index cc0a0ba7..a9c9269c 100644
--- a/resources/models/.raw/locations-search/v1/Locations-Resource.json
+++ b/resources/models/.raw/locations-search/v1/Locations-Resource.json
@@ -556,17 +556,17 @@
},
"countryCode": {
"type": "string",
- "description": "This is the Two-letter country code.
Example: US
Click here to see Country Codes",
+ "description": "The ISO Alpha2, Alpha3, Numeric3 code for the country or name (5 character max) for the country.
Example: US",
"example": "US"
},
"residential": {
"type": "boolean",
- "description": "Indicate whether this address is Residential as opposed to Commercial.
Valid Values: True or False.",
+ "description": "Indicates whether the address returned is residential as opposed to commercial.
Valid values: True, False.",
"example": false
},
"addressVerificationId": {
"type": "string",
- "description": "This is the address verification identifier.
Example: MARKET_LAUNCH",
+ "description": "Address verification Identifier",
"example": "MARKET_LAUNCH"
},
"addressClassification": {
@@ -577,7 +577,8 @@
"UNKNOWN",
"BUSINESS",
"RESIDENTIAL"
- ]
+ ],
+ "example": "MIXED"
},
"addressClassificationConfidence": {
"type": "string",
@@ -585,10 +586,11 @@
"enum": [
"POTENTIAL",
"PERMANENT"
- ]
+ ],
+ "example": "PERMANENT"
}
},
- "description": "Descriptive data for a physical location. May be used as an actual physical address (place to which one could go), or as a container of \\\"address parts\\\" which should be handled as a unit (such as a city-state-ZIP combination within the US).",
+ "description": "Specifies the Address Details for a location.",
"example": {
"streetLines": [
"10 FedEx Parkway",
@@ -606,11 +608,13 @@
"properties": {
"latitude": {
"type": "string",
- "description": "The geo coordinate value that specifies the north-south position of the address.
Example: 36.1699\u00b0 N"
+ "description": "The geo coordinate value that specifies the north-south position of the address.
Example: 36.1699\u00b0 N",
+ "example": "5.637376"
},
"longitude": {
"type": "string",
- "description": "The geo coordinate value that specifies the East-West position of the address.
Example:115.1398\u00b0 W"
+ "description": "The geo coordinate value that specifies the East-West position of the address.
Example:115.1398\u00b0 W",
+ "example": "3.61607"
}
},
"description": "The ISO6709 geographic coordinates for a specific geographic location, specifically latitude and longitude.",
@@ -696,7 +700,7 @@
"serviceCategory": {
"type": "string",
"description": "The service category applicable for the capability.",
- "example": "EXPRESS_PARCEL ",
+ "example": "EXPRESS_PARCEL",
"enum": [
"EXPRESS_FREIGHT",
"EXPRESS_PARCEL",
@@ -706,7 +710,10 @@
"daysOfWeek": {
"type": "array",
"description": "The days of the week for which this capability applies.
Valid values:
",
- "example": "[MON, TUE ]",
+ "example": [
+ "MON",
+ "TUE"
+ ],
"items": {
"type": "string"
}
@@ -717,7 +724,7 @@
"carrierCode": "FDXE",
"serviceType": "PRIORITY_OVERNIGHT",
"transferOfPossessionType": "DROPOFF",
- "serviceCategory": "EXPRESS_PARCEL",
+ "serviceCategory": "EXPRESS_FREIGHT",
"daysOfWeek": [
"MON",
"TUE"
@@ -1276,19 +1283,17 @@
"latitude": {
"type": "number",
"description": "The geo coordinate value that specifies the north-south position of the address.
Example: 36.1699\u00b0 N",
- "format": "double"
+ "format": "double",
+ "example": 5.637376
},
"longitude": {
"type": "number",
"description": "The geo coordinate value that specifies the East-West position of the address.
Example: 115.1398\u00b0 W",
- "format": "double"
+ "format": "double",
+ "example": 3.616076
}
},
- "description": "The ISO6709GeographicCoordinates for a specific geographic location",
- "example": {
- "latitude": 5.637376,
- "longitude": 3.616076
- }
+ "description": "The ISO6709GeographicCoordinates for a specific geographic location"
},
"LocationDetail": {
"type": "object",
@@ -1347,6 +1352,9 @@
"locationAttributeTypes": {
"type": "array",
"description": "Attributes for the location.",
+ "example": [
+ "ALREADY_OPEN"
+ ],
"items": {
"type": "string",
"enum": [
@@ -1433,17 +1441,19 @@
"displayName": "John Taylor",
"contact": {
"personName": "John Taylor",
- "emailAddress": "sample@company.com",
- "phoneNumber": "9013575012",
- "phoneExtension": 5000,
+ "emailAddress": "xxxxlor@fedex.com",
+ "phoneNumber": "xxxxxxxx12",
+ "phoneExtension": "91",
"companyName": "Fedex",
"faxNumber": "fax number",
+ "displayName": "jhon",
"stateTaxId": "state tax identifier",
"fedralTaxId": "federal tax identifier"
},
"addressAncillaryDetail": {
"locationInCity": "Mill Heights",
"suite": "suite",
+ "displayName": "jhon",
"adderssVerificationOverrideReason": "MANUAL_OVERRIDE",
"locationInProperty": "back building north",
"addtionalDescriptions": "thru south guard gate",
@@ -1500,6 +1510,10 @@
"latestDropoffDetails": [
{
"dayOfWeek": "MONDAY",
+ "operationalOverlay": {
+ "time": "time",
+ "type": "WEST_COAST"
+ },
"exceptionalTime": "08:30:00",
"exceptionalOverlay": {
"time": "09:00:00",
@@ -1508,22 +1522,28 @@
"operationTime": "08:30:00"
}
],
- "serviceCategory": "EXPRESS_PARCEL"
+ "serviceCategory": "EXPRESS_FREIGHT"
},
{
"serviceType": "STANDARD_OVERNIGHT",
"countryRelationshipType": "DOMESTIC",
"carrierCodeType": "FDXE",
- "latestDropoffDetails": {
- "dayOfWeek": "TUESDAY",
- "exceptionalTime": "07:00:00",
- "exceptionalOverlay": {
- "time": "02:00:00",
- "type": "WEST_COAST"
- },
- "operationTime": "06:00:00"
- },
- "serviceCategory": "EXPRESS_PARCEL"
+ "latestDropoffDetails": [
+ {
+ "dayOfWeek": "TUESDAY",
+ "operationalOverlay": {
+ "time": "09:00:00",
+ "type": "WEST_COAST"
+ },
+ "exceptionalTime": "07:00:00",
+ "exceptionalOverlay": {
+ "time": "02:00:00",
+ "type": "WEST_COAST"
+ },
+ "operationTime": "06:00:00"
+ }
+ ],
+ "serviceCategory": "EXPRESS_FREIGHT"
}
],
"geoPositionalCoordinates": {
@@ -1562,7 +1582,7 @@
"THURSDAY",
"FRIDAY"
],
- "serviceCategory": "GROUND"
+ "serviceCategory": "GROUND_HOME_DELIVERY"
},
{
"serviceType": "FEDEX_GROUND",
@@ -1667,7 +1687,7 @@
"personName": "John Taylor",
"emailAddress": "sample@company.com",
"phoneNumber": "1234567890",
- "phoneExtension": 1234,
+ "phoneExtension": "1234",
"faxNumber": "1234567890",
"companyName": "Fedex",
"stateTaxId": "11-N-1745",
@@ -1846,7 +1866,8 @@
"SMARTPOST",
"EXPRESS_PARCEL",
"NULL"
- ]
+ ],
+ "example": "EXPRESS_PARCEL"
}
},
"description": "This is a subset of the transportation carrier's products or services which may have unique characteristics at the location i.e. latest drop-off times for FDXE vs FDXG.",
diff --git a/resources/models/.raw/open-ship/v1/OpenShipment-Resource.json b/resources/models/.raw/open-ship/v1/OpenShipment-Resource.json
index f001490d..dc455bc1 100644
--- a/resources/models/.raw/open-ship/v1/OpenShipment-Resource.json
+++ b/resources/models/.raw/open-ship/v1/OpenShipment-Resource.json
@@ -13,7 +13,7 @@
"/ship/v1/openshipments/create": {
"post": {
"summary": "Create Open Shipment",
- "description": "This endpoint helps you to create an open shipment request with the required shipping information.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.",
+ "description": "This endpoint helps you to create an openn shipment request with the required shipping information.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.",
"operationId": "Create Open Shipmentt",
"requestBody": {
"content": {
@@ -2873,7 +2873,20 @@
"properties": {
"value": {
"type": "string",
- "description": "The account number value.Value is required if the paymentType is RECIPIENT, THIRD_PARTY or COLLECT.
Example: Your account number"
+ "description": "Conditional.
The account number value.
Max Length is 9.
Example: 12XXXXX89"
+ }
+ },
+ "description": "This is FedEx Account number details.",
+ "example": {
+ "value": "Your account number"
+ }
+ },
+ "PartyAccountNumber_1": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Conditional.
The account number value.
Max Length is 9.
Example: 12XXXXX89
NOTE:- FedEx Account number is required for FedEx International Connect Plus (FICP) service shipments from APAC to US or PR with duty & tax Bill-to recipient:
if any of the shipment commodities\u2019 Country of Manufacture is CN/HK"
}
},
"description": "This is FedEx Account number details.",
@@ -3378,7 +3391,7 @@
"type": "object",
"properties": {
"totalWeight": {
- "$ref": "#/components/schemas/Weight_1"
+ "$ref": "#/components/schemas/Weight_Without_Link"
},
"packageCount": {
"type": "integer",
@@ -4169,7 +4182,7 @@
"$ref": "#/components/schemas/Contact_1"
},
"accountNumber": {
- "$ref": "#/components/schemas/PartyAccountNumber"
+ "$ref": "#/components/schemas/PartyAccountNumber_1"
},
"tins": {
"type": "array",
@@ -4331,7 +4344,7 @@
"example": "non-threaded rivets"
},
"weight": {
- "$ref": "#/components/schemas/Weight"
+ "$ref": "#/components/schemas/Weight_Without_Link"
},
"exportLicenseNumber": {
"type": "string",
@@ -4406,6 +4419,56 @@
"value": 68
}
},
+ "Weight_With_Link": {
+ "description": "These are the package weight details.",
+ "type": "object",
+ "required": [
+ "units",
+ "value"
+ ],
+ "properties": {
+ "units": {
+ "description": "Specifies the package weight unit type.
Example:KG",
+ "type": "string",
+ "enum": [
+ "KG",
+ "LB"
+ ],
+ "example": "KG"
+ },
+ "value": {
+ "format": "double",
+ "description": "Weight Value.
Example: 68.25
Click here to see Weight Values",
+ "type": "number",
+ "example": 68.25
+ }
+ }
+ },
+ "Weight_Without_Link": {
+ "description": "These are the package weight details.",
+ "type": "object",
+ "required": [
+ "units",
+ "value"
+ ],
+ "properties": {
+ "units": {
+ "description": "Specifies the package weight unit type.
Example:KG",
+ "type": "string",
+ "enum": [
+ "KG",
+ "LB"
+ ],
+ "example": "KG"
+ },
+ "value": {
+ "format": "double",
+ "description": "Weight Value.
Example: 68.25",
+ "type": "number",
+ "example": 68.25
+ }
+ }
+ },
"UsmcaDetail": {
"type": "object",
"properties": {
@@ -4524,8 +4587,7 @@
"example": "DEPARTMENT_OF_COMMERCE",
"enum": [
"DEPARTMENT_OF_COMMERCE",
- "DEPARTMENT_OF_STATE",
- "DEPARTMENT_OF_COMMERCE_AND_DEPARTMENT_OF_STATE"
+ "DEPARTMENT_OF_STATE"
]
},
"destinationCountries": {
@@ -4656,7 +4718,7 @@
]
},
"weight": {
- "$ref": "#/components/schemas/Weight"
+ "$ref": "#/components/schemas/Weight_With_Link"
},
"dimensions": {
"description": "Indicate the dimensions of the package.
Following conditions will apply:
Note: The maximum/minimum dimension values varies based on the services and the packaging types. Refer FedEx Service Guide for service details related to DIM Weighting for FedEx Express and oversize conditions for FedEx Express and FedEx Ground.",
@@ -4840,7 +4902,7 @@
}
},
"dryIceWeight": {
- "$ref": "#/components/schemas/Weight"
+ "$ref": "#/components/schemas/Weight_Without_Link"
},
"standaloneBatteryDetails": {
"type": "array",
@@ -4910,14 +4972,11 @@
"description": "These are details for the package containing alcohol. This is required for alcohol special service. The alcoholRecipientType is required."
},
"DangerousGoodsDetail": {
- "required": [
- "accessibility"
- ],
"type": "object",
"properties": {
"accessibility": {
"type": "string",
- "description": "Specify Dangerous Goods Accessibility Type.
",
+ "description": "Specify Dangerous Goods Accessibility Type.
Note: Accessibility is only required for IATA controlled DG shipments.",
"example": "INACCESSIBLE",
"enum": [
"ACCESSIBLE",
@@ -4929,6 +4988,17 @@
"type": "boolean",
"example": false
},
+ "regulation": {
+ "type": "string",
+ "description": "It is a HazardousCommodityRegulationType(The regulation under which the DG data has been validated).",
+ "example": "ADR",
+ "enum": [
+ "ADR",
+ "DOT",
+ "IATA",
+ "ORMD"
+ ]
+ },
"options": {
"type": "array",
"description": "Indicate type of DG being reported.",
@@ -7787,7 +7857,7 @@
},
"resolution": {
"type": "integer",
- "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.",
+ "description": "Specifies the image resolution in DPI (Dots Per Inch). Valid values are 203 & 300. If not provided or for any other value, system will default it to 203.Note: 300 DPI resolution is only allowed for ZPLII image type.",
"example": 300
}
},
@@ -8957,7 +9027,7 @@
"example": "Test1234"
},
"shipAction": {
- "description": "Allowed values are STRONG_VALIDATION",
+ "description": "Allowed values are STRONG_VALIDATION, PROVIDE_DOCUMENTS_INCREMENTALLY",
"example": "STRONG_VALIDATION",
"allOf": [
{
diff --git a/resources/models/.raw/pickup-request/v1/Pickup-Resource.json b/resources/models/.raw/pickup-request/v1/Pickup-Resource.json
index da103ff4..773185ef 100644
--- a/resources/models/.raw/pickup-request/v1/Pickup-Resource.json
+++ b/resources/models/.raw/pickup-request/v1/Pickup-Resource.json
@@ -1510,7 +1510,7 @@
},
"bookingNumber": {
"type": "string",
- "description": "Specify a freight shipment booking number from FedEx. This number is mandatory for freight dispatch requests.
Example: 1234AGTT ",
+ "description": "Express Freight shipments (refer below) may require booking number. This booking number may also be required for freight dispatch requests.
FedEx 1Day Freight - booking number is optional.
FedEx International Priority Freight - booking number is required
NOTE:
a. For Intra EU (EU-to-EU) and EU outbound (EU-to-NON_EU) Express Freight shipments, bookingNumber is optional.
b. For Express Freight shipments not originating in EU, Customers need to call FedEx to book freight shipment and receive a booking number. This booking number is included in the Ship request and prints on the shipping label.
example:1234AGTT",
"example": "1234AGTT"
},
"dimensions": {
@@ -2112,8 +2112,8 @@
"Check_Pickup_Availability_Domestic_Express": {
"example": {
"pickupAddress": {
- "postalCode": "38116",
- "countryCode": "US"
+ "postalCode": "75008",
+ "countryCode": "FR"
},
"pickupRequestType": [
"SAME_DAY"
@@ -2121,7 +2121,12 @@
"carriers": [
"FDXE"
],
- "countryRelationship": "DOMESTIC"
+ "countryRelationship": "DOMESTIC",
+ "shipmentAttributes": [
+ {
+ "serviceType": "FEDEX_FIRST"
+ }
+ ]
}
},
"Check_Pickup_Availability_Domestic_Ground": {
@@ -2151,7 +2156,12 @@
"carriers": [
"FDXE"
],
- "countryRelationship": "INTERNATIONAL"
+ "countryRelationship": "INTERNATIONAL",
+ "shipmentAttributes": [
+ {
+ "serviceType": "INTERNATIONAL_PRIORITY_FREIGHT"
+ }
+ ]
}
},
"PudcResponseVO_CancelPickup": {
diff --git a/resources/models/.raw/rates-transit-times/v1/RateQuotes-Resource.json b/resources/models/.raw/rates-transit-times/v1/RateQuotes-Resource.json
index d610facf..adf410cd 100644
--- a/resources/models/.raw/rates-transit-times/v1/RateQuotes-Resource.json
+++ b/resources/models/.raw/rates-transit-times/v1/RateQuotes-Resource.json
@@ -2493,6 +2493,13 @@
"items": {
"$ref": "#/components/schemas/Surcharge"
}
+ },
+ "taxes": {
+ "description": "List of taxes.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Tax"
+ }
}
},
"description": "This is shipment level rate data."
@@ -2762,15 +2769,11 @@
},
"type": {
"type": "string",
- "description": "This is Broker Type.",
- "example": "EXPORT",
+ "description": "This is Broker Type.Example:IMPORT",
+ "example": "IMPORT",
"enum": [
- "EXPORT",
"IMPORT"
]
- },
- "brokerAddress": {
- "$ref": "#/components/schemas/Brokeraddress"
}
},
"description": "These are Broker Detail for the rate quote."
@@ -2982,7 +2985,7 @@
"example": "Your account number"
}
},
- "description": "This is the Account number details.
Note:
",
+ "description": "This is the Account number details.
Note:
",
"example": {
"value": "Your account number"
}
@@ -3583,8 +3586,8 @@
"streetLines": [
"SENDER ADDRESS"
],
- "city": "",
- "stateOrProvinceCode": "",
+ "city": "SENDER CITY",
+ "stateOrProvinceCode": "SENDER PROVINCE CODE",
"postalCode": "5003",
"countryCode": "NO"
}
@@ -3594,8 +3597,8 @@
"streetLines": [
"RECIPIENT ADDRESS 1"
],
- "city": "",
- "stateOrProvinceCode": "",
+ "city": "RECIPIENT city",
+ "stateOrProvinceCode": "RECIPIENT PROVINCE CODE",
"postalCode": "5003",
"countryCode": "NO"
}
@@ -3661,6 +3664,180 @@
"webSiteCountryCode": "US"
}
},
+ "MinimumSamplePayload_1": {
+ "example": {
+ "accountNumber": {
+ "value": "XXXXX7354"
+ },
+ "requestedShipment": {
+ "shipper": {
+ "address": {
+ "postalCode": "65247",
+ "countryCode": "US"
+ }
+ },
+ "recipient": {
+ "address": {
+ "postalCode": "72348",
+ "countryCode": "US"
+ }
+ },
+ "pickupType": "DROPOFF_AT_FEDEX_LOCATION",
+ "rateRequestType": [
+ "ACCOUNT",
+ "LIST"
+ ],
+ "requestedPackageLineItems": [
+ {
+ "weight": {
+ "units": "LB",
+ "value": "10"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "FreightSamplePayload-RateResourceDetails_1": {
+ "example": {
+ "accountNumber": {
+ "value": "XXXXX9837"
+ },
+ "requestedShipment": {
+ "freightShipmentDetail": {
+ "role": "SHIPPER",
+ "lineItem": [
+ {
+ "pieces": "1",
+ "handlingUnits": "1",
+ "freightClass": "CLASS_060",
+ "subPackagingType": "PALLET",
+ "description": "books autograph",
+ "weight": {
+ "units": "LB",
+ "value": "1000.00"
+ },
+ "id": "books",
+ "dimensions": {
+ "length": "15",
+ "width": "15",
+ "units": "IN",
+ "height": "15"
+ }
+ }
+ ],
+ "fedExFreightBillingContactAndAddress": {
+ "address": {
+ "residential": false,
+ "city": "COLLIERVILLE",
+ "countryCode": "US",
+ "streetLines": [
+ "20 FEDEX PKWY"
+ ],
+ "postalCode": "380178711",
+ "stateOrProvinceCode": "TN"
+ },
+ "contact": {
+ "personName": "BRON TAPES",
+ "emailAddress": "neena_sebastian@syntelinc.com",
+ "phoneNumber": "9012635448",
+ "phoneExtension": "001",
+ "companyName": "SYNT"
+ }
+ },
+ "collectTermsType": "STANDARD",
+ "fedExFreightAccountNumber": {
+ "value": "XXXXX9837",
+ "key": "ba9b4726f7fac6ca7515492d2a4e369e"
+ },
+ "declaredValueUnits": "USD",
+ "totalHandlingUnits": "2"
+ },
+ "shipper": {
+ "address": {
+ "residential": false,
+ "city": "Collierville",
+ "countryCode": "US",
+ "streetLines": [
+ "20 Fedex Parkway"
+ ],
+ "postalCode": "380178711",
+ "stateOrProvinceCode": "TN"
+ },
+ "contact": {
+ "personName": "Abhay_shipper",
+ "phoneNumber": "9822280721",
+ "companyName": "Syntel"
+ },
+ "accountNumber": {
+ "value": "XXXXX9837",
+ "key": "ba9b4726f7fac6ca7515492d2a4e369e"
+ }
+ },
+ "rateRequestType": [
+ "LIST"
+ ],
+ "shipmentSpecialServices": {
+ "specialServiceTypes": []
+ },
+ "recipient": {
+ "address": {
+ "residential": false,
+ "city": "Memphis",
+ "countryCode": "US",
+ "postalCode": "38116",
+ "stateOrProvinceCode": "ON"
+ }
+ },
+ "shippingChargesPayment": {
+ "payor": {
+ "responsibleParty": {
+ "address": {
+ "residential": false,
+ "city": "Collierville",
+ "countryCode": "US",
+ "streetLines": [
+ "10 Fedex Parkway"
+ ],
+ "postalCode": "38017",
+ "stateOrProvinceCode": "TN"
+ }
+ }
+ },
+ "paymentType": "SENDER"
+ },
+ "shipDateStamp": "2020-02-19",
+ "requestedPackageLineItems": [
+ {
+ "subPackagingType": "OTHER",
+ "groupPackageCount": "1",
+ "itemDescriptionForClearance": "",
+ "weight": {
+ "units": "LB",
+ "value": "1000.00"
+ },
+ "associatedFreightLineItems": [
+ {
+ "id": "books"
+ }
+ ]
+ }
+ ],
+ "pickupType": "CONTACT_FEDEX_TO_SCHEDULE",
+ "packagingType": "YOUR_PACKAGING"
+ },
+ "rateRequestControlParameters": {
+ "returnTransitTimes": true,
+ "servicesNeededOnRateFailure": false,
+ "rateSortOrder": "SERVICENAMETRADITIONAL",
+ "returnLocalizedDateTime": true
+ },
+ "carrierCodes": [
+ "FXFR"
+ ],
+ "customerTransactionId": "User defined Transaction Id"
+ }
+ },
"RateRequestControlParameters": {
"type": "object",
"properties": {
@@ -3809,9 +3986,6 @@
"customsClearanceDetail": {
"$ref": "#/components/schemas/RequestedShipmentCustomsClearanceDetail"
},
- "serviceTypeDetail": {
- "$ref": "#/components/schemas/ServiceTypeDetailVO"
- },
"smartPostInfoDetail": {
"$ref": "#/components/schemas/RequestedShipmentSmartPostInfoDetail"
}
@@ -4036,10 +4210,6 @@
"$ref": "#/components/schemas/Money_1"
},
{
- "required": [
- "amount",
- "currency"
- ],
"properties": {
"amount": {
"type": "number",
@@ -5359,7 +5529,7 @@
},
"commodities": {
"type": "array",
- "description": "Specify the commodity details.",
+ "description": "Indicates the details about the dutiable packages. Maximum upto 999 commodities per shipment.",
"items": {
"$ref": "#/components/schemas/Commodity"
}
@@ -5524,7 +5694,7 @@
},
"countryOfManufacture": {
"type": "string",
- "description": "This is a manufacturing country. Maximum field Length is 4
Example: IN",
+ "description": "This is commodity country of manufacture. This is required. Maximum allowed length is 4.
Example: US
Click here to see Country Codes",
"example": "US"
},
"quantityUnits": {
@@ -6598,6 +6768,12 @@
{
"$ref": "#/components/schemas/Full_Schema_Quote_Rate"
},
+ {
+ "$ref": "#/components/schemas/MinimumSamplePayload_1"
+ },
+ {
+ "$ref": "#/components/schemas/FreightSamplePayload-RateResourceDetails_1"
+ },
{
"$ref": "#/components/schemas/US_Domestic_Rate_shop"
},
@@ -6725,6 +6901,33 @@
}
}
},
+ "Tax": {
+ "description": "Tax surcharge details",
+ "type": "object",
+ "properties": {
+ "amount": {
+ "description": "Tax amount.
Example: 408.97",
+ "format": "double",
+ "type": "number",
+ "example": 408.97
+ },
+ "name": {
+ "description": "The localized name of the tax.
Example: Denmark VAT",
+ "type": "string",
+ "example": "Denmark VAT"
+ },
+ "description": {
+ "description": "The description of the Surcharge/Tax.
Example: Denmark VAT",
+ "type": "string",
+ "example": "Denmark VAT"
+ },
+ "type": {
+ "description": "The type of Surcharge/Tax.
Example: VAT",
+ "type": "string",
+ "example": "VAT"
+ }
+ }
+ },
"DeliveryOnInvoiceAcceptanceDetailRecipient_contact": {
"required": [
"companyName",
diff --git a/resources/models/.raw/service-availability/v1/PackageAndServiceOptions-Resource.json b/resources/models/.raw/service-availability/v1/PackageAndServiceOptions-Resource.json
index d95b4fa6..588a10a8 100644
--- a/resources/models/.raw/service-availability/v1/PackageAndServiceOptions-Resource.json
+++ b/resources/models/.raw/service-availability/v1/PackageAndServiceOptions-Resource.json
@@ -1355,6 +1355,56 @@
}
]
},
+ "Weight_With_Link": {
+ "description": "These are the package weight details.",
+ "type": "object",
+ "required": [
+ "units",
+ "value"
+ ],
+ "properties": {
+ "units": {
+ "description": "Specifies the package weight unit type.
Example:KG",
+ "type": "string",
+ "enum": [
+ "KG",
+ "LB"
+ ],
+ "example": "KG"
+ },
+ "value": {
+ "format": "double",
+ "description": "Weight Value.
Example: 68.25
Click here to see Weight Values",
+ "type": "number",
+ "example": 68.25
+ }
+ }
+ },
+ "Weight_Without_Link": {
+ "description": "These are the package weight details.",
+ "type": "object",
+ "required": [
+ "units",
+ "value"
+ ],
+ "properties": {
+ "units": {
+ "description": "Specifies the package weight unit type.
Example:KG",
+ "type": "string",
+ "enum": [
+ "KG",
+ "LB"
+ ],
+ "example": "KG"
+ },
+ "value": {
+ "format": "double",
+ "description": "Weight Value.
Example: 68.25",
+ "type": "number",
+ "example": 68.25
+ }
+ }
+ },
"StandaloneBatteryDetails": {
"type": "object",
"properties": {
@@ -2163,7 +2213,7 @@
"$ref": "#/components/schemas/InsuredValue"
},
"weight": {
- "$ref": "#/components/schemas/Weight"
+ "$ref": "#/components/schemas/Weight_With_Link"
},
"dimensions": {
"$ref": "#/components/schemas/Dimensions"
@@ -2374,7 +2424,7 @@
"description": "These are the weight details.",
"allOf": [
{
- "$ref": "#/components/schemas/Weight"
+ "$ref": "#/components/schemas/Weight_Without_Link"
}
]
},
@@ -2698,7 +2748,7 @@
"description": "Total weight of items for this line item",
"allOf": [
{
- "$ref": "#/components/schemas/Weight"
+ "$ref": "#/components/schemas/Weight_Without_Link"
}
]
},
diff --git a/resources/models/.raw/service-availability/v1/SpecialServiceOptions-Resource.json b/resources/models/.raw/service-availability/v1/SpecialServiceOptions-Resource.json
index ebf2fbee..f7a23925 100644
--- a/resources/models/.raw/service-availability/v1/SpecialServiceOptions-Resource.json
+++ b/resources/models/.raw/service-availability/v1/SpecialServiceOptions-Resource.json
@@ -1201,7 +1201,7 @@
"$ref": "#/components/schemas/InsuredValue"
},
"weight": {
- "$ref": "#/components/schemas/Weight"
+ "$ref": "#/components/schemas/Weight_With_Link"
},
"dimensions": {
"$ref": "#/components/schemas/Dimensions"
@@ -1325,6 +1325,56 @@
}
]
},
+ "Weight_With_Link": {
+ "description": "These are the package weight details.",
+ "type": "object",
+ "required": [
+ "units",
+ "value"
+ ],
+ "properties": {
+ "units": {
+ "description": "Specifies the package weight unit type.
Example:KG",
+ "type": "string",
+ "enum": [
+ "KG",
+ "LB"
+ ],
+ "example": "KG"
+ },
+ "value": {
+ "format": "double",
+ "description": "Weight Value.
Example: 68.25
Click here to see Weight Values",
+ "type": "number",
+ "example": 68.25
+ }
+ }
+ },
+ "Weight_Without_Link": {
+ "description": "These are the package weight details.",
+ "type": "object",
+ "required": [
+ "units",
+ "value"
+ ],
+ "properties": {
+ "units": {
+ "description": "Specifies the package weight unit type.
Example:KG",
+ "type": "string",
+ "enum": [
+ "KG",
+ "LB"
+ ],
+ "example": "KG"
+ },
+ "value": {
+ "format": "double",
+ "description": "Weight Value.
Example: 68.25",
+ "type": "number",
+ "example": 68.25
+ }
+ }
+ },
"StandaloneBatteryDetails": {
"type": "object",
"properties": {
@@ -1494,7 +1544,7 @@
"description": "These are the weight details.",
"allOf": [
{
- "$ref": "#/components/schemas/Weight"
+ "$ref": "#/components/schemas/Weight_Without_Link"
}
]
},
@@ -1840,7 +1890,7 @@
"description": "Total weight of items for this line item",
"allOf": [
{
- "$ref": "#/components/schemas/Weight"
+ "$ref": "#/components/schemas/Weight_Without_Link"
}
]
},
diff --git a/resources/models/.raw/ship-dg-hazmat/v1/ShipDGHazmatAPI-Resource.json b/resources/models/.raw/ship-dg-hazmat/v1/ShipDGHazmatAPI-Resource.json
new file mode 100644
index 00000000..40c5d0a1
--- /dev/null
+++ b/resources/models/.raw/ship-dg-hazmat/v1/ShipDGHazmatAPI-Resource.json
@@ -0,0 +1,12959 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "Ship DG Hazmat API",
+ "description": "The resource for Ship DG Hazmat APIs",
+ "version": "1.0.0"
+ },
+ "servers": [
+ {
+ "url": "/"
+ }
+ ],
+ "paths": {
+ "/ship/v1/dghazshipments": {
+ "post": {
+ "summary": "Create DG Hazmat Shipment",
+ "description": "This endpoint helps you to create shipment requests thereby validating all the shipping input information and either generates the labels (if the responses is synchronous) or a job ID if transaction is processed using asynchronous method.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.",
+ "operationId": "DGHazShipment",
+ "parameters": [
+ {
+ "name": "X-customer-transaction-id",
+ "in": "header",
+ "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.",
+ "schema": {
+ "type": "string"
+ },
+ "example": "624deea6-b709-470c-8c39-4b551281492"
+ },
+ {
+ "name": "X-locale",
+ "in": "header",
+ "description": "This indicates the combination of language code and country code.
Click here to see Locales",
+ "schema": {
+ "type": "string"
+ },
+ "example": "en_US"
+ },
+ {
+ "name": "authorization",
+ "in": "header",
+ "description": "This indicates the authorization token for the input request.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "Bearer XXX"
+ }
+ },
+ {
+ "in": "header",
+ "name": "content-type",
+ "description": "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.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "application/json"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/v1_dghazshipments_body"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SHPCResponseVO"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "errors": {
+ "code": "SHIPMENT.ACCOUNTNUMBER.UNAUTHORIZED",
+ "message": "This account is unauthorized. Please contact FedEx Customer Service."
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "errors": [
+ {
+ "code": "NOT.AUTHORIZED.ERROR",
+ "message": "Access token expired. Please modify your request and try again."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "errors": [
+ {
+ "code": "FORBIDDEN.ERROR",
+ "message": "We could not authorize your credentials. Please check your permissions and try again."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "errors": [
+ {
+ "code": "NOT.FOUND.ERROR",
+ "message": "The resource you requested is no longer available. Please modify your request and try again."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Failure",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "errors": [
+ {
+ "code": "INTERNAL.SERVER.ERROR",
+ "message": "We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "errors": [
+ {
+ "code": "SERVICE.UNAVAILABLE.ERROR",
+ "message": "The service is currently unavailable and we are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time."
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "x-code-samples": [
+ {
+ "lang": "C#",
+ "source": "var client = new RestClient(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Authorization\", \"Bearer \");\nrequest.AddHeader(\"X-locale\", \"en_US\");\nrequest.AddHeader(\"Content-Type\", \"application/json\");\n// 'input' refers to JSON Payload\nrequest.AddParameter(\"application/x-www-form-urlencoded\", input, ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);\n\n\n\n\n"
+ },
+ {
+ "lang": "JAVA",
+ "source": "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\n// 'input' refers to JSON Payload\nRequestBody body = RequestBody.create(mediaType, input);\nRequest request = new Request.Builder()\n .url(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments\")\n .post(body)\n .addHeader(\"Content-Type\", \"application/json\")\n .addHeader(\"X-locale\", \"en_US\")\n .addHeader(\"Authorization\", \"Bearer \")\n .build();\n \nResponse response = client.newCall(request).execute();"
+ },
+ {
+ "lang": "JAVASCRIPT",
+ "source": "// 'input' refers to JSON Payload\nvar data = JSON.stringify(input);\n \n var xhr = new XMLHttpRequest();\n xhr.withCredentials = true;\n \n xhr.addEventListener(\"readystatechange\", function () {\n if (this.readyState === 4) {\n console.log(this.responseText);\n }\n });\n \n xhr.open(\"POST\", \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-locale\", \"en_US\");\n xhr.setRequestHeader(\"Authorization\", \"Bearer \");\n \n xhr.send(data);"
+ },
+ {
+ "lang": "PHP",
+ "source": "setUrl('https://apis-sandbox.fedex.com/ship/v1/dghazshipments');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n 'Authorization' => 'Bearer ',\n 'X-locale' => 'en_US',\n 'Content-Type' => 'application/json'\n));\n\n$request->setBody(input); // 'input' refers to JSON Payload\n\ntry {\n $response = $request->send();\n\n echo $response->getBody();\n} catch (HttpException $ex) {\n echo $ex;\n}"
+ },
+ {
+ "lang": "PYTHON",
+ "source": "import requests\n\nurl = \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments\"\n\npayload = input # 'input' refers to JSON Payload\nheaders = {\n 'Content-Type': \"application/json\",\n 'X-locale': \"en_US\",\n 'Authorization': \"Bearer \"\n }\n\nresponse = requests.post(url, data=payload, headers=headers)\n\nprint(response.text)"
+ },
+ {
+ "lang": "RUST",
+ "source": "extern crate reqwest;\n\nuse std::io::Read;\n\nfn construct_headers() -> HeaderMap {\n let mut headers = HeaderMap::new();\n headers.insert(\"Content-Type\", \"application/json\");\n headers.insert(\"X-locale\", \"en_US\");\n headers.insert(\"Authorization\", \"Bearer \");\n headers\n}\n\nfn run() -> Result<()> {\n let client = reqwest::Client::new();\n let mut res = client.post(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments\")\n .body(input) // 'input' refers to JSON Payload\n .headers(construct_headers())\n .send()?;\n let mut body = String::new();\n res.read_to_string(&mut body)?;\n\n println!(\"Status: {}\", res.status());\n println!(\"Headers:\\n{:#?}\", res.headers());\n println!(\"Body:\\n{}\", body);\n\n Ok(())\n}"
+ },
+ {
+ "lang": "SWIFT",
+ "source": "import Foundation\n\nlet headers = [\n \"Content-Type\": \"application/json\",\n \"X-locale\": \"en_US\",\n \"Authorization\": \"Bearer \"\n]\nlet parameters = [\n input // 'input' refers to JSON Payload\n] as [String : Any]\n\nlet postData = JSONSerialization.data(withJSONObject: parameters, options: [])\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"POST\"\nrequest.allHTTPHeaderFields = headers\nrequest.httpBody = postData as Data\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()"
+ }
+ ]
+ }
+ },
+ "/ship/v1/dghazshipments/cancel": {
+ "put": {
+ "summary": "Cancel DG Hazmat Shipment",
+ "description": "Use this endpoint to cancel FedEx Express and Ground shipments that have not already been tendered to FedEx. This request will cancel all packages within the shipment.
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.",
+ "operationId": "CancelShipment",
+ "parameters": [
+ {
+ "name": "X-customer-transaction-id",
+ "in": "header",
+ "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.",
+ "schema": {
+ "type": "string"
+ },
+ "example": "624deea6-b709-470c-8c39-4b551281492"
+ },
+ {
+ "name": "X-locale",
+ "in": "header",
+ "description": "This indicates the combination of language code and country code.Click here to see Locales",
+ "schema": {
+ "type": "string"
+ },
+ "example": "en_US"
+ },
+ {
+ "name": "authorization",
+ "in": "header",
+ "description": "This indicates the authorization token for the input request.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "Bearer XXX"
+ }
+ },
+ {
+ "in": "header",
+ "name": "content-type",
+ "description": "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.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "application/json"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/dghazshipments_cancel_body"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SHPCResponseVO_CancelShipment"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO_1"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "customerTransactionId": "AnyCo_order123456789",
+ "errors": [
+ {
+ "code": "SHIPMENT.USER.UNAUTHORIZED",
+ "message": "Requested user is not authorized to perform the operation."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO401"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "errors": [
+ {
+ "code": "NOT.AUTHORIZED.ERROR",
+ "message": "Access token expired. Please modify your request and try again."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO403"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "errors": [
+ {
+ "code": "FORBIDDEN.ERROR",
+ "message": "We could not authorize your credentials. Please check your permissions and try again."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO404"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "errors": [
+ {
+ "code": "NOT.FOUND.ERROR",
+ "message": "The resource you requested is no longer available. Please modify your request and try again."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Failure",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO500"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "customerTransactionId": "AnyCo_order123456789",
+ "errors": [
+ {
+ "code": "INTERNAL.SERVER.ERROR",
+ "message": "We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO503"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "customerTransactionId": "AnyCo_order123456789",
+ "errors": [
+ {
+ "code": "SERVICE.UNAVAILABLE.ERROR",
+ "message": "The service is currently unavailable and we are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time."
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "x-code-samples": [
+ {
+ "lang": "C#",
+ "source": "var client = new RestClient(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/cancel\");\nvar request = new RestRequest(Method.PUT);\nrequest.AddHeader(\"Authorization\", \"Bearer \");\nrequest.AddHeader(\"X-locale\", \"en_US\");\nrequest.AddHeader(\"Content-Type\", \"application/json\");\n// 'input' refers to JSON Payload\nrequest.AddParameter(\"application/x-www-form-urlencoded\", input, ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);"
+ },
+ {
+ "lang": "JAVA",
+ "source": "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\n// 'input' refers to JSON Payload\nRequestBody body = RequestBody.create(mediaType, input);\nRequest request = new Request.Builder()\n .url(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/cancel\")\n .put(body)\n .addHeader(\"Content-Type\", \"application/json\")\n .addHeader(\"X-locale\", \"en_US\")\n .addHeader(\"Authorization\", \"Bearer \")\n .build();\n\nResponse response = client.newCall(request).execute();"
+ },
+ {
+ "lang": "JAVASCRIPT",
+ "source": "// 'input' refers to JSON Payload\nvar data = JSON.stringify(input);\n \n var xhr = new XMLHttpRequest();\n xhr.withCredentials = true;\n \n xhr.addEventListener(\"readystatechange\", function () {\n if (this.readyState === 4) {\n console.log(this.responseText);\n }\n });\n \n xhr.open(\"PUT\", \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/cancel\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-locale\", \"en_US\");\n xhr.setRequestHeader(\"Authorization\", \"Bearer \");\n \n xhr.send(data);"
+ },
+ {
+ "lang": "PHP",
+ "source": "setUrl('https://apis-sandbox.fedex.com/ship/v1/dghazshipments/cancel');\n$request->setMethod(HTTP_METH_PUT);\n\n$request->setHeaders(array(\n 'Authorization' => 'Bearer ',\n 'X-locale' => 'en_US',\n 'Content-Type' => 'application/json'\n));\n\n$request->setBody(input); // 'input' refers to JSON Payload\n\ntry {\n $response = $request->send();\n\n echo $response->getBody();\n} catch (HttpException $ex) {\n echo $ex;\n}"
+ },
+ {
+ "lang": "PYTHON",
+ "source": "import requests\n\nurl = \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/cancel\"\n\npayload = input # 'input' refers to JSON Payload\nheaders = {\n 'Content-Type': \"application/json\",\n 'X-locale': \"en_US\",\n 'Authorization': \"Bearer \"\n }\n\nresponse = requests.put(url, data=payload, headers=headers)\n\nprint(response.text)"
+ },
+ {
+ "lang": "RUST",
+ "source": "extern crate reqwest;\n\nuse std::io::Read;\n\nfn construct_headers() -> HeaderMap {\n let mut headers = HeaderMap::new();\n headers.insert(\"Content-Type\", \"application/json\");\n headers.insert(\"X-locale\", \"en_US\");\n headers.insert(\"Authorization\", \"Bearer \");\n headers\n}\n\nfn run() -> Result<()> {\n let client = reqwest::Client::new();\n let mut res = client.put(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/cancel\")\n .body(input) // 'input' refers to JSON Payload\n .headers(construct_headers())\n .send()?;\n let mut body = String::new();\n res.read_to_string(&mut body)?;\n\n println!(\"Status: {}\", res.status());\n println!(\"Headers:\\n{:#?}\", res.headers());\n println!(\"Body:\\n{}\", body);\n\n Ok(())\n}"
+ },
+ {
+ "lang": "SWIFT",
+ "source": "import Foundation\n\nlet headers = [\n \"Content-Type\": \"application/json\",\n \"X-locale\": \"en_US\",\n \"Authorization\": \"Bearer \"\n]\nlet parameters = [\n input // 'input' refers to JSON Payload\n] as [String : Any]\n\nlet postData = JSONSerialization.data(withJSONObject: parameters, options: [])\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/cancel\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"PUT\"\nrequest.allHTTPHeaderFields = headers\nrequest.httpBody = postData as Data\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()"
+ }
+ ]
+ }
+ },
+ "/ship/v1/dghazshipments/validate": {
+ "post": {
+ "summary": "Validate DG Hazmat Shipment",
+ "description": "Use this endpoint to verify the accuracy of a shipment request prior to actually submitting shipment request. This allow businesses that receive shipping orders from end-user/customers to verify the shipment information prior to submitting a create shipment request to FedEx and printing a label. If for any reason the information needs to be edited or changed, it can be done while the end-user is still available to confirm the changes.
Note:
Note: FedEx APIs do not support Cross-Origin Resource Sharing (CORS) mechanism.",
+ "operationId": "ShipmentPackageValidate",
+ "parameters": [
+ {
+ "name": "X-customer-transaction-id",
+ "in": "header",
+ "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.",
+ "schema": {
+ "type": "string"
+ },
+ "example": "624deea6-b709-470c-8c39-4b551281492"
+ },
+ {
+ "name": "X-locale",
+ "in": "header",
+ "description": "This indicates the combination of language code and country code.Click here to see Locales",
+ "schema": {
+ "type": "string"
+ },
+ "example": "en_US"
+ },
+ {
+ "name": "authorization",
+ "in": "header",
+ "description": "This indicates the authorization token for the input request.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "Bearer XXX"
+ }
+ },
+ {
+ "in": "header",
+ "name": "content-type",
+ "description": "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.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "example": "application/json"
+ }
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/dghazshipments_validate_body"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/SHPCResponseVO_Validate"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Bad Request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO"
+ },
+ "example": {
+ "transactionId": "4f816527-0be2-4720-bd4e-4a10bf41ce3c",
+ "errors": [
+ {
+ "code": "COUNTRY.POSTALANDSTATEORPROVINCECODE.MISMATCH",
+ "message": "Postal code and state or province code mismatch. Please update and try again."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "errors": [
+ {
+ "code": "NOT.AUTHORIZED.ERROR",
+ "message": "Access token expired. Please modify your request and try again."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "errors": [
+ {
+ "code": "FORBIDDEN.ERROR",
+ "message": "We could not authorize your credentials. Please check your permissions and try again."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "errors": [
+ {
+ "code": "NOT.FOUND.ERROR",
+ "message": "The resource you requested is no longer available. Please modify your request and try again."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "Failure",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "errors": [
+ {
+ "code": "INTERNAL.SERVER.ERROR",
+ "message": "We encountered an unexpected error and are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "503": {
+ "description": "Service Unavailable",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponseVO"
+ },
+ "example": {
+ "transactionId": "624deea6-b709-470c-8c39-4b5511281492",
+ "customerTransactionId": "AnyCo_order123456789",
+ "errors": [
+ {
+ "code": "SERVICE.UNAVAILABLE.ERROR",
+ "message": "The service is currently unavailable and we are working to resolve the issue. We apologize for any inconvenience. Please check back at a later time."
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "x-code-samples": [
+ {
+ "lang": "C#",
+ "source": "var client = new RestClient(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/validate\");\nvar request = new RestRequest(Method.POST);\nrequest.AddHeader(\"Authorization\", \"Bearer \");\nrequest.AddHeader(\"X-locale\", \"en_US\");\nrequest.AddHeader(\"Content-Type\", \"application/json\");\n// 'input' refers to JSON Payload\nrequest.AddParameter(\"application/x-www-form-urlencoded\", input, ParameterType.RequestBody);\nIRestResponse response = client.Execute(request);\n\n\n\n\n"
+ },
+ {
+ "lang": "JAVA",
+ "source": "OkHttpClient client = new OkHttpClient();\n\nMediaType mediaType = MediaType.parse(\"application/json\");\n// 'input' refers to JSON Payload\nRequestBody body = RequestBody.create(mediaType, input);\nRequest request = new Request.Builder()\n .url(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/validate\")\n .post(body)\n .addHeader(\"Content-Type\", \"application/json\")\n .addHeader(\"X-locale\", \"en_US\")\n .addHeader(\"Authorization\", \"Bearer \")\n .build();\n \nResponse response = client.newCall(request).execute();"
+ },
+ {
+ "lang": "JAVASCRIPT",
+ "source": "// 'input' refers to JSON Payload\nvar data = JSON.stringify(input);\n \n var xhr = new XMLHttpRequest();\n xhr.withCredentials = true;\n \n xhr.addEventListener(\"readystatechange\", function () {\n if (this.readyState === 4) {\n console.log(this.responseText);\n }\n });\n \n xhr.open(\"POST\", \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/validate\");\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.setRequestHeader(\"X-locale\", \"en_US\");\n xhr.setRequestHeader(\"Authorization\", \"Bearer \");\n \n xhr.send(data);"
+ },
+ {
+ "lang": "PHP",
+ "source": "setUrl('https://apis-sandbox.fedex.com/ship/v1/dghazshipments/validate');\n$request->setMethod(HTTP_METH_POST);\n\n$request->setHeaders(array(\n 'Authorization' => 'Bearer ',\n 'X-locale' => 'en_US',\n 'Content-Type' => 'application/json'\n));\n\n$request->setBody(input); // 'input' refers to JSON Payload\n\ntry {\n $response = $request->send();\n\n echo $response->getBody();\n} catch (HttpException $ex) {\n echo $ex;\n}"
+ },
+ {
+ "lang": "PYTHON",
+ "source": "import requests\n\nurl = \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/validate\"\n\npayload = input # 'input' refers to JSON Payload\nheaders = {\n 'Content-Type': \"application/json\",\n 'X-locale': \"en_US\",\n 'Authorization': \"Bearer \"\n }\n\nresponse = requests.post(url, data=payload, headers=headers)\n\nprint(response.text)"
+ },
+ {
+ "lang": "RUST",
+ "source": "extern crate reqwest;\n\nuse std::io::Read;\n\nfn construct_headers() -> HeaderMap {\n let mut headers = HeaderMap::new();\n headers.insert(\"Content-Type\", \"application/json\");\n headers.insert(\"X-locale\", \"en_US\");\n headers.insert(\"Authorization\", \"Bearer \");\n headers\n}\n\nfn run() -> Result<()> {\n let client = reqwest::Client::new();\n let mut res = client.post(\"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/validate\")\n .body(input) // 'input' refers to JSON Payload\n .headers(construct_headers())\n .send()?;\n let mut body = String::new();\n res.read_to_string(&mut body)?;\n\n println!(\"Status: {}\", res.status());\n println!(\"Headers:\\n{:#?}\", res.headers());\n println!(\"Body:\\n{}\", body);\n\n Ok(())\n}"
+ },
+ {
+ "lang": "SWIFT",
+ "source": "import Foundation\n\nlet headers = [\n \"Content-Type\": \"application/json\",\n \"X-locale\": \"en_US\",\n \"Authorization\": \"Bearer \"\n]\nlet parameters = [\n input // 'input' refers to JSON Payload\n] as [String : Any]\n\nlet postData = JSONSerialization.data(withJSONObject: parameters, options: [])\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://apis-sandbox.fedex.com/ship/v1/dghazshipments/validate\")! as URL,\n cachePolicy: .useProtocolCachePolicy,\n timeoutInterval: 10.0)\nrequest.httpMethod = \"POST\"\nrequest.allHTTPHeaderFields = headers\nrequest.httpBody = postData as Data\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n if (error != nil) {\n print(error)\n } else {\n let httpResponse = response as? HTTPURLResponse\n print(httpResponse)\n }\n})\n\ndataTask.resume()"
+ }
+ ]
+ }
+ }
+ },
+ "components": {
+ "schemas": {
+ "SHPCResponseVO": {
+ "type": "object",
+ "properties": {
+ "transactionId": {
+ "type": "string",
+ "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: 624deea6-b709-470c-8c39-4b5511281492",
+ "example": "624deea6-b709-470c-8c39-4b5511281492"
+ },
+ "customerTransactionId": {
+ "type": "string",
+ "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
Example: AnyCo_order123456789",
+ "example": "AnyCo_order123456789"
+ },
+ "output": {
+ "$ref": "#/components/schemas/BaseProcessOutputVO"
+ }
+ },
+ "description": "Wrapper class for ShipShipmentOutputVO. It holds transactionId and output."
+ },
+ "BaseProcessOutputVO": {
+ "type": "object",
+ "properties": {
+ "customerTransactionId": {
+ "type": "string",
+ "description": "This element allows you to assign a unique identifier to your transaction. This element is also returned in the reply and helps you match the request to the reply.
Example:AnyCo_order123456789",
+ "example": "AnyCo_order123456789"
+ },
+ "transactionShipments": {
+ "type": "array",
+ "description": "The shipping transaction details, such as master tracking number, service type, and ship timestamp.",
+ "items": {
+ "$ref": "#/components/schemas/TransactionShipmentOutputVO"
+ }
+ },
+ "jobId": {
+ "type": "string"
+ },
+ "masterMergeLabelandDocuments": {
+ "$ref": "#/components/schemas/MasterLabelResponse"
+ },
+ "transactionDetail": {
+ "$ref": "#/components/schemas/TransactionDetail"
+ },
+ "alerts": {
+ "type": "array",
+ "description": "The alerts received when a shipShipment is processed. This includes the alert code, alert type, and alert message.",
+ "items": {
+ "$ref": "#/components/schemas/Alert"
+ }
+ }
+ },
+ "description": "The response elements received when a shipment is created."
+ },
+ "ErrorResponseVO": {
+ "type": "object",
+ "properties": {
+ "transactionId": {
+ "type": "string",
+ "description": "The transaction ID is a special set of numbers that defines each transaction.
Example: 624deea6-b709-470c-8c39-4b5511281492",
+ "example": "624deea6-b709-470c-8c39-4b5511281492"
+ },
+ "errors": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/CXSError"
+ }
+ }
+ }
+ },
+ "CXSError": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Indicates the error code.
Example: ACCOUNTNUMBER.REGISTRATION.REQUIRED,LOGIN.REAUTHENTICATE.ERROR,UNAUTHORIZED.USAGE,NOT.FOUND.ERROR,INTERNAL.SERVER.ERROR"
+ },
+ "parameterList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Parameter"
+ }
+ },
+ "message": {
+ "type": "string",
+ "description": "Indicates the description of API error alert message.
Example: Please enter a valid 9-digit FedEx account number or register for a new FedEx account number.",
+ "example": "Please enter a valid 9-digit FedEx account number or register for a new FedEx account number."
+ }
+ },
+ "description": "Indicates error alert when suspicious files, potential exploits and viruses found while scanning files , directories and user accounts. This includes code, message and parameter"
+ },
+ "Parameter": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Identifies the error option to be applied."
+ },
+ "key": {
+ "type": "string",
+ "description": "Indicates the value associated with the key."
+ }
+ },
+ "description": "List of parameters which indicates the properties of the alert message."
+ },
+ "FullSchema-shipShipment": {
+ "required": [
+ "accountNumber",
+ "labelResponseOptions",
+ "requestedShipment"
+ ],
+ "type": "object",
+ "properties": {
+ "requestedShipment": {
+ "$ref": "#/components/schemas/RequestedShipment"
+ },
+ "accountNumber": {
+ "$ref": "#/components/schemas/ShipperAccountNumber"
+ },
+ "shipAction": {
+ "$ref": "#/components/schemas/OpenShipmentAction"
+ },
+ "labelResponseOptions": {
+ "$ref": "#/components/schemas/LabelResponseOptions"
+ },
+ "mergeLabelDocOption": {
+ "type": "string",
+ "description": "It specifies the content of the merged pdf URL in the response. The merged pdf URL is generated only if the labelResponseOption is indicated as URL_ONLY.
This is optional field and will default to LABELS_AND_DOCS.
Note: If the value is 'LABELS_ONLY', then the returned merged pdf label will not be in the Base64 encoded format.",
+ "example": "LABELS_AND_DOCS",
+ "enum": [
+ "NONE",
+ "LABELS_AND_DOCS",
+ "LABELS_ONLY"
+ ]
+ }
+ },
+ "description": "The request elements required to create a shipment."
+ },
+ "RequestedShipment": {
+ "required": [
+ "labelSpecification",
+ "packagingType",
+ "pickupType",
+ "recipients",
+ "requestedPackageLineItems",
+ "serviceType",
+ "shipper",
+ "shippingChargesPayment"
+ ],
+ "type": "object",
+ "properties": {
+ "shipDatestamp": {
+ "type": "string",
+ "description": "This is the shipment date. Default value is current date in case the date is not provided or a past date is provided.
Format [YYYY-MM-DD].
Example: 2019-10-14",
+ "example": "2019-10-14"
+ },
+ "pickupType": {
+ "type": "string",
+ "description": "Indicate the pickup type method by which the shipment to be tendered to FedEx.
Click here for more information on Pickup Types.",
+ "example": "USE_SCHEDULED_PICKUP",
+ "enum": [
+ "CONTACT_FEDEX TO_SCHEDULE",
+ "DROPOFF_AT_FEDEX_LOCATION",
+ "USE_SCHEDULED_PICKUP"
+ ]
+ },
+ "serviceType": {
+ "type": "string",
+ "description": "Indicate the FedEx service type used for this shipment.
Example: STANDARD_OVERNIGHT
click here to see Service Types",
+ "example": "PRIORITY_OVERNIGHT"
+ },
+ "recipientLocationNumber": {
+ "type": "string",
+ "description": "A unique identifier for a recipient location.",
+ "example": "1234567"
+ },
+ "soldTo": {
+ "description": "Will indicate the party responsible for purchasing the goods shipped from the shipper to the recipient. The sold to party is not necessarily the recipient or the importer of record. The sold to party is relevant when the purchaser, rather than the recipient determines when certain customs regulations apply.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/SoldToParty"
+ }
+ ]
+ },
+ "packagingType": {
+ "type": "string",
+ "description": "Specify the packaging used.
Note: For Express Freight shipments, the packaging will default to YOUR_PACKAGING irrespective of the user provided package type in the request.
Example: FEDEX_PAK
click here to see Package Types",
+ "example": "YOUR_PACKAGING"
+ },
+ "totalWeight": {
+ "type": "number",
+ "description": "Indicate the shipment total weight in pounds.
Example: 10.6
Note:
",
+ "format": "double",
+ "example": 20.1
+ },
+ "shipper": {
+ "description": "Indicate the Shipper contact details for this shipment.",
+ "example": {
+ "address": {
+ "streetLines": [
+ "10 FedEx Parkway",
+ "Suite 302"
+ ],
+ "city": "Beverly Hills",
+ "stateOrProvinceCode": "CA",
+ "postalCode": "90210",
+ "countryCode": "US",
+ "residential": false
+ },
+ "contact": {
+ "personName": "John Taylor",
+ "emailAddress": "sample@company.com",
+ "phoneExtension": "91",
+ "phoneNumber": "1234567890",
+ "companyName": "Fedex"
+ },
+ "tins": [
+ {
+ "number": "123567",
+ "tinType": "FEDERAL",
+ "usage": "usage",
+ "effectiveDate": "2000-01-23T04:56:07.000+00:00",
+ "expirationDate": "2000-01-23T04:56:07.000+00:00"
+ }
+ ]
+ },
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ShipperParty"
+ }
+ ]
+ },
+ "recipients": {
+ "type": "array",
+ "description": "Indicate the descriptive data for the recipient location to which the shipment is to be received.",
+ "items": {
+ "$ref": "#/components/schemas/RecipientsParty"
+ }
+ },
+ "origin": {
+ "description": "Indicate shipment origin address information, if it is different from the shipper address.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ContactAndAddress"
+ }
+ ]
+ },
+ "shippingChargesPayment": {
+ "$ref": "#/components/schemas/Payment"
+ },
+ "shipmentSpecialServices": {
+ "$ref": "#/components/schemas/ShipmentSpecialServicesRequested"
+ },
+ "totalDeclaredValue": {
+ "description": "It is the sum of all declared values of all packages in a shipment. The amount of totalDeclaredValue must be equal to the sum of all the individual declaredValues in the shipment. The declaredValue and totalDeclaredValue must match in all currencies in one shipment. This value represents FedEx maximum liability associated with a shipment. This is including, but not limited to any loss, damage, delay, misdelivery, any failure to provide information, or misdelivery of information related to the Shipment.
Note: The totalDeclaredValue should not exceed customsValue.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Money"
+ }
+ ]
+ },
+ "emailNotificationDetail": {
+ "$ref": "#/components/schemas/EMailNotificationDetail"
+ },
+ "expressFreightDetail": {
+ "$ref": "#/components/schemas/ExpressFreightDetail"
+ },
+ "variableHandlingChargeDetail": {
+ "$ref": "#/components/schemas/VariableHandlingChargeDetail"
+ },
+ "customsClearanceDetail": {
+ "$ref": "#/components/schemas/CustomsClearanceDetail"
+ },
+ "smartPostInfoDetail": {
+ "$ref": "#/components/schemas/SmartPostInfoDetail"
+ },
+ "blockInsightVisibility": {
+ "type": "boolean",
+ "description": "Indicate if the shipment be available to be visible/tracked using FedEx InSight\u00ae tool. If value indicated as true, only the shipper/payer will have visibility of this shipment in the FedEx InSight\u00ae tool.",
+ "example": true
+ },
+ "labelSpecification": {
+ "$ref": "#/components/schemas/LabelSpecification"
+ },
+ "shippingDocumentSpecification": {
+ "$ref": "#/components/schemas/ShippingDocumentSpecification"
+ },
+ "rateRequestType": {
+ "type": "array",
+ "description": "Indicate the type of rates to be returned. The account specific rates are returned by default if the account number is specified in the request.
Following are values:
Examples: [\"ACCOUNT\", \"PREFERRED\"]",
+ "example": [
+ "LIST",
+ "PREFERRED"
+ ],
+ "items": {
+ "type": "string",
+ "enum": [
+ "LIST",
+ "NONE",
+ "PREFERRED",
+ "ACCOUNT",
+ "INCENTIVE",
+ "RETAIL"
+ ]
+ }
+ },
+ "preferredCurrency": {
+ "type": "string",
+ "description": "Indicate the currency the caller requests to have used in all returned monetary values. Should be Used in conjunction with the element RateRequestType.
Example: USD
click here to see available Currency codes
Note: Incorrect currency codes should not be supplied. The system ignores the incorrect currency code.",
+ "example": "USD"
+ },
+ "totalPackageCount": {
+ "type": "integer",
+ "description": "For an MPS, this is the total number of packages in the shipment.Applicable for parent shipment for one label at a time shipments.
Example: 25",
+ "format": "int32",
+ "example": 25
+ },
+ "masterTrackingId": {
+ "$ref": "#/components/schemas/TrackingId"
+ },
+ "requestedPackageLineItems": {
+ "type": "array",
+ "description": "These are one or more package-attribute descriptions, each of which describes an individual package, a group of identical packages, or (for the total-piece-total-weight case) common characteristics of all packages in the shipment.
",
+ "items": {
+ "$ref": "#/components/schemas/RequestedPackageLineItem"
+ }
+ }
+ },
+ "description": "The descriptive data of the requested shipment."
+ },
+ "SoldToParty": {
+ "type": "object",
+ "properties": {
+ "address": {
+ "$ref": "#/components/schemas/PartyAddress"
+ },
+ "contact": {
+ "$ref": "#/components/schemas/PartyContact"
+ },
+ "tins": {
+ "type": "array",
+ "description": "Used for adding the tax id",
+ "items": {
+ "$ref": "#/components/schemas/TaxpayerIdentification"
+ }
+ },
+ "accountNumber": {
+ "$ref": "#/components/schemas/AccountNumber"
+ }
+ },
+ "description": "Will indicate the party responsible for purchasing the goods shipped from the shipper to the recipient. The sold to party is not necessarily the recipient or the importer of record. The sold to party is relevant when the purchaser, rather than the recipient determines when certain customs regulations apply."
+ },
+ "PartyAddress": {
+ "required": [
+ "city",
+ "countryCode",
+ "postalCode",
+ "stateOrProvinceCode",
+ "streetLines"
+ ],
+ "type": "object",
+ "properties": {
+ "streetLines": {
+ "type": "array",
+ "description": "Combination of number, street name, etc. At least one line is required for a valid physical address. Empty lines should not be included. Max Length is 35.
Example: [1550 Union Blvd,Suite 302]",
+ "example": [
+ "1550 Union Blvd",
+ "Suite 302"
+ ],
+ "items": {
+ "type": "string"
+ }
+ },
+ "city": {
+ "maxLength": 35,
+ "type": "string",
+ "description": "The name of city, town of the recipient.Max length is 35.
Example: Beverly Hills",
+ "example": "Beverly Hills"
+ },
+ "stateOrProvinceCode": {
+ "type": "string",
+ "description": "The US State and Canada Province codes of the recipient. The Format and presence of this field may vary depending on the country.
Example: CA",
+ "example": "CA"
+ },
+ "postalCode": {
+ "type": "string",
+ "description": "The US State and Canada Province codes. The Format and presence of this field may vary depending on the country.
Example: 90210",
+ "example": "90210"
+ },
+ "countryCode": {
+ "type": "string",
+ "description": "The two-letter code used to identify a country. Max length is 2.
Example: US",
+ "example": "US"
+ },
+ "residential": {
+ "type": "boolean",
+ "description": " Indicates whether this address is residential (as opposed to commercial).
Example: false",
+ "example": false
+ }
+ },
+ "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the US).",
+ "example": {
+ "streetLines": [
+ "10 FedEx Parkway",
+ "Suite 302"
+ ],
+ "city": "Beverly Hills",
+ "stateOrProvinceCode": "CA",
+ "postalCode": "90210",
+ "countryCode": "US",
+ "residential": false
+ }
+ },
+ "PartyContact": {
+ "required": [
+ "phoneNumber"
+ ],
+ "type": "object",
+ "properties": {
+ "personName": {
+ "type": "string",
+ "description": "Identifies the contact person's name. Max Length is 70.
Example: John Taylor",
+ "example": "John Taylor"
+ },
+ "emailAddress": {
+ "type": "string",
+ "description": "Shipper's email address. Max length is 80.
Example: sample@company.com",
+ "example": "sample@company.com"
+ },
+ "phoneExtension": {
+ "type": "string",
+ "description": "The shipper's phone extension. Max length is 6.
Example: 91",
+ "example": "91"
+ },
+ "phoneNumber": {
+ "type": "string",
+ "description": "The shipper's phone number.
Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
Note: For US and CA, a phone number must have exactly 10 digits, plus an optional leading country code of '1' or '+1'.
Example: 918xxxxx890",
+ "example": "918xxxxx890"
+ },
+ "companyName": {
+ "type": "string",
+ "description": "The shipper's company name. Max length is 35.
Example: FedEx",
+ "example": "Fedex"
+ }
+ },
+ "description": "Indicate the contact details for this shipment.",
+ "example": {
+ "personName": "John Taylor",
+ "emailAddress": "sample@company.com",
+ "phoneExtension": "91",
+ "phoneNumber": "1234567890",
+ "companyName": "Fedex"
+ }
+ },
+ "TaxpayerIdentification": {
+ "type": "object",
+ "properties": {
+ "number": {
+ "type": "string",
+ "description": "Specify tax ID number. Maximum length is 18.",
+ "example": "123567"
+ },
+ "tinType": {
+ "type": "string",
+ "description": "Indicate the type of tax identification number.",
+ "example": "FEDERAL",
+ "enum": [
+ "PERSONAL_NATIONAL",
+ "PERSONAL_STATE",
+ "FEDERAL",
+ "BUSINESS_NATIONAL",
+ "BUSINESS_STATE",
+ "BUSINESS_UNION"
+ ]
+ },
+ "usage": {
+ "type": "string",
+ "description": "Specify the reason for using the tax identification number in shipment processing.",
+ "example": "usage"
+ },
+ "effectiveDate": {
+ "type": "string",
+ "description": "Specify the tax ID effective date.",
+ "example": "2000-01-23T04:56:07.000+00:00"
+ },
+ "expirationDate": {
+ "type": "string",
+ "description": "Specify the tax ID expiration date.",
+ "example": "2000-01-23T04:56:07.000+00:00"
+ }
+ },
+ "example": {
+ "number": "123567",
+ "tinType": "FEDERAL",
+ "usage": "usage",
+ "effectiveDate": "2000-01-23T04:56:07.000+00:00",
+ "expirationDate": "2000-01-23T04:56:07.000+00:00"
+ }
+ },
+ "AccountNumber": {
+ "description": "This is the FedEx Account number.
Example: XXX456XXX",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/PartyAccountNumber"
+ }
+ ]
+ },
+ "PartyAccountNumber": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Conditional.
The account number value.
Value is required if the paymentType is RECIPIENT, THIRD_PARTY or COLLECT.
Max Length is 9.
Example: 123456789 "
+ }
+ },
+ "description": "The account number of the recipient.",
+ "example": {
+ "value": "123456789"
+ }
+ },
+ "ShipperParty": {
+ "required": [
+ "address",
+ "contact"
+ ],
+ "type": "object",
+ "properties": {
+ "address": {
+ "$ref": "#/components/schemas/PartyAddress"
+ },
+ "contact": {
+ "$ref": "#/components/schemas/PartyContact"
+ },
+ "companyCode": {
+ "type": "string",
+ "description": "The shipper's company code.",
+ "example": "f05a824749004290a08adb2b042dc2a5"
+ },
+ "tins": {
+ "type": "array",
+ "description": "Used for adding the tax id.",
+ "items": {
+ "$ref": "#/components/schemas/TaxpayerIdentification"
+ }
+ },
+ "deliveryInstructions": {
+ "type": "string",
+ "description": "Used with Ground Home Delivery and Freight. Max Length is 90."
+ }
+ },
+ "description": "Indicate the Shipper contact details for this shipment.",
+ "example": {
+ "address": {
+ "streetLines": [
+ "10 FedEx Parkway",
+ "Suite 302"
+ ],
+ "city": "Beverly Hills",
+ "stateOrProvinceCode": "CA",
+ "postalCode": "90210",
+ "countryCode": "US",
+ "residential": false
+ },
+ "contact": {
+ "personName": "John Taylor",
+ "emailAddress": "sample@company.com",
+ "phoneExtension": "000",
+ "phoneNumber": "9612345671",
+ "companyName": "Fedex"
+ },
+ "companyCode": "f05a824749004290a08adb2b042dc2a5",
+ "tins": [
+ {
+ "number": "123567",
+ "tinType": "FEDERAL",
+ "usage": "usage",
+ "effectiveDate": "2000-01-23T04:56:07.000+00:00",
+ "expirationDate": "2000-01-23T04:56:07.000+00:00"
+ }
+ ],
+ "deliveryInstructions": "delivery instructions"
+ }
+ },
+ "RecipientsParty": {
+ "required": [
+ "address",
+ "contact"
+ ],
+ "type": "object",
+ "properties": {
+ "address": {
+ "$ref": "#/components/schemas/PartyAddress"
+ },
+ "contact": {
+ "$ref": "#/components/schemas/PartyContact"
+ },
+ "tins": {
+ "type": "array",
+ "description": "Used for adding the tax id",
+ "items": {
+ "$ref": "#/components/schemas/TaxpayerIdentification"
+ }
+ },
+ "deliveryInstructions": {
+ "type": "string",
+ "description": "Specifies the delivery instructions to be added with the shipment. Specifically used by Ground Home Delivery
Example: Delivery Instructions",
+ "example": "Delivery Instructions"
+ }
+ },
+ "description": "The descriptive information for the recipient of the shipment and the physical location for the package destination.",
+ "example": {
+ "address": {
+ "streetLines": [
+ "10 FedEx Parkway",
+ "Suite 302"
+ ],
+ "city": "Beverly Hills",
+ "stateOrProvinceCode": "CA",
+ "postalCode": "90210",
+ "countryCode": "US",
+ "residential": false
+ },
+ "contact": {
+ "personName": "John Taylor",
+ "emailAddress": "sample@company.com",
+ "phoneExtension": "000",
+ "phoneNumber": "9612345671",
+ "companyName": "Fedex"
+ },
+ "tins": [
+ {
+ "number": "123567",
+ "tinType": "FEDERAL",
+ "usage": "usage",
+ "effectiveDate": "2000-01-23T04:56:07.000+00:00",
+ "expirationDate": "2000-01-23T04:56:07.000+00:00"
+ }
+ ],
+ "deliveryInstructions": "Delivery Instructions"
+ }
+ },
+ "ContactAndAddress": {
+ "type": "object",
+ "properties": {
+ "contact": {
+ "description": "Indicate the contact details of the shipper.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Contact_1"
+ }
+ ]
+ },
+ "address": {
+ "description": "This is detailed information on physical location. May be used as an actual physical address (place to which one could go), or as a container of address parts which should be handled as a unit (such as a city-state-ZIP combination within the U.S.).",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Address_1"
+ }
+ ]
+ }
+ },
+ "description": "Specifies the contact and address details of a location.",
+ "example": {
+ "address": {
+ "streetLines": [
+ "10 FedEx Parkway",
+ "Suite 302"
+ ],
+ "city": "Beverly Hills",
+ "stateOrProvinceCode": "CA",
+ "postalCode": "38127",
+ "countryCode": "US",
+ "residential": false
+ },
+ "contact": {
+ "personName": "person name",
+ "emailAddress": "email address",
+ "phoneNumber": "phone number",
+ "phoneExtension": "phone extension",
+ "companyName": "company name",
+ "faxNumber": "fax number"
+ }
+ }
+ },
+ "Contact_1": {
+ "type": "object",
+ "properties": {
+ "personName": {
+ "type": "string",
+ "description": "Identifies the contact person's name.
Note: Recommended Length is 70. There's no specific validation for the person name.
Example: John Taylor",
+ "example": "John Taylor"
+ },
+ "emailAddress": {
+ "type": "string",
+ "description": "Specify contact email address. Maximum length is 80.
Example: sample@company.com",
+ "example": "sample@company.com"
+ },
+ "phoneNumber": {
+ "type": "string",
+ "description": "Contact person's phone number.
Minimum length is 10 and supports maximum of 15 for certain countries using longer phone numbers.
Note: For US and CA, a phone number must have exactly 10 digits, plus an optional leading country code of '1' or '+1'.
Example: 918xxxxx890",
+ "example": "918xxxxx890"
+ },
+ "phoneExtension": {
+ "type": "string",
+ "description": "Specify contact phone extension.
Note: Recommended length is 6. There's no specific validation for the phone extension.
Example: 1234",
+ "example": "91"
+ },
+ "faxNumber": {
+ "type": "string",
+ "description": "Specify contact fax number.
Note: Recommended length is 15. There's no specific validation for the fax number.
Example: 1234567890",
+ "example": "956123"
+ },
+ "companyName": {
+ "type": "string",
+ "description": "Specify contact company name.
Recommended length is 35.
Note: There's no specific validation for the company name.",
+ "example": "Fedex"
+ }
+ },
+ "description": "Indicate the contact details of the shipper..",
+ "example": {
+ "personName": "John Taylor",
+ "emailAddress": "sample@company.com",
+ "parsedPersonName": {
+ "firstName": "firstName",
+ "lastName": "lastName",
+ "middleName": "middleName",
+ "suffix": "suffix"
+ },
+ "phoneNumber": "1234567890",
+ "phoneExtension": 1234,
+ "faxNumber": "1234567890",
+ "companyName": "Fedex"
+ }
+ },
+ "Address_1": {
+ "type": "object",
+ "properties": {
+ "streetLines": {
+ "type": "array",
+ "description": "Combination of number, street name, etc. At least one line is required for a valid physical address. Empty lines should not be included. Max Length is 35.
Example: [1550 Union Blvd,Suite 302]",
+ "example": [
+ "Bldg. 10",
+ "10 FedEx Parkway"
+ ],
+ "items": {
+ "type": "string"
+ }
+ },
+ "city": {
+ "type": "string",
+ "description": "At least 3 characters of the city name are required for Shipper and Recipient.The name of city, town, etc.
Example: Beverly Hills",
+ "example": "Beverly Hills"
+ },
+ "stateOrProvinceCode": {
+ "type": "string",
+ "description": "The US State and Canada Province codes. The Format and presence of this field may vary depending on the country.
Example: TX",
+ "example": "CA"
+ },
+ "postalCode": {
+ "type": "string",
+ "description": "Optional for non postal-aware countries. Max length is 10.
Example: 38127",
+ "example": "38127"
+ },
+ "countryCode": {
+ "type": "string",
+ "description": "The two-letter code used to identify a country. Max length is 2.
Example: US
Click here to see Country Codes",
+ "example": "US"
+ },
+ "residential": {
+ "type": "boolean",
+ "description": "Indicates whether this address is residential (as opposed to commercial).
Example: false",
+ "example": false
+ }
+ },
+ "description": "Specifies the address details of the user."
+ },
+ "Payment": {
+ "required": [
+ "paymentType"
+ ],
+ "type": "object",
+ "properties": {
+ "paymentType": {
+ "type": "string",
+ "description": "Specifies the payment Type.
Note: This is required for Express, Ground and SmartPost shipments.
The payment type COLLECT is applicable only for Ground shipments.",
+ "enum": [
+ "SENDER",
+ "RECIPIENT",
+ "THIRD_PARTY",
+ "COLLECT"
+ ]
+ },
+ "payor": {
+ "$ref": "#/components/schemas/Payor"
+ }
+ },
+ "description": "Specifies the payment details specifying the method and means of payment to FedEx for providing shipping services.",
+ "example": {
+ "paymentType": "SENDER",
+ "payor": {
+ "responsibleParty": {
+ "address": {
+ "streetLines": [
+ "10 FedEx Parkway",
+ "Suite 302"
+ ],
+ "city": "Beverly Hills",
+ "stateOrProvinceCode": "CA",
+ "postalCode": "90210",
+ "countryCode": "US",
+ "residential": false
+ },
+ "contact": {
+ "personName": "John Taylor",
+ "emailAddress": "sample@company.com",
+ "phoneNumber": "1234567890",
+ "phoneExtension": "phone extension",
+ "companyName": "Fedex",
+ "faxNumber": "fax number"
+ },
+ "accountNumber": {
+ "value": "801472842"
+ }
+ }
+ }
+ }
+ },
+ "Payor": {
+ "type": "object",
+ "properties": {
+ "responsibleParty": {
+ "$ref": "#/components/schemas/ResponsiblePartyParty"
+ }
+ },
+ "description": "Information about the person who is paying for the shipment.
Payor is mandatory when the paymentType is RECIPIENT, THIRD_PARTY or COLLECT.",
+ "example": {
+ "responsibleParty": {
+ "address": {
+ "streetLines": [
+ "10 FedEx Parkway",
+ "Suite 302"
+ ],
+ "city": "Beverly Hills",
+ "stateOrProvinceCode": "CA",
+ "postalCode": "90210",
+ "countryCode": "US",
+ "residential": false
+ },
+ "contact": {
+ "personName": "John Taylor",
+ "emailAddress": "sample@company.com",
+ "parsedPersonName": {
+ "firstName": "John",
+ "lastName": "Redmond",
+ "middleName": "Taylor",
+ "suffix": "Jr"
+ },
+ "phoneNumber": "1234567890",
+ "phoneExtension": "phone extension",
+ "companyName": "Fedex",
+ "faxNumber": "fax number",
+ "stateTaxId": "state tax identifier",
+ "fedralTaxId": "11-N-1745"
+ },
+ "accountNumber": {
+ "value": "801472842"
+ }
+ }
+ }
+ },
+ "ResponsiblePartyParty": {
+ "required": [
+ "address",
+ "contact"
+ ],
+ "type": "object",
+ "properties": {
+ "address": {
+ "$ref": "#/components/schemas/PartyAddress"
+ },
+ "contact": {
+ "$ref": "#/components/schemas/PartyContact"
+ },
+ "accountNumber": {
+ "$ref": "#/components/schemas/PartyAccountNumber"
+ }
+ },
+ "description": "The descriptive information for the person who is responsible for the shipment.",
+ "example": {
+ "address": {
+ "streetLines": [
+ "10 FedEx Parkway",
+ "Suite 302"
+ ],
+ "city": "Beverly Hills",
+ "stateOrProvinceCode": "CA",
+ "postalCode": "90210",
+ "countryCode": "US",
+ "residential": false
+ },
+ "contact": {
+ "personName": "John Taylor",
+ "emailAddress": "sample@company.com",
+ "phoneExtension": "000",
+ "phoneNumber": "9612345671",
+ "companyName": "Fedex"
+ },
+ "accountNumber": {
+ "value": "801472842"
+ }
+ }
+ },
+ "ShipmentSpecialServicesRequested": {
+ "type": "object",
+ "properties": {
+ "specialServiceTypes": {
+ "type": "array",
+ "description": "Indicate the Special services requested for this shipment.
Example:
click here to see Shipment Special Service Types",
+ "example": [
+ "THIRD_PARTY_CONSIGNEE",
+ "PROTECTION_FROM_FREEZING"
+ ],
+ "items": {
+ "type": "string"
+ }
+ },
+ "etdDetail": {
+ "$ref": "#/components/schemas/ETDDetail"
+ },
+ "returnShipmentDetail": {
+ "$ref": "#/components/schemas/ReturnShipmentDetail"
+ },
+ "deliveryOnInvoiceAcceptanceDetail": {
+ "$ref": "#/components/schemas/DeliveryOnInvoiceAcceptanceDetail"
+ },
+ "internationalTrafficInArmsRegulationsDetail": {
+ "$ref": "#/components/schemas/InternationalTrafficInArmsRegulationsDetail"
+ },
+ "pendingShipmentDetail": {
+ "$ref": "#/components/schemas/PendingShipmentDetail"
+ },
+ "holdAtLocationDetail": {
+ "$ref": "#/components/schemas/HoldAtLocationDetail"
+ },
+ "shipmentCODDetail": {
+ "$ref": "#/components/schemas/ShipmentCODDetail"
+ },
+ "shipmentDryIceDetail": {
+ "$ref": "#/components/schemas/ShipmentDryIceDetail_1"
+ },
+ "internationalControlledExportDetail": {
+ "$ref": "#/components/schemas/InternationalControlledExportDetail"
+ },
+ "homeDeliveryPremiumDetail": {
+ "$ref": "#/components/schemas/HomeDeliveryPremiumDetail"
+ }
+ },
+ "description": "Specify the special services requested at the shipment level. If the shipper is requesting a special service which requires additional data (such as the COD amount), the shipment special service type must be present in the specialServiceTypes collection, and the supporting detail must be provided in the appropriate sub-object below. RETURN_SHIPMENT is required for creating return shipments."
+ },
+ "ETDDetail": {
+ "type": "object",
+ "properties": {
+ "attributes": {
+ "type": "array",
+ "description": "Specifies the Post Document Upload
Example: POST_SHIPMENT_UPLOAD_REQUESTED",
+ "items": {
+ "type": "string",
+ "enum": [
+ "POST_SHIPMENT_UPLOAD_REQUESTED"
+ ]
+ }
+ },
+ "attachedDocuments": {
+ "type": "array",
+ "description": "Customer reference to the uploaded document(s).",
+ "items": {
+ "$ref": "#/components/schemas/UploadDocumentReferenceDetail"
+ }
+ },
+ "requestedDocumentTypes": {
+ "type": "array",
+ "description": "Indicates the types of shipping documents requested by the shipper.
Example: CERTIFICATE_OF_ORIGIN, COMMERCIAL_INVOICE etc.",
+ "items": {
+ "type": "string",
+ "example": "[\"VICS_BILL_OF_LADING\",\"GENERAL_AGENCY_AGREEMENT\"]",
+ "enum": [
+ "CERTIFICATE_OF_ORIGIN",
+ "COMMERCIAL_INVOICE",
+ "CUSTOM_PACKAGE_DOCUMENT",
+ "CUSTOM_SHIPMENT_DOCUMENT",
+ "CUSTOMER_SPECIFIED_LABELS",
+ "EXPORT_DECLARATION",
+ "DANGEROUS_GOODS_SHIPPERS_DECLARATION",
+ "FREIGHT_ADDRESS_LABEL",
+ "GENERAL_AGENCY_AGREEMENT",
+ "LABEL",
+ "USMCA_CERTIFICATION_OF_ORIGIN",
+ "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN",
+ "OP_900",
+ "PENDING_SHIPMENT_EMAIL_NOTIFICATION",
+ "PRO_FORMA_INVOICE",
+ "RETURN_INSTRUCTIONS",
+ "FEDEX_FREIGHT_STRAIGHT_BILL_OF_LADING",
+ "VICS_BILL_OF_LADING"
+ ]
+ }
+ }
+ },
+ "description": "Use this object to specify all information on how the electronic Trade document references used with the shipment."
+ },
+ "UploadDocumentReferenceDetail": {
+ "type": "object",
+ "properties": {
+ "documentId": {
+ "type": "string",
+ "description": "Returns the value specified in the ship shipment request for your uploaded documents in addition to other values for FedEx generated documents such as shipping labels.
Example: 090927d680038c61",
+ "example": "090927d680038c61"
+ },
+ "description": {
+ "type": "string",
+ "description": "Specify additional information about the uploaded document for better understanding.",
+ "example": "Certificate of Origin is uploaded for country of manufacturing verification."
+ },
+ "documentReference": {
+ "type": "string",
+ "description": "Specify the reference for the uploaded document.This is for the customer to reference their uploaded docs when they retrieve them. Could be anything, order number, po number, whatever the customer used to tie the document to something they would use. Note: Ensure to supply document references in case of Pre-Shipment document upload",
+ "example": "Reference"
+ },
+ "documentType": {
+ "type": "string",
+ "description": "Specify document type for the uploaded document. It should match with the type of uploaded document associated with documentId",
+ "example": "PRO_FORMA_INVOICE",
+ "enum": [
+ "CERTIFICATE_OF_ORIGIN",
+ "COMMERCIAL_INVOICE",
+ "ETD_LABEL",
+ "USMCA_CERTIFICATION_OF_ORIGIN",
+ "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN",
+ "NET_RATE_SHEET",
+ "OTHER",
+ "PRO_FORMA_INVOICE"
+ ]
+ }
+ }
+ },
+ "ReturnShipmentDetail": {
+ "required": [
+ "returnType"
+ ],
+ "type": "object",
+ "properties": {
+ "returnEmailDetail": {
+ "$ref": "#/components/schemas/ReturnEmailDetail"
+ },
+ "rma": {
+ "$ref": "#/components/schemas/ReturnMerchandiseAuthorization"
+ },
+ "returnAssociationDetail": {
+ "$ref": "#/components/schemas/ReturnAssociationDetail"
+ },
+ "returnType": {
+ "type": "string",
+ "description": "This specifies the return Type. Required to be set to PRINT_RETURN_LABEL for printed return label shipments.For email return label shipments returnType must be set to PENDING and pendingShipmentDetail must be set to EMAIL.
Valid Values : PENDING, PRINT_RETURN_LABEL",
+ "example": "PRINT_RETURN_LABEL",
+ "enum": [
+ "PENDING",
+ "PRINT_RETURN_LABEL"
+ ]
+ }
+ },
+ "description": "Use this object for specifying return shipment details."
+ },
+ "ReturnEmailDetail": {
+ "required": [
+ "merchantPhoneNumber"
+ ],
+ "type": "object",
+ "properties": {
+ "merchantPhoneNumber": {
+ "type": "string",
+ "description": "Required for Email Return Labels.
This is the merchant phone number.
Example: 19012635656",
+ "example": "19012635656"
+ },
+ "allowedSpecialService": {
+ "type": "array",
+ "description": "Identifies the allowed (merchant-authorized) special services which may be selected when the subsequent shipment is created.
Only services represented in EmailLabelAllowedSpecialServiceType will be controlled by this list. ",
+ "items": {
+ "type": "string",
+ "example": "SATURDAY_DELIVERY",
+ "enum": [
+ "SATURDAY_DELIVERY",
+ "SATURDAY_PICKUP"
+ ]
+ }
+ }
+ },
+ "description": "Email ID details for the return shipment."
+ },
+ "ReturnMerchandiseAuthorization": {
+ "type": "object",
+ "properties": {
+ "reason": {
+ "type": "string",
+ "description": "This is the reason for the return.
Note: There is no validation for reason. Recommended length is 60 alpha-numeric characters
Ex. Wrong color or size.",
+ "example": "Wrong Size or Color"
+ }
+ },
+ "description": "Return Merchant Authorization (RMA) for the return shipment.
If the RMA element is included in the request, the return reason may be entered.
"
+ },
+ "ReturnAssociationDetail": {
+ "type": "object",
+ "properties": {
+ "shipDatestamp": {
+ "type": "string",
+ "description": "This is the ship date for the outbound shipment associated with a return shipment. The format is YYYY-MM-DD.
Example: 2019-10-01",
+ "example": "2019-10-01"
+ },
+ "trackingNumber": {
+ "type": "string",
+ "description": "This is the tracking number associated with this package.
Example: 49XXX0000XXX20032835",
+ "example": "123456789"
+ }
+ },
+ "description": "Specifies the details of an outbound shipment in order to associate the return shipment to it."
+ },
+ "DeliveryOnInvoiceAcceptanceDetail": {
+ "type": "object",
+ "properties": {
+ "recipient": {
+ "description": "The descriptive data for the recipient of the shipment and the physical location for the shipment destination.",
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/RecipientsParty"
+ },
+ {
+ "required": [
+ "address",
+ "contact"
+ ],
+ "properties": {
+ "address": {
+ "required": [
+ "countryCode",
+ "streetLines"
+ ],
+ "properties": {
+ "streetLines": {
+ "type": "array",
+ "description": "Combination of number, street name, etc. At least one line is required for a valid physical address. Empty lines should not be included. Max Length is 35.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "countryCode": {
+ "type": "string",
+ "description": "The two-letter code used to identify a country. Max length is 2.
Example: US
Click here to see Country Codes",
+ "example": "US"
+ }
+ }
+ },
+ "contact": {
+ "required": [
+ "companyName",
+ "personName",
+ "phoneNumber"
+ ],
+ "properties": {
+ "companyName": {
+ "type": "string",
+ "description": "Identifies the company this contact is associated with. Max length is 35.",
+ "example": "Fedex"
+ },
+ "personName": {
+ "type": "string",
+ "description": "Identifies the contact person's name. Max Length is 70.",
+ "example": "John Taylor"
+ },
+ "phoneNumber": {
+ "type": "string",
+ "description": "Identifies the phone number associated with this contact. Max length is 15.",
+ "example": "1234567890"
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ },
+ "description": "Indicate the Delivery On Invoice Acceptance detail. Recipient is required for Delivery On Invoice Special service."
+ },
+ "InternationalTrafficInArmsRegulationsDetail": {
+ "required": [
+ "licenseOrExemptionNumber"
+ ],
+ "type": "object",
+ "properties": {
+ "licenseOrExemptionNumber": {
+ "type": "string",
+ "description": "The export or license number for the ITAR shipment.
Example: 9871234",
+ "example": "9871234"
+ }
+ },
+ "description": "These are International Traffic In Arms Regulations shipment service details."
+ },
+ "PendingShipmentDetail": {
+ "required": [
+ "emailLabelDetail",
+ "pendingShipmentType"
+ ],
+ "type": "object",
+ "properties": {
+ "pendingShipmentType": {
+ "type": "string",
+ "description": "Specifies the pending shipment type. Must include the value: EMAIL for email return shipments.
Not applicable for other types of shipments",
+ "example": "EMAIL",
+ "enum": [
+ "EMAIL"
+ ]
+ },
+ "processingOptions": {
+ "$ref": "#/components/schemas/PendingShipmentProcessingOptionsRequested"
+ },
+ "recommendedDocumentSpecification": {
+ "$ref": "#/components/schemas/RecommendedDocumentSpecification"
+ },
+ "emailLabelDetail": {
+ "$ref": "#/components/schemas/EmailLabelDetail"
+ },
+ "attachedDocuments": {
+ "type": "array",
+ "description": "Attached document details provided by the initator of the shipment, Document ID and Document Type ",
+ "items": {
+ "$ref": "#/components/schemas/UploadDocumentReferenceDetail"
+ }
+ },
+ "expirationTimeStamp": {
+ "type": "string",
+ "description": "Specifies the Email Label expiration date. The maximum expiration date for an Email Return Label must be greater of equal to the day of the label request and not greater than 2 years in the future.
Example: 2020-01-01",
+ "example": "2020-01-01"
+ },
+ "shipmentDryIceDetail": {
+ "$ref": "#/components/schemas/ShipmentDryIceDetail_1"
+ }
+ },
+ "description": "Required for email label return shipments.
This field is not applicable for CreateTag.
This object is used to specify the Pending Shipment Type for Email label."
+ },
+ "PendingShipmentProcessingOptionsRequested": {
+ "type": "object",
+ "properties": {
+ "options": {
+ "type": "array",
+ "description": "Pending Shipment Processing Option Type",
+ "example": [
+ "ALLOW_MODIFICATIONS"
+ ],
+ "items": {
+ "type": "string",
+ "enum": [
+ "ALLOW_MODIFICATIONS"
+ ]
+ }
+ }
+ },
+ "description": "Allows the Email Label shipment originator to specify if the Email label shipment completer can make modifications to editable shipment data."
+ },
+ "RecommendedDocumentSpecification": {
+ "required": [
+ "types"
+ ],
+ "type": "object",
+ "properties": {
+ "types": {
+ "type": "array",
+ "description": "Specifies the Recommended Document Types that are included with the shipment.",
+ "example": [
+ "ANTIQUE_STATEMENT_EUROPEAN_UNION",
+ "ANTIQUE_STATEMENT_UNITED_STATES"
+ ],
+ "items": {
+ "type": "string",
+ "enum": [
+ "ANTIQUE_STATEMENT_EUROPEAN_UNION",
+ "ANTIQUE_STATEMENT_UNITED_STATES",
+ "ASSEMBLER_DECLARATION",
+ "BEARING_WORKSHEET",
+ "CERTIFICATE_OF_SHIPMENTS_TO_SYRIA",
+ "COMMERCIAL_INVOICE_FOR_THE_CARIBBEAN_COMMON_MARKET",
+ "CONIFEROUS_SOLID_WOOD_PACKAGING_MATERIAL_TO_THE_PEOPLES_REPUBLIC_OF_CHINA",
+ "DECLARATION_FOR_FREE_ENTRY_OF_RETURNED_AMERICAN_PRODUCTS",
+ "DECLARATION_OF_BIOLOGICAL_STANDARDS",
+ "DECLARATION_OF_IMPORTED_ELECTRONIC_PRODUCTS_SUBJECT_TO_RADIATION_CONTROL_STANDARD",
+ "ELECTRONIC_INTEGRATED_CIRCUIT_WORKSHEET",
+ "FILM_AND_VIDEO_CERTIFICATE",
+ "INTERIM_FOOTWEAR_INVOICE",
+ "USMCA_CERTIFICATION_OF_ORIGIN_FRENCH",
+ "USMCA_CERTIFICATION_OF_ORIGIN_SPANISH",
+ "USMCA_CERTIFICATION_OF_ORIGIN_ENGLISH",
+ "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN_ENGLISH",
+ "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN_FRENCH",
+ "USMCA_COMMERCIAL_INVOICE_CERTIFICATION_OF_ORIGIN_SPANISH",
+ "PACKING_LIST",
+ "PRINTED_CIRCUIT_BOARD_WORKSHEET",
+ "REPAIRED_WATCH_BREAKOUT_WORKSHEET",
+ "STATEMENT_REGARDING_THE_IMPORT_OF_RADIO_FREQUENCY_DEVICES",
+ "TOXIC_SUBSTANCES_CONTROL_ACT",
+ "UNITED_STATES_CARIBBEAN_BASIN_TRADE_PARTNERSHIP_ACT_CERTIFICATE_OF_ORIGIN_TEXTILES",
+ "UNITED_STATES_CARIBBEAN_BASIN_TRADE_PARTNERSHIP_ACT_CERTIFICATE_OF_ORIGIN_NON_TEXTILES",
+ "UNITED_STATES_NEW_WATCH_WORKSHEET",
+ "UNITED_STATES_WATCH_REPAIR_DECLARATION"
+ ]
+ }
+ }
+ },
+ "description": "These are documents that are recommended to be included with the shipment."
+ },
+ "EmailLabelDetail": {
+ "type": "object",
+ "properties": {
+ "recipients": {
+ "type": "array",
+ "description": "Indicates the Email label recipient's email address, shipment role, & language locale. One recipient must be specified and only one recipient is supported.",
+ "items": {
+ "$ref": "#/components/schemas/EmailRecipient"
+ }
+ },
+ "message": {
+ "type": "string",
+ "description": "Specifies an optional personalized message to be included in the email to the email label recipient",
+ "example": "your optional message "
+ }
+ },
+ "description": "Required with PendingShipmentType = 'EMAIL'.
Not applicable for CreateTag.
Describes specific information about the pending email label. "
+ },
+ "EmailRecipient": {
+ "required": [
+ "emailAddress",
+ "role"
+ ],
+ "type": "object",
+ "properties": {
+ "emailAddress": {
+ "type": "string",
+ "description": "Email address of the email return label receipient to be notified of the return label. This element has a 200-character maximum.
Example: neena@fedex.com",
+ "example": "neena@fedex.com"
+ },
+ "optionsRequested": {
+ "$ref": "#/components/schemas/EmailOptionsRequested"
+ },
+ "role": {
+ "type": "string",
+ "description": "Relationship that the emailRecipient has to the pending email return label shipments.
Valid Values: SHIPMENT_COMPLETOR,SHIPMENT_INITIATOR",
+ "example": "SHIPMENT_COMPLETOR",
+ "enum": [
+ "SHIPMENT_COMPLETOR",
+ "SHIPMENT_INITIATOR"
+ ]
+ },
+ "locale": {
+ "$ref": "#/components/schemas/Locale"
+ }
+ },
+ "description": "Information describing recipient of the online email return label."
+ },
+ "EmailOptionsRequested": {
+ "type": "object",
+ "properties": {
+ "options": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "example": "[\"PRODUCE_PAPERLESS_SHIPPING_FORMAT\",\"SUPPRESS_ACCESS_EMAILS\"]",
+ "enum": [
+ "PRODUCE_PAPERLESS_SHIPPING_FORMAT",
+ "SUPPRESS_ADDITIONAL_LANGUAGES",
+ "SUPPRESS_ACCESS_EMAILS"
+ ]
+ }
+ }
+ },
+ "description": "Indicates how the email notifications for the pending shipment must be processed."
+ },
+ "Locale": {
+ "type": "object",
+ "properties": {
+ "country": {
+ "type": "string",
+ "description": "Specifies the Country code.
Example: US",
+ "example": "US"
+ },
+ "language": {
+ "type": "string",
+ "description": "Specifies the Language code.
Example: en",
+ "example": "en"
+ }
+ },
+ "description": "Specifies the Locale"
+ },
+ "ShipmentDryIceDetail_1": {
+ "type": "object",
+ "properties": {
+ "totalWeight": {
+ "$ref": "#/components/schemas/Weight_1"
+ },
+ "packageCount": {
+ "type": "integer",
+ "description": "Indicates the total number of packages in the shipment that contain dry ice.
Example: 12",
+ "format": "int32",
+ "example": 12
+ }
+ },
+ "description": "This is the descriptive data required for a FedEx shipment containing dangerous materials. This element is required when SpecialServiceType DRY_ICE is selected.
Note:
Valid values:
Note:
Note:
Note: The ITN or FTR exemption number you submit in the Ship request prints on the international shipping label.
", - "example": "3037f" - }, - "documentRequirements": { - "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_documentRequirements" + "freightCharge": { + "$ref": "#/components/schemas/FreightChargeMoney" }, - "completedPackageDetail": { - "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_completedPackageDetail" - } - }, - "description": "Returns the result of processing the desired package as a single-package shipment." - }, - "ConsolidationShipments_consolidationRequestedShipments": { - "type": "object", - "properties": { - "shipDatestamp": { - "type": "string", - "description": "This is shipment date. Both the date and time portions of the string are expected to be used. The date should not be a past date or a date more than 10 days in the future. The time is the local time of the shipment based on the shipper's time zone.Note:
Note: The ITN or FTR exemption number you submit in the Ship request prints on the international shipping label.
", + "example": "3037f" + }, + "documentRequirements": { + "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_documentRequirements" + }, + "completedPackageDetail": { + "$ref": "#/components/schemas/ConsolidationShipments_consolidationRequestedShipments_completedShipmentDetail_completedPackageDetail" + } + }, + "description": "Returns the result of processing the desired package as a single-package shipment." + }, + "ConsolidationShipments_consolidationRequestedShipments": { + "type": "object", + "properties": { + "shipDatestamp": { + "type": "string", + "description": "This is shipment date. Both the date and time portions of the string are expected to be used. The date should not be a past date or a date more than 10 days in the future. The time is the local time of the shipment based on the shipper's time zone.Note:
Note:
Note:
Note:
Note:
Note:
Note:
Note:
Note:
Note:
Note:
Note:
Note:
Note:
Note:
Note:
Valid values:
Note:
Note:
Note:
Note:
Note:
Note:
Note:
Note: