# Create Order

This operation creates a new order in the Order Management System. This API accepts customer details, item information, pricing, and shipping-related data and generates a unique order identifier. The created order is initialized in an unfulfilled state and can be updated or progressed through subsequent OMS operations.

Endpoint: POST /api/v1/orders
Version: 1.0.0
Security: bearerAuth

## Query parameters:

  - `isLTL` (boolean)
    This is the query parameter used to indicate whether the order being created is a Less-Than-Truckload (LTL) order. If set to true, the order will be processed as an LTL shipment, If not provided or set to false, the order will be processed as a standard parcel shipment.

## Header parameters:

  - `X-PB-LocationId` (string)
    This is the Location ID assigned based on the developer's and partner's parsed locations. If it is not provided, no Location ID is applied.

## Request fields (application/json):

  - `orderNumber` (string, required)
    The unique identifier for the order.
    Example: ORD12346

  - `orderMessage` (object)
    An optional message added to an order, such as a gift note or a short greeting.

  - `orderMessage.type` (string)
    The type for the message.
    Enum: "ANNIVERSARY", "BIRTHDAY", "GIFT"

  - `orderMessage.message` (string)
    The message text shown with the order.
Maximum length is 200 characters.
    Example: Happy Birthday! Enjoy your gift.

  - `metadata` (array)
    Additional metadata that needs to be stored for this order can be added here.
    Example: [{"name":"costAccountName","value":"costAccountName12"},{"name":"costAccountId","value":"costAccountId12"},{"name":"costAccountCode","value":"Code12"}]

  - `metadata.name` (string)
    Example: costAccountName

  - `metadata.value` (string)
    Example: cost account 123

  - `charges` (object)
    Financials and tender type information for the order.

  - `charges.currency` (string)
    Currency used for payment (ISO 4217 format).
    Example: USD

  - `charges.billingStatus` (string)
    Current billing status of the order (e.g., PAID, PENDING)
    Example: Paid

  - `charges.gmv` (number)
    Gross merchandise value of all items before discounts, tax, and shipping.
    Example: 100

  - `charges.subTotal` (number)
    Subtotal amount of the order before shipping and taxes.
    Example: 90

  - `charges.totalPaid` (number)
    Total amount paid for the order.
    Example: 100

  - `charges.paymentType` (string)
    Type of payment used for the order (e.g., credit_card, COD).
    Example: Credit Card

  - `shippingReference` (object)
    Contains additional reference fields that can be passed with the request.

  - `shippingReference.reference1` (string)
    Primary reference field, printed on the coversheet under the label `Shipper Ref`.
    Example: reference1

  - `shippingReference.reference2` (string)
    Secondary reference field.
    Example: reference2

  - `shippingReference.reference3` (string)
    Tertiary reference field.
    Example: reference3

  - `shippingReference.reference4` (string)
    Additional reference field.
    Example: reference4

  - `shippingReference.shipperReference` (string)
    Reference provided by the shipper.
    Example: Shipper123

  - `shippingReference.transportationReference` (string)
    Reference related to transportation.
    Example: TransRef2025

  - `shippingReference.shippingNotes` (string)
    Optional notes from the shipper.
    Example: Handle with care

  - `customerInfo` (object)
    End customer (buyer) profile for communication.

  - `customerInfo.firstName` (string)
    First name of the customer.
    Example: John

  - `customerInfo.lastName` (string)
    Last name of the customer.
    Example: Doe

  - `customerInfo.email` (string)
    Buyer email
    Example: john.doe@example.com

  - `customerInfo.customerId` (string)
    Your CRM/customer key.
    Example: CUST12345

  - `fromAddress` (object)
    The address from where the order is generated. While creating an order, fromAddress is conditionally optional.
    Example: {"name":"Warehouse A","company":"Company Name","addressLine1":"638 Manitoba Ave","addressLine2":"Apt 4B","cityTown":"Winnipeg","stateProvince":"MB","postalCode":"R2W 2H2","countryCode":"CA","phone":"1…

  - `fromAddress.name` (string)
    Full name of the contact person or entity at this address (max 254 characters).
    Example: John Doe 

  - `fromAddress.company` (string)
    Company name associated with this address (max 100 characters).
    Example: Company Name

  - `fromAddress.addressLine1` (string, required)
    Primary street address or building number (max 100 characters).
    Example: 123 Main Street

  - `fromAddress.addressLine2` (string)
    Additional address information (optional, max 100 characters).
    Example: Suite 100

  - `fromAddress.addressLine3` (string)
    Third line of the address (optional, max 100 characters).
    Example: Near City Park

  - `fromAddress.cityTown` (string, required)
    City or town name of the address (max 100 characters).
    Example: New York

  - `fromAddress.stateProvince` (string, required)
    State, province, or region (max 100 characters).
    Example: TX

  - `fromAddress.postalCode` (string, required)
    Postal/ZIP code for the address (max 25 characters).
    Example: 10001

  - `fromAddress.countryCode` (string, required)
    Two-letter ISO 3166-1 alpha-2 country code.
    Example: US

  - `fromAddress.phone` (string, required)
    Phone number of the contact person at this address.
    Example: 1234567890

  - `fromAddress.email` (string)
    Contact email address for this address (must be valid format).
    Example: johndoe@example.com

  - `fromAddress.residential` (boolean)
    Indicates if the address is residential (`true`) or commercial (`false`).
    Example: false

  - `toAddress` (object, required)
    The address where the order is destined to.
    Example: {"name":"Jane Smith","company":"Company ABC","addressLine1":"1822 Franklin Street","addressLine2":"3010 Summer Street","cityTown":"Vancouver","stateProvince":"BC","postalCode":"V5L 1P8","countryCode":…

  - `toAddress.name` (string)
    Full name of the contact person or entity at this address (max 254 characters).
    Example: John Doe 

  - `toAddress.company` (string)
    Company name associated with this address (max 100 characters).
    Example: Company Name

  - `toAddress.addressLine1` (string, required)
    Primary street address or building number (max 100 characters).
    Example: 123 Main Street

  - `toAddress.addressLine2` (string)
    Additional address information (optional, max 100 characters).
    Example: Suite 100

  - `toAddress.addressLine3` (string)
    Third line of the address (optional, max 100 characters).
    Example: Near City Park

  - `toAddress.cityTown` (string, required)
    City or town name of the address (max 100 characters).
    Example: New York

  - `toAddress.stateProvince` (string, required)
    State, province, or region (max 100 characters).
    Example: TX

  - `toAddress.postalCode` (string, required)
    Postal/ZIP code for the address (max 25 characters).
    Example: 10001

  - `toAddress.countryCode` (string, required)
    Two-letter ISO 3166-1 alpha-2 country code.
    Example: US

  - `toAddress.phone` (string, required)
    Phone number of the contact person at this address.
    Example: 1234567890

  - `toAddress.email` (string)
    Contact email address for this address (must be valid format).
    Example: johndoe@example.com

  - `toAddress.residential` (boolean)
    Indicates if the address is residential (`true`) or commercial (`false`).
    Example: false

  - `items` (array)
    List of items in the order. To create an order, minimum one item is required.  Note: Either use customsProductId or item properties individually.

  - `items.customsProductId` (string)
    Use this identifier to prefill customs item fields (HS tariff code, origin country, unit price, weight, quantity).
Generate custom product identifier using [Add Customs Product](/openapi/customproduct/customs-product/addcustomsproduct) API.
> Note: When creating an order, either provide customsProductId or individual values of an item within the item object.

  - `items.itemId` (string, required)
    This is the unique identifier for the commodity (for example: sku).
    Example: item1234

  - `items.url` (string)
    Commodity URL on merchant site.
    Example: https://example.com/products/wireless-mouse

  - `items.description` (string)
    Detailed description of the commodity.
    Example: Wireless mouse with USB receiver

  - `items.hSTariffCode` (string)
    Destination country's tariff-classification number for the commodity (HS tariff code). Max length: 14.
    Example: 847160

  - `items.hSTariffCodeCountry` (string)
    ISO 3166-1 alpha-2 country code supplying the HS code. Required if hSTariffCode is used.
    Example: US

  - `items.originCountryCode` (string)
    ISO 3166-1 alpha-2 country code where the order is originated.
    Example: US

  - `items.originStateProvince` (string)
    ISO 3166-1 alpha-2 state code of the country where the order is originated.

  - `items.quantity` (integer)
    Total number of items of this commodity.
    Example: 2

  - `items.unitPrice` (number)
    Price of one item of this commodity. Currency is declared under customsInfo.
    Example: 25

  - `items.weight` (number)
    Required. The parcel's weight.
    Example: 12.5

  - `items.weightUnit` (string)
    Weight and unit of measure of one item of the commodity.
    Enum: "OZ", "GM"

  - `additionalAddresses` (array)
    A list of additional addresses associated with the order.
    Example: [{"address":{"addressLine1":"638 Manitoba Ave","cityTown":"Winnipeg","countryCode":"CA","name":"billing name","phone":"203-555-1213","postalCode":"R2W 2H2","company":"Pitney Bowes Inc.","stateProvince…

  - `additionalAddresses.address` (object)
    The additional address details.

  - `additionalAddresses.address.residential` (boolean)
    If the address is residential.
    Example: false

  - `additionalAddresses.address.phone` (string)
    Contact phone number for the address.
    Example: 732-443-1007

  - `additionalAddresses.address.countryCode` (string)
    The ISO 2-letter country code.
    Example: US

  - `additionalAddresses.address.company` (string)
    The name of the company associated with the address.
    Example: ABC Company

  - `additionalAddresses.address.postalCode` (string)
    ZIP or postal code.
    Example: 08810-1411

  - `additionalAddresses.address.cityTown` (string)
    Name of the city or town.
    Example: DAYTON

  - `additionalAddresses.address.name` (string)
    Name of the contact person.
    Example: Warehouse Manager

  - `additionalAddresses.address.stateProvince` (string)
    State or province code.
    Example: NJ

  - `additionalAddresses.address.addressLine1` (string)
    Primary street address line.
    Example: 2270 US HIGHWAY 130

  - `additionalAddresses.addressType` (string)
    Type of the additional address (e.g., THIRD_PARTY). This is required if passing `additionalAddresses`.
    Example: THIRD_PARTY

  - `shippingPreferences` (object)
    Shipping-related preferences for an order.

  - `shippingPreferences.carrier` (string)
    Carrier selected for shipping the order.
    Example: UPS

  - `shippingPreferences.parcelId` (string)
    Identifier of the parcel used for shipment for the order.
    Example: PKG-001

  - `shippingPreferences.parcelType` (string)
    Type of parcel used for shipping.
    Example: PKG

  - `shippingPreferences.service` (string)
    Shipping service selected for the order.
    Example: 2DA

  - `shippingPreferences.parcel` (object)
    The details of the Parcel.

  - `shippingPreferences.parcel.length` (number)
    Length is always the greatest of the three dimensions. The other two dimensions are used in the calculation of the girth.
    Example: 2

  - `shippingPreferences.parcel.width` (number)
    There is no strict rule as to which element is the width or the height, but the width is the second greatest dimension of a parcel by convention.
    Example: 1

  - `shippingPreferences.parcel.height` (number)
    By convention, the height is the smallest dimension of the parcel.
    Example: 1

  - `shippingPreferences.parcel.dimUnit` (string)
    DimUnit is a standard for measuring the physical quantities of specified dimension parameters. The valid values are: Inch and Centimeter.
    Enum: "IN", "CM"

  - `shippingPreferences.parcel.weightUnit` (string, required)
    WeightUnit is a standard for measuring the physical quantities of specified weight.
    Enum: "OZ", "GM"

  - `shippingPreferences.parcel.weight` (number)
    Weight measures the heaviness of an object (how heavy an object is) .
    Example: 2

  - `shippingPreferences.specialServices` (array)
    It provides a carrier based special or extra service, which also varies as per selected service and parcel type.

  - `shippingPreferences.specialServices.inputParameters` (array)
    > - The parameters to set for the special service, such as an insurance value or a receipt-number format. This is required if the special service requires input parameters. If a special service does not require input parameters, you can either leave out the array or pass an empty array.

  - `shippingPreferences.specialServices.inputParameters.name` (string, required)
    The name of the parameter i.e. key.
    Example: INPUT_VALUE

  - `shippingPreferences.specialServices.inputParameters.value` (string, required)
    > - Parameter value is as per the carrier specifications. It provides blank value, when presence of parameter is sufficient, and no value is associated.
    Example: 100

  - `shippingPreferences.specialServices.specialserviceId` (string)
    A unique identifier associate to the special service, which is to be applied.
    Example: Ins

  - `shippingPreferences.customs` (object)

  - `shippingPreferences.customs.customsInfo` (object)
    Contains customs declaration and regulatory details.

  - `shippingPreferences.customs.customsInfo.certificateNumber` (string)
    Certificate number associated with the shipment, if applicable.
    Example: 98788877

  - `shippingPreferences.customs.customsInfo.comments` (string)
    Additional comments related to the customs declaration.
    Example: string

  - `shippingPreferences.customs.customsInfo.currencyCode` (string)
    Currency code used for customs values, in ISO 4217 format.
    Example: USD

  - `shippingPreferences.customs.customsInfo.customsDeclaredValue` (number)
    Total declared value of the shipment for customs purposes.
    Example: 0

  - `shippingPreferences.customs.customsInfo.EELPFC` (string)
    Electronic Export Information (EEI) or Proof of Filing Citation (PFC).
    Example: NOEEI 30.36

  - `shippingPreferences.customs.customsInfo.fromCustomsReference` (string)
    Customs reference number provided by the shipper.
    Example: 11111

  - `shippingPreferences.customs.customsInfo.importerCustomsReference` (string)
    Customs reference number provided by the importer.
    Example: 987654

  - `shippingPreferences.customs.customsInfo.insuredAmount` (number)
    Insured value of the shipment.
    Example: 0

  - `shippingPreferences.customs.customsInfo.invoiceNumber` (string)
    Commercial invoice number associated with the shipment.
    Example: 001189223

  - `shippingPreferences.customs.customsInfo.licenseNumber` (string)
    Export or import license number, if applicable.
    Example: 456ABC123

  - `shippingPreferences.customs.customsInfo.reasonForExport` (string)
    Reason for exporting the shipment.
    Example: GIFT

  - `shippingPreferences.shipmentProvider` (object)

  - `shippingPreferences.shipmentProvider.shipViaCode` (string)
    Code that identifies the shipping method or carrier routing to be used for the shipment.
    Example: shipViaCode123

  - `shippingPreferences.carrierPayments` (array)
    Defines how carrier charges are billed to a third party. Use this field to specify
account and charge type details for transportation and/or duties and taxes. This
field is optional and currently supported for FedEx, UPS, DHL Express and Purolator.
- If no `party` (who will pay for TRANSPORTATION_CHARGES or duties and taxes) is explicitly specified during shipment creation, the charges will automatically default to the sender (shipper). To direct charges to a different party, the appropriate bill-to details must be provided in the request.
    Example: [{"accountNumber":"602684342","countryCode":"US","postalCode":"30305","party":"BILL_RECEIVER","typeOfCharge":"ALL_CHARGES"}]

  - `shippingPreferences.carrierPayments.accountNumber` (string)
    The FedEx account number of the party to be billed.
    Example: 602684342

  - `shippingPreferences.carrierPayments.countryCode` (string)
    Two-letter ISO country code of the party to be billed.
    Example: US

  - `shippingPreferences.carrierPayments.postalCode` (string)
    Postal code of the party to be billed.
    Example: 30305

  - `shippingPreferences.carrierPayments.party` (string)
    Billing party for the shipment charges.
    Enum: "BILL_RECEIVER", "BILL_SENDER", "BILL_THIRD_PARTY", "BILL_RECEIVER_CONTRACT"

  - `shippingPreferences.carrierPayments.typeOfCharge` (string)
    The type of charge billed to the specified party. Possible values:
- TRANSPORTATION_CHARGES: Transportation-related charges only. When billing transportation charges to the sender (BILL_SENDER), the accountNumber must match the account used to initiate the shipment.
- DUTIES_AND_TAXES: Duties and taxes only
- ALL_CHARGES: All Shipment Charges (Transportatio and Duties and Taxes)Required when using BILL_RECEIVER_CONTRACT (FedEx COLLECT); includes all charges
    Enum: "TRANSPORTATION_CHARGES", "DUTIES_AND_TAXES", "ALL_CHARGES"

  - `shippingPreferences.carrierPayments.accountNumber` (string)
    The UPS account number of the party to be billed.
    Example: 1Z999AA10123456784

  - `shippingPreferences.carrierPayments.party` (string)
    Party to be billed.
    Enum: "BILL_RECEIVER", "BILL_SENDER", "BILL_THIRD_PARTY"

  - `shippingPreferences.carrierPayments.typeOfCharge` (string)
    The type of charge billed to the specified party. UPS requires split charges. ALL_CHARGES is not supported.
    Enum: "TRANSPORTATION_CHARGES", "DUTIES_AND_TAXES"

  - `shippingPreferences.carrierPayments.accountNumber` (string)
    The DHL Express account number of the party to be billed.
    Example: DHL123456

  - `shippingPreferences.carrierPayments.party` (string)
    Billing party for DHL Express. Account number is required for all scenarios.
    Enum: "BILL_RECEIVER", "BILL_SENDER", "BILL_THIRD_PARTY", "BILL_RECEIVER_CONTRACT"

  - `shippingPreferences.carrierPayments.typeOfCharge` (string)
    The type of charge billed to the specified party.
    Enum: "TRANSPORTATION_CHARGES", "DUTIES_AND_TAXES", "ALL_CHARGES"

  - `shippingPreferences.shipmentOptions` (object)
    Additional shipment options.

  - `shippingPreferences.shipmentOptions.packageDescription` (string)
    Description of the contents of the shipment.
    Example: testpackageDescription

  - `shippingPreferences.dateOfShipment` (string)
    Planned shipment date for the order.
    Example: 2026-01-30

  - `orderNumber` (string, required)
    The unique identifier for the LTL order.
    Example: ORD-F-ORD12832p

  - `orderMessage` (object)
    An optional message added to an order, such as a gift note or short greeting.

  - `orderMessage.type` (string)
    The type of message.
    Enum: "ANNIVERSARY", "BIRTHDAY", "GIFT"

  - `orderMessage.message` (string)
    The message text shown with the order. Maximum length is 200 characters.
    Example: Happy Birthday!

  - `customerInfo` (object)
    End customer profile for communication.

  - `customerInfo.firstName` (string)
    Example: John

  - `customerInfo.lastName` (string)
    Example: Doe

  - `customerInfo.email` (string)
    Example: john.doe@example.com

  - `customerInfo.customerId` (string)
    Example: CUST12345

  - `fromAddress` (object)
    The address from where the LTL order is generated.
    Example: {"name":"Warehouse A","company":"Company XYZ","addressLine1":"638 Manitoba Ave","cityTown":"Winnipeg","stateProvince":"MB","postalCode":"R2W 2H2","countryCode":"CA","phone":"1234567890","email":"wareh…

  - `toAddress` (object, required)
    The destination address for the LTL order.
    Example: {"name":"Jane Smith","company":"Company ABC","addressLine1":"1822 Franklin Street","cityTown":"Vancouver","stateProvince":"BC","postalCode":"V5L 1P8","countryCode":"CA","phone":"9876543210","email":"j…

  - `additionalAddresses` (array)
    Additional addresses associated with the LTL shipment.
Supported address types:
- FREIGHT_FORWARDER: Address of the freight forwarding company responsible for arranging transportation.
- ULTIMATE_CONSIGNEE: Final recipient or end party receiving the goods.
- THIRD_PARTY: Address of a third-party entity responsible for billing or payment.
    Example: [{"address":{"addressLine1":"638 Manitoba Ave","cityTown":"Winnipeg","countryCode":"CA","name":"billing name","phone":"203-555-1213","postalCode":"R2W 2H2","company":"Pitney Bowes Inc.","stateProvince…

  - `metadata` (array)
    Additional metadata that needs to be stored for this order.

  - `shippingPreferences` (object, required)

  - `shippingPreferences.carrier` (string)
    Carrier used for the LTL shipment.
    Example: PUROLATORFREIGHT

  - `shippingPreferences.service` (string)
    Service code used for the LTL shipment.
    Example: S

  - `shippingPreferences.shipmentOptions` (object)
    Additional shipment options supported by the carrier.

  - `shippingPreferences.shipmentOptions.additionalShipmentOptions` (array)
    List of carrier-specific shipment options.
    Example: [{"name":"PICKUP_LOCATION_TYPE","value":"AIRPORT_LOCATION_TYPE"},{"name":"DELIVERY_LOCATION_TYPE","value":"FARM_LOCATION_TYPE"}]

  - `shippingPreferences.shipmentOptions.additionalShipmentOptions.name` (string)
    Name of the shipment option.
    Example: PICKUP_LOCATION_TYPE

  - `shippingPreferences.shipmentOptions.additionalShipmentOptions.value` (string)
    Value associated with the shipment option.
    Example: AIRPORT_LOCATION_TYPE

  - `shippingPreferences.specialServices` (array)
    Shipment-level special services.

  - `shippingPreferences.specialServices.specialServiceId` (string)
    Example: OFFDAY

  - `shippingPreferences.parcels` (array)
    Parcel or freight handling units for the LTL order.

  - `shippingPreferences.parcels.parcelId` (string)
    Unique identifier assigned to the parcel within the shipment.
    Example: Box

  - `shippingPreferences.parcels.parcelType` (string)
    Type of freight handling unit.
    Example: Box

  - `shippingPreferences.parcels.pieceCount` (string)
    Number of pieces included in this freight handling unit.
    Example: 2

  - `shippingPreferences.parcels.parcelBrandedName` (string)
    Branded or commercial name associated with the parcel.
    Example: Box Brand

  - `shippingPreferences.parcels.parcelDescription` (string)
    Description of the parcel contents or packaging.
    Example: Box description

  - `shippingPreferences.parcels.handlingInstruction` (string)
    Special handling instructions for the parcel.
    Example: Handle with Care

  - `shippingPreferences.parcels.proNumber` (string)
    Carrier-issued PRO number used to identify and track the freight shipment.
    Example: proNumber123

  - `shippingPreferences.parcels.purchaseOrderNumber` (string)
    Purchase order number associated with the freight shipment.
    Example: PO123

  - `shippingPreferences.parcels.freightAccountNumber` (string)
    Freight billing account number used for carrier invoicing.
    Example: freightAccountNumber

  - `shippingPreferences.parcels.freightClass` (string)
    National Motor Freight Classification (NMFC) class assigned to the freight.
    Example: CLASS200

  - `shippingPreferences.parcels.nmfcCode` (string)
    National Motor Freight Classification (NMFC) code that identifies the commodity being shipped.
    Example: nmfcCode1

  - `shippingPreferences.parcels.billableWeight` (object)

  - `shippingPreferences.parcels.billableWeight.uom` (string)
    Example: kg

  - `shippingPreferences.parcels.billableWeight.value` (number)
    Example: 3

  - `shippingPreferences.parcels.references` (object)
    Additional parcel-level references and options.

  - `shippingPreferences.parcels.references.parcelOptions` (array)
    List of parcel-specific options.

  - `shippingPreferences.parcels.references.parcelOptions.name` (string)
    Name of the parcel option.
    Example: STACKABLE

  - `shippingPreferences.parcels.references.parcelOptions.value` (string)
    Value associated with the parcel option.
    Example: true

  - `shippingPreferences.parcels.specialServices` (array)
    Special services requested for this parcel.

  - `shippingPreferences.parcels.specialServices.specialServiceId` (string)
    Identifier of the special service requested for the parcel.
    Example: 2MEN

  - `shippingPreferences.parcels.items` (array)
    List of items packed within the parcel.

  - `shippingPreferences.dateOfShipment` (string)
    Planned shipment date for the LTL order.
    Example: 2026-06-09

  - `shippingPreferences.carrierPayments` (array)
    Defines how carrier charges are billed to different parties. Use this field to specify
account and charge type details for transportation and/or duties and taxes. This
field is optional.
    Example: [{"accountNumber":"602684342","countryCode":"US","postalCode":"30305","party":"BILL_RECEIVER","typeOfCharge":"TRANSPORTATION_CHARGES"}]

  - `shippingPreferences.carrierPayments.accountNumber` (string)
    Account number of the party to be billed.
    Example: 602684342

## Response 200 fields (application/json):

  - `orderId` (string)
    Unique identifier assigned to the created order.
    Example: PBcffM5ruasQ

  - `orderNumber` (string)
    The order number as provided in the request.
    Example: ORD12346ORD12346

  - `status` (string)
    Current status of the order created.
    Example: Success

  - `transactionCreateDate` (string)
    Timestamp of when the order was created.
    Example: 2025-06-30T10:53:24.554Z

## Response 400 fields (application/json):

  - `errorCode` (string)
    Error code(s) that appear due to HTTP  400- Invalid or Bad Request, e.g., validation-error.
    Example: INVALID_REQUEST

  - `errorDescription` (string)
    The HTTP 400 Bad Request response status code indicates that the server cannot process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
    Example: Error decoding request body

  - `additionalCode` (string)
    A unique identifier for the error, for example ILP10010, or ILP10030.
    Example: 0100054

  - `additionalInfo` (string)
    This is an additional information about the error. This error 'Invalid Request' might appear due to invalid data, or if the information is missing.
    Example: Invalid or missing required fields in the request payload

## Response 401 fields (application/json):

  - `errorCode` (string, required)
    Error code representing the unauthorized access error.
    Example: unauthorized_error

  - `message` (string, required)
    This is HTTP 401 Unauthorized response status code, which indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource.
    Example: Unauthorized access. Valid authentication credentials are required.

  - `additionalInfo` (string)
    Additional information about the unauthorized error.
    Example: Client request lacks valid authentication credentials.

## Response 500 fields (application/json):

  - `errorCode` (string, required)
    Error code representing the internal server error.
    Example: internal_server_error

  - `message` (string, required)
    This is HTTP 500 Internal Server Error response status code, which indicates that the server encountered an unexpected condition that prevented it from fulfilling the request.
    Example: A system error occurred. Please try again later.

  - `additionalInfo` (string)
    Additional information about the server error.
    Example: Unexpected condition occurred on the server while processing the request.

