Skip to content
Go to Micro

Objects

ObjectsContacts

Create object
POST/v2/prism/{teamId}/contact
List records of an object type
GET/v2/prism/{teamId}/contact
Get object
GET/v2/prism/{teamId}/contact/{contactId}
Patch object
PATCH/v2/prism/{teamId}/contact/{contactId}
Delete object
DELETE/v2/prism/{teamId}/contact/{contactId}
Query
POST/v2/prism/{teamId}/contact/query
Total record count for an object type
GET/v2/prism/{teamId}/contact/count
Find a record by property value
GET/v2/prism/{teamId}/contact/by/{slug}/{value}
Upsert by property value
PUT/v2/prism/{teamId}/contact/by/{slug}/{value}
Import objects
POST/v2/prism/{teamId}/contact/import
Bulk update records (partial success)
POST/v2/prism/{teamId}/contact/batch/update
Bulk delete records (partial success)
POST/v2/prism/{teamId}/contact/batch/delete
Duplicate object
POST/v2/prism/{teamId}/contact/{contactId}/duplicate
Restore object
POST/v2/prism/{teamId}/contact/{contactId}/restore
ModelsExpand Collapse
Contact object { default, list }
default: optional map[unknown]

Properties keyed by property slug. Values can be strings, numbers, booleans, arrays, or null. For select/multiselect properties, values may be option slugs or option UUIDs on write; option slugs are returned on read.

list: optional unknown
ContactCreateResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
ContactListResponse object { data, has_more, next_cursor, total }
data: array of object { id, is_user_object, properties, source }
id: string
formatuuid
is_user_object: optional boolean
properties: optional map[unknown]

Selected property values keyed by property slug. For select/multiselect properties, option slugs are returned. For reference properties, values are nested { id, properties } objects.

source: optional string
formatuuid
has_more: boolean

Accurate end-of-data signal — false on the last page, never forces clients to overshoot.

next_cursor: optional string
total: optional number

Populated only when ?include_total=true was passed.

ContactGetResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
ContactUpdateResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
ContactQueryResponse object { data, has_more, next_cursor, total }
data: array of object { id, is_user_object, properties, source }
id: string
formatuuid
is_user_object: optional boolean
properties: optional map[unknown]

Selected property values keyed by property slug. For select/multiselect properties, option slugs are returned. For reference properties, values are nested { id, properties } objects.

source: optional string
formatuuid
has_more: boolean

Accurate end-of-data signal. False when this page contains the last record; true only when at least one more record exists. (Implementation note: the server fetches one extra row internally to determine this — clients never need to overshoot to discover the end.)

next_cursor: optional string

Opaque cursor pointing at the next page. Pass it back unchanged in the request body (cursor) of the next call. Null when has_more is false.

total: optional number

Only populated when the request set include_total: true. Total number of records matching the query, ignoring pagination. Opt-in because it costs an additional pass over the result set.

ContactCountResponse object { total }
total: number

Number of records matching the access scope.

ContactFindResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
ContactUpsertResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
ContactBulkCreateResponse object { job_id, status, total, 8 more }

Status snapshot of an import job. Same shape used by the POST /import response and by GET /imports/{jobId}.

job_id: string

Null for sync imports (results inlined). Set for async imports.

status: "complete" or "processing" or "failed"
One of the following:
"complete"
"processing"
"failed"
total: number

Total number of rows in the import.

created_at: optional string
formatdate-time
error: optional object { code, message }

Set when status=failed; describes the job-level failure (not per-row).

code: optional string
message: optional string
expires_at: optional string
formatdate-time
failed: optional number
processed: optional number

Rows that have been attempted (succeeded + failed).

results: optional array of object { id, created, error, existing }

Per-row outcomes. Always present for sync imports; populated for async imports once the job reaches complete.

id: optional string
formatuuid
created: optional boolean
error: optional object { code, message }
code: optional string
message: optional string
existing: optional boolean

True if the row matched an existing record via the dedupe key.

succeeded: optional number
updated_at: optional string
formatdate-time
ContactBulkUpdateResponse object { results, summary }

Partial-success bulk operation result. Inspect results[].status per item; the operation as a whole returns 200 even if some items failed.

results: array of object { id, status, error, record }
id: string

Item ID, or null if the input was unparseable.

status: "ok" or "error"
One of the following:
"ok"
"error"
error: optional object { code, message }
code: optional string
message: optional string
record: optional object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
summary: object { failed, succeeded, total }
failed: number
succeeded: number
total: number
ContactBulkDeleteResponse object { results, summary }

