So in that case I’m not sure I can help. Below is my curl generated from Postman. There must be something else going on with the private app permissions or something I don’t really know. The app I used had the following permissions.
![]()
It was a trial with marketing ent and sales ent trial. But either should get you custom objects (obviously since you can make them in the UI).
curl --location --request POST 'https://api.hubapi.com/crm/v3/schemas' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer XXX' \
--data-raw '{
"labels": {
"singular": "Object",
"plural": "Objects"
},
"name": "Object",
"properties": [
{
"fieldType": "text",
"label": "Prop",
"name": "prop",
"type": "string"
}
],
"primaryDisplayProperty": "prop"
}'
All I’d suggest at this point is to maybe create a new private app and grant it everything and just “see” if it works. I really don’t know. Based on what I can see, it should work.
But as an aside, with the UI you really don’t need that API anyway. It’s no longer needed with it now being in the UI.