Skip to content

Create Attribute

POST
/objects/{object_slug}/attributes

PREVIEW. This endpoint is deployed but gated: it returns 404 unless the hosted app platform is enabled for your organization. It is published here so the contract describes the whole surface, not so it can be called today.

Create a typed CRM field. Requires objects:manage and current Admin access.

Authorizations

Parameters

Path Parameters

object_slug
required
string

Header Parameters

X-Target-Org-Id
Any of:
string

Request Body required

object
attribute_type
required

Valid attribute types for the Custom Objects type system.

string
Allowed values: text number currency date timestamp checkbox select status email_address phone_number domain location personal_name record_reference rating actor_reference
config
Any of:

Configuration for specific attribute types.

object
currency_code
Any of:
string
max_value
Any of:
integer
options
Any of:
Array<object>
object
key
additional properties
any
referenced_object
Any of:
string
target_object
Any of:
string
default_value
Any of:
description
Any of:
string
is_default_value_enabled
boolean
is_multiselect
boolean
is_required
boolean
is_unique
boolean
slug
required
string
>= 1 characters <= 100 characters /^[a-z][a-z0-9_]*$/
sort_order
integer
title
required
string
>= 1 characters <= 200 characters

Responses

201

Successful Response

object
data
required

One field on a custom object, and the rules its values must satisfy.

object
attribute_type
required

One of the 16 supported attribute types (text, number, email_address, timestamp, select, record_reference, …). Determines how values are validated and canonicalized.

string
config

Type-specific configuration, e.g. select options. Record references require target_object and must resolve to active records in that object within the caller’s organization and app.

object
key
additional properties
any
default_value

Configured create default. Enabled non-null defaults pass the same validation as explicit values.

description
Any of:
string
is_archived

Archived fields retain their values and can be restored.

boolean
is_default_value_enabled

Apply the configured default when this field is omitted on create. Never applies on PATCH.

boolean
is_multiselect

Values are a list rather than a scalar.

boolean
is_required

Required on create. PATCH may omit it, but cannot clear it with null or an empty multivalue list.

boolean
is_system

Whether this field is protected as a system attribute.

boolean
is_unique

No two active records may hold the same value for this attribute. A collision is rejected with 409 duplicate_active_value.

boolean
slug
required

Stable API slug for the attribute, used as a payload key.

string
sort_order

Configured display order; equal values are ordered by API slug.

integer
title
required

Customer-facing field label, distinct from its stable API slug.

string
pagination
Any of:
object
has_next
required

Whether there are more pages

boolean
limit
required

Items per page

integer
next_cursor
Any of:
string
page
required

Current page number (1-indexed)

integer
total
required

Total number of items

integer

422

Validation Error

object
detail
Array<object>
object
loc
required
Array
msg
required
string
type
required
string