Partial-success bulk operation result. Inspect results[].status per item; the operation as a whole returns 200 even if some items failed.

results: array of object { id, status, error, record }
id: string

Item ID, or null if the input was unparseable.

status: "ok" or "error"
One of the following:
"ok"
"error"
error: optional object { code, message }
code: optional string
message: optional string
record: optional object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
summary: object { failed, succeeded, total }
failed: number
succeeded: number
total: number
ContactDuplicateResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
ContactRestoreResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown

ObjectsOrganizations

Create object
POST/v2/prism/{teamId}/organization
List records of an object type
GET/v2/prism/{teamId}/organization
Get object
GET/v2/prism/{teamId}/organization/{organizationId}
Patch object
PATCH/v2/prism/{teamId}/organization/{organizationId}
Delete object
DELETE/v2/prism/{teamId}/organization/{organizationId}
Query
POST/v2/prism/{teamId}/organization/query
Total record count for an object type
GET/v2/prism/{teamId}/organization/count
Find a record by property value
GET/v2/prism/{teamId}/organization/by/{slug}/{value}
Upsert by property value
PUT/v2/prism/{teamId}/organization/by/{slug}/{value}
Import objects
POST/v2/prism/{teamId}/organization/import
Bulk update records (partial success)
POST/v2/prism/{teamId}/organization/batch/update
Bulk delete records (partial success)
POST/v2/prism/{teamId}/organization/batch/delete
Duplicate object
POST/v2/prism/{teamId}/organization/{organizationId}/duplicate
Restore object
POST/v2/prism/{teamId}/organization/{organizationId}/restore
ModelsExpand Collapse
Organization object { default, list }
default: optional map[unknown]

Properties keyed by property slug. Values can be strings, numbers, booleans, arrays, or null. For select/multiselect properties, values may be option slugs or option UUIDs on write; option slugs are returned on read.

list: optional unknown
OrganizationCreateResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
OrganizationListResponse object { data, has_more, next_cursor, total }
data: array of object { id, is_user_object, properties, source }
id: string
formatuuid
is_user_object: optional boolean
properties: optional map[unknown]

Selected property values keyed by property slug. For select/multiselect properties, option slugs are returned. For reference properties, values are nested { id, properties } objects.

source: optional string
formatuuid
has_more: boolean

Accurate end-of-data signal — false on the last page, never forces clients to overshoot.

next_cursor: optional string
total: optional number

Populated only when ?include_total=true was passed.

OrganizationGetResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
OrganizationUpdateResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
OrganizationQueryResponse object { data, has_more, next_cursor, total }
data: array of object { id, is_user_object, properties, source }
id: string
formatuuid
is_user_object: optional boolean
properties: optional map[unknown]

Selected property values keyed by property slug. For select/multiselect properties, option slugs are returned. For reference properties, values are nested { id, properties } objects.

source: optional string
formatuuid
has_more: boolean

Accurate end-of-data signal. False when this page contains the last record; true only when at least one more record exists. (Implementation note: the server fetches one extra row internally to determine this — clients never need to overshoot to discover the end.)

next_cursor: optional string

Opaque cursor pointing at the next page. Pass it back unchanged in the request body (cursor) of the next call. Null when has_more is false.

total: optional number

Only populated when the request set include_total: true. Total number of records matching the query, ignoring pagination. Opt-in because it costs an additional pass over the result set.

OrganizationCountResponse object { total }
total: number

Number of records matching the access scope.

OrganizationFindResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
OrganizationUpsertResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
OrganizationBulkCreateResponse object { job_id, status, total, 8 more }

Status snapshot of an import job. Same shape used by the POST /import response and by GET /imports/{jobId}.

job_id: string

Null for sync imports (results inlined). Set for async imports.

status: "complete" or "processing" or "failed"
One of the following:
"complete"
"processing"
"failed"
total: number

Total number of rows in the import.

created_at: optional string
formatdate-time
error: optional object { code, message }

Set when status=failed; describes the job-level failure (not per-row).

code: optional string
message: optional string
expires_at: optional string
formatdate-time
failed: optional number
processed: optional number

Rows that have been attempted (succeeded + failed).

results: optional array of object { id, created, error, existing }

Per-row outcomes. Always present for sync imports; populated for async imports once the job reaches complete.

id: optional string
formatuuid
created: optional boolean
error: optional object { code, message }
code: optional string
message: optional string
existing: optional boolean

True if the row matched an existing record via the dedupe key.

