Skip to main content
POST
/
crm
/
v3
/
properties
/
{objectType}
/
batch
/
create
Create a batch of properties
curl --request POST \
  --url https://api.hubapi.com/crm/v3/properties/{objectType}/batch/create \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "inputs": [
    {
      "displayOrder": 2,
      "fieldType": "select",
      "formField": true,
      "groupName": "contactinformation",
      "hasUniqueValue": false,
      "hidden": false,
      "label": "My Contact Property",
      "name": "my_contact_property",
      "options": [
        {
          "description": "Choice number one",
          "displayOrder": 1,
          "hidden": false,
          "label": "Option A",
          "value": "A"
        },
        {
          "description": "Choice number two",
          "displayOrder": 2,
          "hidden": false,
          "label": "Option B",
          "value": "B"
        }
      ],
      "type": "enumeration"
    }
  ]
}
'
{
  "completedAt": "2023-11-07T05:31:56Z",
  "results": [
    {
      "displayOrder": 2,
      "fieldType": "select",
      "formField": true,
      "groupName": "contactinformation",
      "hasUniqueValue": false,
      "hidden": false,
      "label": "My Contact Property",
      "modificationMetadata": {
        "archivable": true,
        "readOnlyDefinition": false,
        "readOnlyOptions": false,
        "readOnlyValue": false
      },
      "name": "my_contact_property",
      "options": [
        {
          "description": "Choice number one",
          "displayOrder": 1,
          "hidden": false,
          "label": "Option A",
          "value": "A"
        },
        {
          "description": "Choice number two",
          "displayOrder": 2,
          "hidden": false,
          "label": "Option B",
          "value": "B"
        }
      ],
      "type": "enumeration"
    }
  ],
  "startedAt": "2023-11-07T05:31:56Z",
  "status": "CANCELED",
  "errors": [
    {
      "category": "<string>",
      "context": {},
      "errors": [
        {
          "message": "<string>",
          "code": "<string>",
          "context": "{missingScopes=[scope1, scope2]}",
          "in": "<string>",
          "subCategory": "<string>"
        }
      ],
      "links": {},
      "message": "<string>",
      "status": "<string>",
      "id": "<string>",
      "subCategory": {}
    }
  ],
  "links": {},
  "numErrors": 123,
  "requestedAt": "2023-11-07T05:31:56Z"
}

Supported products

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Path Parameters

objectType
string
required

The type of object for which a batch of new properties is being created.

Body

application/json
inputs
object[]
required

Response

successful operation

completedAt
string<date-time>
required

The timestamp indicating when the batch operation was completed.

results
object[]
required
startedAt
string<date-time>
required

The timestamp indicating when the batch operation began processing.

status
enum<string>
required

The current status of the batch operation, with possible values being CANCELED, COMPLETE, PENDING, or PROCESSING.

Available options:
CANCELED,
COMPLETE,
PENDING,
PROCESSING
errors
object[]

A collection of URLs linking to documentation or resources related to the batch operation.

numErrors
integer<int32>

The total number of errors encountered during the batch operation.

requestedAt
string<date-time>

The timestamp indicating when the batch operation was requested.

Last modified on February 12, 2026