Skip to content
Pitch2SaleDevelopers
Open the app
Early access: these pages are being written and reviewed. Facts in the header boxes come straight from the product.

Create a custom object type

POST
/api/v1/custom-objects
curl --request POST \
--url https://api.pitch2sale.com/api/v1/custom-objects \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "api_identifier": "example", "label_singular": "example", "label_plural": "example", "description": "example", "icon": "example", "color": "example", "is_active": true, "fields": [ { "label": "example", "type": "text", "reference_target": { "kind": "custom", "object_definition_id": "example", "entity": "lead", "cardinality": "one" }, "key": "example", "is_required": true, "default_value": "example", "choices": [ "example" ], "is_unique": true, "is_indexed": true, "is_searchable": true, "is_sortable": true, "is_filterable": true, "order": 1, "editable_role_ids": [ "example" ], "help_text": "example" } ] }'

Defines a new entity type with its fields. api_identifier cannot be changed later.

Media typeapplication/json
object
api_identifier
required
string
>= 3 characters <= 50 characters
label_singular
required
string
>= 1 characters <= 100 characters
label_plural
required
string
>= 1 characters <= 100 characters
description
Any of:
string
<= 1000 characters
icon
Any of:
string
<= 50 characters
color
Any of:
string
<= 7 characters
is_active
boolean
fields
Array<object>
<= 500 items
object
label
required
string
>= 1 characters <= 200 characters
type
required
string
Allowed values: text number date boolean choice multi_choice rich_text url email phone reference
reference_target
Any of:
object
kind
required
string
Allowed values: custom standard
object_definition_id
Any of:
string
/^[0-9a-fA-F]{24}$/
entity
Any of:
string
Allowed values: lead contact opportunity
cardinality
string
Allowed values: one
key
string
>= 1 characters <= 64 characters
is_required
boolean
default_value
choices
Array<string>
<= 500 items
is_unique
boolean
is_indexed
boolean
is_searchable
boolean
is_sortable
boolean
is_filterable
boolean
order
integer
editable_role_ids
Array<string>
help_text
Any of:
string
<= 500 characters

The new object type

Media typeapplication/json
object
custom_object
required
object
_id
required
string
api_identifier
required
string
label_singular
required
string
label_plural
required
string
description
required
string | null
fields
required
Array<object>
object
_id
required
string
key
required
string
label
required
string
type
required
string
is_required
required
boolean
key
additional properties
any
is_active
required
boolean
is_archived
required
boolean
created_at
required
string
updated_at
required
string
key
additional properties
any
Examplegenerated
{
"custom_object": {
"_id": "example",
"api_identifier": "example",
"label_singular": "example",
"label_plural": "example",
"description": "example",
"fields": [
{
"_id": "example",
"key": "example",
"label": "example",
"type": "example",
"is_required": true
}
],
"is_active": true,
"is_archived": true,
"created_at": "example",
"updated_at": "example"
}
}

Validation failed

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}

Authentication required or token invalid

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}

Feature not available on the organization plan

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}

Role permission or token scope missing

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}

Rate limit exceeded

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}