succeeded: optional number
updated_at: optional string
formatdate-time
OrganizationBulkUpdateResponse object { results, summary }

Partial-success bulk operation result. Inspect results[].status per item; the operation as a whole returns 200 even if some items failed.

results: array of object { id, status, error, record }
id: string

Item ID, or null if the input was unparseable.

status: "ok" or "error"
One of the following:
"ok"
"error"
error: optional object { code, message }
code: optional string
message: optional string
record: optional object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
summary: object { failed, succeeded, total }
failed: number
succeeded: number
total: number
OrganizationBulkDeleteResponse object { results, summary }

Partial-success bulk operation result. Inspect results[].status per item; the operation as a whole returns 200 even if some items failed.

results: array of object { id, status, error, record }
id: string

Item ID, or null if the input was unparseable.

status: "ok" or "error"
One of the following:
"ok"
"error"
error: optional object { code, message }
code: optional string
message: optional string
record: optional object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
summary: object { failed, succeeded, total }
failed: number
succeeded: number
total: number
OrganizationDuplicateResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
OrganizationRestoreResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown

ObjectsIdentities

Create object
POST/v2/prism/{teamId}/identity
List records of an object type
GET/v2/prism/{teamId}/identity
Get object
GET/v2/prism/{teamId}/identity/{identityId}
Patch object
PATCH/v2/prism/{teamId}/identity/{identityId}
Delete object
DELETE/v2/prism/{teamId}/identity/{identityId}
Query
POST/v2/prism/{teamId}/identity/query
Total record count for an object type
GET/v2/prism/{teamId}/identity/count
Find a record by property value
GET/v2/prism/{teamId}/identity/by/{slug}/{value}
Upsert by property value
PUT/v2/prism/{teamId}/identity/by/{slug}/{value}
Import objects
POST/v2/prism/{teamId}/identity/import
Bulk update records (partial success)
POST/v2/prism/{teamId}/identity/batch/update
Bulk delete records (partial success)
POST/v2/prism/{teamId}/identity/batch/delete
Duplicate object
POST/v2/prism/{teamId}/identity/{identityId}/duplicate
Restore object
POST/v2/prism/{teamId}/identity/{identityId}/restore
ModelsExpand Collapse
Identity object { default, list }
default: optional map[unknown]

Properties keyed by property slug. Values can be strings, numbers, booleans, arrays, or null. For select/multiselect properties, values may be option slugs or option UUIDs on write; option slugs are returned on read.

list: optional unknown
IdentityCreateResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
IdentityListResponse object { data, has_more, next_cursor, total }
data: array of object { id, is_user_object, properties, source }
id: string
formatuuid
is_user_object: optional boolean
properties: optional map[unknown]

Selected property values keyed by property slug. For select/multiselect properties, option slugs are returned. For reference properties, values are nested { id, properties } objects.

source: optional string
formatuuid
has_more: boolean

Accurate end-of-data signal — false on the last page, never forces clients to overshoot.

next_cursor: optional string
total: optional number

Populated only when ?include_total=true was passed.

IdentityGetResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
IdentityUpdateResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
IdentityQueryResponse object { data, has_more, next_cursor, total }
data: array of object { id, is_user_object, properties, source }
id: string
formatuuid
is_user_object: optional boolean
properties: optional map[unknown]

Selected property values keyed by property slug. For select/multiselect properties, option slugs are returned. For reference properties, values are nested { id, properties } objects.

source: optional string
formatuuid
has_more: boolean

Accurate end-of-data signal. False when this page contains the last record; true only when at least one more record exists. (Implementation note: the server fetches one extra row internally to determine this — clients never need to overshoot to discover the end.)

next_cursor: optional string

Opaque cursor pointing at the next page. Pass it back unchanged in the request body (cursor) of the next call. Null when has_more is false.

total: optional number

Only populated when the request set include_total: true. Total number of records matching the query, ignoring pagination. Opt-in because it costs an additional pass over the result set.

IdentityCountResponse object { total }
total: number

Number of records matching the access scope.

IdentityFindResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
IdentityUpsertResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
IdentityBulkCreateResponse object { job_id, status, total, 8 more }

Status snapshot of an import job. Same shape used by the POST /import response and by GET /imports/{jobId}.

job_id: string

Null for sync imports (results inlined). Set for async imports.

status: "complete" or "processing" or "failed"
One of the following:
"complete"
"processing"
"failed"
total: number

Total number of rows in the import.

created_at: optional string
formatdate-time
error: optional object { code, message }

Set when status=failed; describes the job-level failure (not per-row).

