POST Engagement Note Error

I’m getting a 400 error when trying to POST a new engagement. Here’s the request:

{
 "properties": {
 "engagement": {
 "active": true,
 "type": "NOTE"
 },
 "metadata": "{\"body\": \"note body\"}"
 }
}

Here’s the Response Header:

{
 "alt-svc": "h3-27=\":443\"; ma=86400,h3-28=\":443\"; ma=86400,h3-29=\":443\"; ma=86400,h3=\":443\"; ma=86400",
 "cf-cache-status": "DYNAMIC",
 "cf-ray": "661654b59a4c576d-IAD",
 "cf-request-id": "0ac1d3457f0000576d0fbe9000000001",
 "content-length": "116",
 "content-type": "application/json;charset=utf-8",
 "date": "Fri, 18 Jun 2021 17:45:20 GMT",
 "expect-ct": "max-age=604800,report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\"",
 "nel": "{\"report_to\":\"cf-nel\",\"max_age\":604800}",
 "report-to": "{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v2?s=DarpTxN4su6orwCfcw45nBAurJ%2BPfqxyu619SEuUp26kpTVUmV7Ky%2BDkKW92ekbVGai%2B5l%2FseEAoy6VZrjRR9fEwwcbB%2B0Mly8KQICtdMMOFaU6x3nD1MXP0PA%3D%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}",
 "strict-transport-security": "max-age=31536000; includeSubDomains; preload",
 "vary": "Accept-Encoding",
 "x-hubspot-correlation-id": "51b4cce1-a371-4b0c-8b94-a657bd3ba7a3",
 "x-hubspot-ratelimit-interval-milliseconds": "10000",
 "x-hubspot-ratelimit-max": "500",
 "x-hubspot-ratelimit-remaining": "499",
 "x-hubspot-ratelimit-secondly": "50",
 "x-hubspot-ratelimit-secondly-remaining": "49",
 "x-ms-apihub-cached-response": "true",
 "x-trace": "2BD1391499D6B3A28AD472D99E9D5F92E71FF6A9AD000000000000000000"
}

And the response body:

{
 "status": "error",
 "message": "engagement type cannot be null",
 "correlationId": "51b4cce1-a371-4b0c-8b94-a657bd3ba7a3"
}

@troystaylor , try removing that outer “properties” wrapping object and start with “engagement”

Something like:

{
 "engagement": {
 "active": true,
 "type": "NOTE",
 },
 "metadata": {
 "body": "note body"
 }
}

Also, the way you have the metadata formatted may cause a hiccup as well.

According to developer docs, it was listed SimplePublicObjectInputForCreate will do the job, but i don’t think that is available. Did you find any right solution to create note engagements ? I am working with python hubapiclient for crm integration.