API v1.0.0 POST /{mailedBy}/{mobo}/shipments it seems to always return returns 400 Schema validation failed

Every POST to .../shipping/v1/{ACCOUNT_NUMBER}/{ACCOUNT_NUMBER}/shipments returns:
{“errorCode”:“400”,“errorMessage”:“Schema validation Error”,“errorDescription”:“Schema validation failed”}

The request body has been validated field-by-field against Shipping-1.0.0.yaml and all required fields are present and correctly formatted (confirmed against the spec example and a working portal test).

Suspicion:
The portal analytics log for our app shows plan_version: "8.0.0" and product_version: "8.0.0". Could the app be subscribed to an old plan whose schema validation policy does not match the current v1.0.0 JSON API?

Example request body that returns 400:

{
  "groupId": "20260820",
  "requestedShippingPoint": "A1A1A1",
  "expectedMailingDate": "2026-08-20",
  "deliverySpec": {
    "serviceCode": "DOM.EP",
    "sender": {
      "name": "SENDER COMPANY INC",
      "company": "SENDER COMPANY INC",
      "contactPhone": "5550000000",
      "addressDetails": {
        "addressLine1": "123 Sender Street",
        "city": "Montreal",
        "provState": "QC",
        "countryCode": "CA",
        "postalZipCode": "A1A1A1"
      }
    },
    "destination": {
      "name": "RECIPIENT NAME",
      "addressDetails": {
        "addressLine1": "456 Dest Avenue",
        "city": "LAVAL",
        "provState": "QC",
        "countryCode": "CA",
        "postalZipCode": "B2B2B2"
      }
    },
    "parcelCharacteristics": { "weight": 0.181 },
    "printPreferences": { "outputFormat": "4x6" },
    "preferences": { "showPackingInstructions": false },
    "references": { "customerRef1": "REF-0001" },
    "settlementInfo": {
      "paidByCustomer": "{ACCOUNT_NUMBER}",
      "contractId": "{CONTRACT_ID}",
      "intendedMethodOfPayment": "Account"
    }
  }
}

Hi Joseph,

I have replied to your email and sent you the ticket number while our technical team investigate the error.

Many thanks,
The Developer Portal team

Si c’est possible d’envoyer la solution ici car j’ai le même problème; ca éviterais d’envoyer un courriel au support. Donc en attente de réponse ici ou du support.

merci

Hi Joseph,

Here’s what our technical team have found:

The issue I see is in the request Header for Content-Type is incorrect for all the request getting 400 Bad Request.

It is is expected to be application/json, but I currently see that as “application/json; Charset=UTF-8”.

This needs to be corrected when sending the request.

Please let us know if this resolves the problem.

Many thanks,
The Developer Portal team