code: optional string
message: optional string
expires_at: optional string
formatdate-time
failed: optional number
processed: optional number

Rows that have been attempted (succeeded + failed).

results: optional array of object { id, created, error, existing }

Per-row outcomes. Always present for sync imports; populated for async imports once the job reaches complete.

id: optional string
formatuuid
created: optional boolean
error: optional object { code, message }
code: optional string
message: optional string
existing: optional boolean

True if the row matched an existing record via the dedupe key.

succeeded: optional number
updated_at: optional string
formatdate-time
IdentityBulkUpdateResponse object { results, summary }

Partial-success bulk operation result. Inspect results[].status per item; the operation as a whole returns 200 even if some items failed.

results: array of object { id, status, error, record }
id: string

Item ID, or null if the input was unparseable.

status: "ok" or "error"
One of the following:
"ok"
"error"
error: optional object { code, message }
code: optional string
message: optional string
record: optional object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
summary: object { failed, succeeded, total }
failed: number
succeeded: number
total: number
IdentityBulkDeleteResponse object { results, summary }

Partial-success bulk operation result. Inspect results[].status per item; the operation as a whole returns 200 even if some items failed.

results: array of object { id, status, error, record }
id: string

Item ID, or null if the input was unparseable.

status: "ok" or "error"
One of the following:
"ok"
"error"
error: optional object { code, message }
code: optional string
message: optional string
record: optional object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
summary: object { failed, succeeded, total }
failed: number
succeeded: number
total: number
IdentityDuplicateResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
IdentityRestoreResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown

ObjectsDeals

Create object
POST/v2/prism/{teamId}/deal
List records of an object type
GET/v2/prism/{teamId}/deal
Get object
GET/v2/prism/{teamId}/deal/{dealId}
Patch object
PATCH/v2/prism/{teamId}/deal/{dealId}
Delete object
DELETE/v2/prism/{teamId}/deal/{dealId}
Query
POST/v2/prism/{teamId}/deal/query
Total record count for an object type
GET/v2/prism/{teamId}/deal/count
Find a record by property value
GET/v2/prism/{teamId}/deal/by/{slug}/{value}
Upsert by property value
PUT/v2/prism/{teamId}/deal/by/{slug}/{value}
Import objects
POST/v2/prism/{teamId}/deal/import
Bulk update records (partial success)
POST/v2/prism/{teamId}/deal/batch/update
Bulk delete records (partial success)
POST/v2/prism/{teamId}/deal/batch/delete
Duplicate object
POST/v2/prism/{teamId}/deal/{dealId}/duplicate
Restore object
POST/v2/prism/{teamId}/deal/{dealId}/restore
ModelsExpand Collapse
Deal object { default, list }
default: optional map[unknown]

Properties keyed by property slug. Values can be strings, numbers, booleans, arrays, or null. For select/multiselect properties, values may be option slugs or option UUIDs on write; option slugs are returned on read.

list: optional unknown
DealCreateResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
DealListResponse object { data, has_more, next_cursor, total }
data: array of object { id, is_user_object, properties, source }
id: string
formatuuid
is_user_object: optional boolean
properties: optional map[unknown]

Selected property values keyed by property slug. For select/multiselect properties, option slugs are returned. For reference properties, values are nested { id, properties } objects.

source: optional string
formatuuid
has_more: boolean

Accurate end-of-data signal — false on the last page, never forces clients to overshoot.

next_cursor: optional string
total: optional number

Populated only when ?include_total=true was passed.

DealGetResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
DealUpdateResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
DealQueryResponse object { data, has_more, next_cursor, total }
data: array of object { id, is_user_object, properties, source }
id: string
formatuuid
is_user_object: optional boolean
properties: optional map[unknown]

Selected property values keyed by property slug. For select/multiselect properties, option slugs are returned. For reference properties, values are nested { id, properties } objects.

source: optional string
formatuuid
has_more: boolean

Accurate end-of-data signal. False when this page contains the last record; true only when at least one more record exists. (Implementation note: the server fetches one extra row internally to determine this — clients never need to overshoot to discover the end.)

next_cursor: optional string

Opaque cursor pointing at the next page. Pass it back unchanged in the request body (cursor) of the next call. Null when has_more is false.

total: optional number

Only populated when the request set include_total: true. Total number of records matching the query, ignoring pagination. Opt-in because it costs an additional pass over the result set.

DealCountResponse object { total }
total: number

Number of records matching the access scope.

DealFindResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
DealUpsertResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
DealBulkCreateResponse object { job_id, status, total, 8 more }

Status snapshot of an import job. Same shape used by the POST /import response and by GET /imports/{jobId}.

job_id: string

Null for sync imports (results inlined). Set for async imports.

status: "complete" or "processing" or "failed"
One of the following:
"complete"
"processing"
"failed"
total: number

Total number of rows in the import.

created_at: optional string
formatdate-time
error: optional object { code, message }

Set when status=failed; describes the job-level failure (not per-row).

code: optional string
message: optional string
expires_at: optional string
formatdate-time
failed: optional number
processed: optional number

Rows that have been attempted (succeeded + failed).

results: optional array of object { id, created, error, existing }

Per-row outcomes. Always present for sync imports; populated for async imports once the job reaches complete.

id: optional string
formatuuid
created: optional boolean
error: optional object { code, message }
code: optional string
message: optional string
existing: optional boolean

True if the row matched an existing record via the dedupe key.

succeeded: optional number
updated_at: optional string
formatdate-time
DealBulkUpdateResponse object { results, summary }

Partial-success bulk operation result. Inspect results[].status per item; the operation as a whole returns 200 even if some items failed.

results: array of object { id, status, error, record }
id: string

Item ID, or null if the input was unparseable.

status: "ok" or "error"
One of the following:
"ok"
"error"
error: optional object { code, message }
code: optional string
message: optional string
record: optional object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
summary: object { failed, succeeded, total }
failed: number
succeeded: number
total: number
DealBulkDeleteResponse object { results, summary }

Partial-success bulk operation result. Inspect results[].status per item; the operation as a whole returns 200 even if some items failed.

results: array of object { id, status, error, record }
id: string

Item ID, or null if the input was unparseable.

status: "ok" or "error"
One of the following:
"ok"
"error"
error: optional object { code, message }
code: optional string
message: optional string
record: optional object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
summary: object { failed, succeeded, total }
failed: number
succeeded: number
total: number
DealDuplicateResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
DealRestoreResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown

ObjectsDealsGrant

Get grant
GET/v2/prism/{teamId}/deal/{dealId}/grant
Update grant
PUT/v2/prism/{teamId}/deal/{dealId}/grant
ModelsExpand Collapse
GrantGetResponse object { team_group_id, team_id, user_id }
team_group_id: optional array of map["a" or "r" or "w"]
One of the following:
"a"
"r"
"w"
team_id: optional map["a" or "r" or "w"]
One of the following:
"a"
"r"
"w"
user_id: optional array of map["a" or "r" or "w"]
One of the following:
"a"
"r"
"w"
GrantUpdateResponse object { team_group_id, team_id, user_id }
team_group_id: optional array of map["a" or "r" or "w"]
One of the following:
"a"
"r"
"w"
team_id: optional map["a" or "r" or "w"]
One of the following:
"a"
"r"
"w"
user_id: optional array of map["a" or "r" or "w"]
One of the following:
"a"
"r"
"w"

ObjectsActions

Create object
POST/v2/prism/{teamId}/action
List records of an object type
GET/v2/prism/{teamId}/action
Get object
GET/v2/prism/{teamId}/action/{actionId}
Patch object
PATCH/v2/prism/{teamId}/action/{actionId}
Delete object
DELETE/v2/prism/{teamId}/action/{actionId}
Query
POST/v2/prism/{teamId}/action/query
Total record count for an object type
GET/v2/prism/{teamId}/action/count
Find a record by property value
GET/v2/prism/{teamId}/action/by/{slug}/{value}
Upsert by property value
PUT/v2/prism/{teamId}/action/by/{slug}/{value}
Import objects
POST/v2/prism/{teamId}/action/import
Bulk update records (partial success)
POST/v2/prism/{teamId}/action/batch/update
Bulk delete records (partial success)
POST/v2/prism/{teamId}/action/batch/delete
Duplicate object
POST/v2/prism/{teamId}/action/{actionId}/duplicate
Restore object
POST/v2/prism/{teamId}/action/{actionId}/restore
ModelsExpand Collapse
Action object { default, list }
default: optional map[unknown]

Properties keyed by property slug. Values can be strings, numbers, booleans, arrays, or null. For select/multiselect properties, values may be option slugs or option UUIDs on write; option slugs are returned on read.

list: optional unknown
ActionCreateResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
ActionListResponse object { data, has_more, next_cursor, total }
data: array of object { id, is_user_object, properties, source }
id: string
formatuuid
is_user_object: optional boolean
properties: optional map[unknown]

Selected property values keyed by property slug. For select/multiselect properties, option slugs are returned. For reference properties, values are nested { id, properties } objects.

source: optional string
formatuuid
has_more: boolean

Accurate end-of-data signal — false on the last page, never forces clients to overshoot.

next_cursor: optional string
total: optional number

Populated only when ?include_total=true was passed.

ActionGetResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
ActionUpdateResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
ActionQueryResponse object { data, has_more, next_cursor, total }
data: array of object { id, is_user_object, properties, source }
id: string
formatuuid
is_user_object: optional boolean
properties: optional map[unknown]

Selected property values keyed by property slug. For select/multiselect properties, option slugs are returned. For reference properties, values are nested { id, properties } objects.

source: optional string
formatuuid
has_more: boolean

Accurate end-of-data signal. False when this page contains the last record; true only when at least one more record exists. (Implementation note: the server fetches one extra row internally to determine this — clients never need to overshoot to discover the end.)

next_cursor: optional string

Opaque cursor pointing at the next page. Pass it back unchanged in the request body (cursor) of the next call. Null when has_more is false.

total: optional number

Only populated when the request set include_total: true. Total number of records matching the query, ignoring pagination. Opt-in because it costs an additional pass over the result set.

ActionCountResponse object { total }
total: number

Number of records matching the access scope.

ActionFindResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
ActionUpsertResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
ActionBulkCreateResponse object { job_id, status, total, 8 more }

Status snapshot of an import job. Same shape used by the POST /import response and by GET /imports/{jobId}.

job_id: string

Null for sync imports (results inlined). Set for async imports.

status: "complete" or "processing" or "failed"
One of the following:
"complete"
"processing"
"failed"
total: number

Total number of rows in the import.

created_at: optional string
formatdate-time
error: optional object { code, message }

Set when status=failed; describes the job-level failure (not per-row).

code: optional string
message: optional string
expires_at: optional string
formatdate-time
failed: optional number
processed: optional number

Rows that have been attempted (succeeded + failed).

results: optional array of object { id, created, error, existing }

Per-row outcomes. Always present for sync imports; populated for async imports once the job reaches complete.

id: optional string
formatuuid
created: optional boolean
error: optional object { code, message }
code: optional string
message: optional string
existing: optional boolean

True if the row matched an existing record via the dedupe key.

succeeded: optional number
updated_at: optional string
formatdate-time
ActionBulkUpdateResponse object { results, summary }

Partial-success bulk operation result. Inspect results[].status per item; the operation as a whole returns 200 even if some items failed.

results: array of object { id, status, error, record }
id: string

Item ID, or null if the input was unparseable.

status: "ok" or "error"
One of the following:
"ok"
"error"
error: optional object { code, message }
code: optional string
message: optional string
record: optional object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
summary: object { failed, succeeded, total }
failed: number
succeeded: number
total: number
ActionBulkDeleteResponse object { results, summary }

Partial-success bulk operation result. Inspect results[].status per item; the operation as a whole returns 200 even if some items failed.

results: array of object { id, status, error, record }
id: string

Item ID, or null if the input was unparseable.

status: "ok" or "error"
One of the following:
"ok"
"error"
error: optional object { code, message }
code: optional string
message: optional string
record: optional object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
summary: object { failed, succeeded, total }
failed: number
succeeded: number
total: number
ActionDuplicateResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
ActionRestoreResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown

ObjectsActionsGrant

Get grant
GET/v2/prism/{teamId}/action/{actionId}/grant
Update grant
PUT/v2/prism/{teamId}/action/{actionId}/grant
ModelsExpand Collapse
GrantGetResponse object { team_group_id, team_id, user_id }
team_group_id: optional array of map["a" or "r" or "w"]
One of the following:
"a"
"r"
"w"
team_id: optional map["a" or "r" or "w"]
One of the following:
"a"
"r"
"w"
user_id: optional array of map["a" or "r" or "w"]
One of the following:
"a"
"r"
"w"
GrantUpdateResponse object { team_group_id, team_id, user_id }
team_group_id: optional array of map["a" or "r" or "w"]
One of the following:
"a"
"r"
"w"
team_id: optional map["a" or "r" or "w"]
One of the following:
"a"
"r"
"w"
user_id: optional array of map["a" or "r" or "w"]
One of the following:
"a"
"r"
"w"

ObjectsDocuments

Create object
POST/v2/prism/{teamId}/document
List records of an object type
GET/v2/prism/{teamId}/document
Get object
GET/v2/prism/{teamId}/document/{documentId}
Patch object
PATCH/v2/prism/{teamId}/document/{documentId}
Delete object
DELETE/v2/prism/{teamId}/document/{documentId}
Query
POST/v2/prism/{teamId}/document/query
Total record count for an object type
GET/v2/prism/{teamId}/document/count
Find a record by property value
GET/v2/prism/{teamId}/document/by/{slug}/{value}
Upsert by property value
PUT/v2/prism/{teamId}/document/by/{slug}/{value}
Import objects
POST/v2/prism/{teamId}/document/import
Bulk update records (partial success)
POST/v2/prism/{teamId}/document/batch/update
Bulk delete records (partial success)
POST/v2/prism/{teamId}/document/batch/delete
Duplicate object
POST/v2/prism/{teamId}/document/{documentId}/duplicate
Restore object
POST/v2/prism/{teamId}/document/{documentId}/restore
ModelsExpand Collapse
Document object { default, list }
default: optional map[unknown]

Properties keyed by property slug. Values can be strings, numbers, booleans, arrays, or null. For select/multiselect properties, values may be option slugs or option UUIDs on write; option slugs are returned on read.

list: optional unknown
DocumentCreateResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
DocumentListResponse object { data, has_more, next_cursor, total }
data: array of object { id, is_user_object, properties, source }
id: string
formatuuid
is_user_object: optional boolean
properties: optional map[unknown]

Selected property values keyed by property slug. For select/multiselect properties, option slugs are returned. For reference properties, values are nested { id, properties } objects.

source: optional string
formatuuid
has_more: boolean

Accurate end-of-data signal — false on the last page, never forces clients to overshoot.

next_cursor: optional string
total: optional number

Populated only when ?include_total=true was passed.

DocumentGetResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
DocumentUpdateResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
DocumentQueryResponse object { data, has_more, next_cursor, total }
data: array of object { id, is_user_object, properties, source }
id: string
formatuuid
is_user_object: optional boolean
properties: optional map[unknown]

Selected property values keyed by property slug. For select/multiselect properties, option slugs are returned. For reference properties, values are nested { id, properties } objects.

source: optional string
formatuuid
has_more: boolean

Accurate end-of-data signal. False when this page contains the last record; true only when at least one more record exists. (Implementation note: the server fetches one extra row internally to determine this — clients never need to overshoot to discover the end.)

next_cursor: optional string

Opaque cursor pointing at the next page. Pass it back unchanged in the request body (cursor) of the next call. Null when has_more is false.

total: optional number

Only populated when the request set include_total: true. Total number of records matching the query, ignoring pagination. Opt-in because it costs an additional pass over the result set.

DocumentCountResponse object { total }
total: number

Number of records matching the access scope.

DocumentFindResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
DocumentUpsertResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
DocumentBulkCreateResponse object { job_id, status, total, 8 more }

Status snapshot of an import job. Same shape used by the POST /import response and by GET /imports/{jobId}.

job_id: string

Null for sync imports (results inlined). Set for async imports.

status: "complete" or "processing" or "failed"
One of the following:
"complete"
"processing"
"failed"
total: number

Total number of rows in the import.

created_at: optional string
formatdate-time
error: optional object { code, message }

Set when status=failed; describes the job-level failure (not per-row).

code: optional string
message: optional string
expires_at: optional string
formatdate-time
failed: optional number
processed: optional number

Rows that have been attempted (succeeded + failed).

results: optional array of object { id, created, error, existing }

Per-row outcomes. Always present for sync imports; populated for async imports once the job reaches complete.

id: optional string
formatuuid
created: optional boolean
error: optional object { code, message }
code: optional string
message: optional string
existing: optional boolean

True if the row matched an existing record via the dedupe key.

succeeded: optional number
updated_at: optional string
formatdate-time
DocumentBulkUpdateResponse object { results, summary }

Partial-success bulk operation result. Inspect results[].status per item; the operation as a whole returns 200 even if some items failed.

results: array of object { id, status, error, record }
id: string

Item ID, or null if the input was unparseable.

status: "ok" or "error"
One of the following:
"ok"
"error"
error: optional object { code, message }
code: optional string
message: optional string
record: optional object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
summary: object { failed, succeeded, total }
failed: number
succeeded: number
total: number
DocumentBulkDeleteResponse object { results, summary }

Partial-success bulk operation result. Inspect results[].status per item; the operation as a whole returns 200 even if some items failed.

results: array of object { id, status, error, record }
id: string

Item ID, or null if the input was unparseable.

status: "ok" or "error"
One of the following:
"ok"
"error"
error: optional object { code, message }
code: optional string
message: optional string
record: optional object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
summary: object { failed, succeeded, total }
failed: number
succeeded: number
total: number
DocumentDuplicateResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
DocumentRestoreResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown

ObjectsDocumentsGrant

Get grant
GET/v2/prism/{teamId}/document/{documentId}/grant
Update grant
PUT/v2/prism/{teamId}/document/{documentId}/grant
ModelsExpand Collapse
GrantGetResponse object { team_group_id, team_id, user_id }
team_group_id: optional array of map["a" or "r" or "w"]
One of the following:
"a"
"r"
"w"
team_id: optional map["a" or "r" or "w"]
One of the following:
"a"
"r"
"w"
user_id: optional array of map["a" or "r" or "w"]
One of the following:
"a"
"r"
"w"
GrantUpdateResponse object { team_group_id, team_id, user_id }
team_group_id: optional array of map["a" or "r" or "w"]
One of the following:
"a"
"r"
"w"
team_id: optional map["a" or "r" or "w"]
One of the following:
"a"
"r"
"w"
user_id: optional array of map["a" or "r" or "w"]
One of the following:
"a"
"r"
"w"

ObjectsEvents

List records of an object type
GET/v2/prism/{teamId}/event
Get object
GET/v2/prism/{teamId}/event/{eventId}
Query
POST/v2/prism/{teamId}/event/query
Total record count for an object type
GET/v2/prism/{teamId}/event/count
Find a record by property value
GET/v2/prism/{teamId}/event/by/{slug}/{value}
ModelsExpand Collapse
Event object { default, list }
default: optional map[unknown]

Properties keyed by property slug. Values can be strings, numbers, booleans, arrays, or null. For select/multiselect properties, values may be option slugs or option UUIDs on write; option slugs are returned on read.

list: optional unknown
EventListResponse object { data, has_more, next_cursor, total }
data: array of object { id, is_user_object, properties, source }
id: string
formatuuid
is_user_object: optional boolean
properties: optional map[unknown]

Selected property values keyed by property slug. For select/multiselect properties, option slugs are returned. For reference properties, values are nested { id, properties } objects.

source: optional string
formatuuid
has_more: boolean

Accurate end-of-data signal — false on the last page, never forces clients to overshoot.

next_cursor: optional string
total: optional number

Populated only when ?include_total=true was passed.

EventGetResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown
EventQueryResponse object { data, has_more, next_cursor, total }
data: array of object { id, is_user_object, properties, source }
id: string
formatuuid
is_user_object: optional boolean
properties: optional map[unknown]

Selected property values keyed by property slug. For select/multiselect properties, option slugs are returned. For reference properties, values are nested { id, properties } objects.

source: optional string
formatuuid
has_more: boolean

Accurate end-of-data signal. False when this page contains the last record; true only when at least one more record exists. (Implementation note: the server fetches one extra row internally to determine this — clients never need to overshoot to discover the end.)

next_cursor: optional string

Opaque cursor pointing at the next page. Pass it back unchanged in the request body (cursor) of the next call. Null when has_more is false.

total: optional number

Only populated when the request set include_total: true. Total number of records matching the query, ignoring pagination. Opt-in because it costs an additional pass over the result set.

EventCountResponse object { total }
total: number

Number of records matching the access scope.

EventFindResponse object { id, default, list }

Object returned by reads (get/create/patch/restore). id is always present.

id: string
formatuuid
default: optional map[unknown]

Properties keyed by property slug.

list: optional unknown

ObjectsEventsGrant

Get grant
GET/v2/prism/{teamId}/event/{eventId}/grant
Update grant
PUT/v2/prism/{teamId}/event/{eventId}/grant
ModelsExpand Collapse
GrantGetResponse object { team_group_id, team_id, user_id }
team_group_id: optional array of map["a" or "r" or "w"]
One of the following:
"a"
"r"
"w"
team_id: optional map["a" or "r" or "w"]
One of the following:
"a"
"r"
"w"
user_id: optional array of map["a" or "r" or "w"]
One of the following:
"a"
"r"
"w"
GrantUpdateResponse object { team_group_id, team_id, user_id }
team_group_id: optional array of map["a" or "r" or "w"]
One of the following:
"a"
"r"
"w"
team_id: optional map["a" or "r" or "w"]
One of the following:
"a"
"r"
"w"
user_id: optional array of map["a" or "r" or "w"]
One of the following:
"a"
"r"
"w"