Skip to content
Go to Micro

Prism

ModelsExpand Collapse
PrismObjectProperties { default, list }
default?: Record<string, 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?: unknown

PrismProperties

Get metadata properties by object type
client.prism.properties.list("comment" | "deal" | "engagement" | 9 moreobjectType, PropertyListParams { teamId, autofill, include_options, 2 more } params?, RequestOptionsoptions?): PropertyListResponse
GET/v2/prism/{teamId}/{objectType}/properties
Get metadata properties
client.prism.properties.listAll(PropertyListAllParams { teamId, autofill, include_options, 2 more } params?, RequestOptionsoptions?): PropertyListAllResponse
GET/v2/prism/{teamId}/properties
Create a property definition
client.prism.properties.create("comment" | "deal" | "engagement" | 9 moreobjectType, PropertyCreateParams { teamId, name, type, 7 more } params, RequestOptionsoptions?): PropertyDefinition { id, slug, type, 10 more }
POST/v2/prism/{teamId}/{objectType}/properties
Update a property definition
client.prism.properties.update(stringpropertyID, PropertyUpdateParams { teamId, objectType, type, 6 more } params, RequestOptionsoptions?): PropertyDefinition { id, slug, type, 10 more }
PATCH/v2/prism/{teamId}/{objectType}/properties/{propertyId}
Delete a property definition
client.prism.properties.delete(stringpropertyID, PropertyDeleteParams { teamId, objectType, type, list_id } params, RequestOptionsoptions?): void
DELETE/v2/prism/{teamId}/{objectType}/properties/{propertyId}
ModelsExpand Collapse
PropertyDefinition { id, slug, type, 10 more }

Definition for a single property on an object type. Definitions with team_id and crm_id null are shared defaults; values may be scoped to a team and/or list (crm).

id: string
formatuuid
slug: string
type: "num" | "str" | "bool" | 34 more

Storage type for a property definition. Determines which per-type table holds the values, and which display formats the property can take.

One of the following:
"num"
"str"
"bool"
"date"
"text"
"byte"
"select_str"
"multi_str"
"multiselect_str"
"jsonb"
"ref_identity"
"ref_user"
"ref_organization"
"ref_contact"
"ref_thread"
"ref_message"
"ref_event"
"ref_account"
"ref_ai_chat_thread"
"ref_ai_chat_message"
"multiref_ai_chat_message"
"multiref_agent_site"
"multiref_action"
"multiref_comment"
"multiref_contact"
"multiref_label"
"multiref_thread"
"multiref_messages"
"multiref_document"
"multiref_identity"
"multiref_organization"
"multiref_engagement"
"multiref_attendee"
"multiref_meeting_entry"
"multiref_read_receipt"
"multiref_account"
"multiref_source"
alias?: "app_stage" | null

Reserved alias naming this definition, or null. app_stage marks the list pipeline stage definition. Resolve stages by this field rather than by name, slug, or team_id: a superseded native status definition can coexist with the pipeline one and is otherwise identical on the wire.

crm_id?: string | null

Identifier of the list this definition is scoped to, when applicable.

formatuuid
list_id?: string | null

Canonical identifier of the list this definition is scoped to.

formatuuid
locked?: boolean
name?: string | null
native?: boolean
options?: Array<PropertyOption { id, slug, color_scheme, 7 more } >

Present only for select_str and multiselect_str types.

id: string
formatuuid
slug: string
color_scheme?: string | null
Deprecatedcrm_id?: string | null
formatuuid
description?: string | null
icon?: string | null
list_id?: string | null
formatuuid
option_group?: string | null
sort_index?: number | null
value?: string | null

Display value for the option.

required?: boolean

When true, records of this object type must carry a non-empty value for this property on create, and a patch may not clear it.

role_id?: string | null

The property’s display format. Always populated on definitions created through this API; a null here means the definition predates that and will render as an unknown format until it is patched.

formatuuid
team_id?: string | null
formatuuid
PropertyDefinitionCreate { name, type, icon, 5 more }

New property definition. Check for an existing property first (GET the same path with term) and reuse it rather than defining a near-duplicate — writes address properties by slug, so two definitions sharing a slug leave no addressable winner. For select_str/multiselect_str types you may pre-seed choices via options.

name: string

Human-readable name, unique within the scope the definition is created in. A name already taken in that scope returns 409; the message names the existing definition’s id, slug and type so you can write to it instead.

type: "num" | "str" | "bool" | 34 more

Storage type for a property definition. Determines which per-type table holds the values, and which display formats the property can take.

One of the following:
"num"
"str"
"bool"
"date"
"text"
"byte"
"select_str"
"multi_str"
"multiselect_str"
"jsonb"
"ref_identity"
"ref_user"
"ref_organization"
"ref_contact"
"ref_thread"
"ref_message"
"ref_event"
"ref_account"
"ref_ai_chat_thread"
"ref_ai_chat_message"
"multiref_ai_chat_message"
"multiref_agent_site"
"multiref_action"
"multiref_comment"
"multiref_contact"
"multiref_label"
"multiref_thread"
"multiref_messages"
"multiref_document"
"multiref_identity"
"multiref_organization"
"multiref_engagement"
"multiref_attendee"
"multiref_meeting_entry"
"multiref_read_receipt"
"multiref_account"
"multiref_source"
icon?: string | null
list_id?: string | null

Scopes the definition to one list/app. Omit it only for a property that genuinely belongs to the whole workspace: a definition created without list_id is workspace-global and surfaces on every list of this object type.

formatuuid
options?: Array<Option>

Only honored when type is select_str or multiselect_str.

value: string
color_scheme?: string | null
description?: string | null
icon?: string | null
option_group?: string | null
slug?: string
sort_index?: number | null
required?: boolean

When true, records must carry a non-empty value for this property on create. Defaults to false.

role_id?: string | null

Optional display format for the property, drawn from the workspace’s property roles. Omit it and the canonical role for type is applied (plain text, plain number, checkbox). Supply it only to pick a narrower format such as email, URL or currency; the role’s data type must match type.

formatuuid
slug?: string

URL-safe identifier. When omitted it defaults to a slugified name and is disambiguated with a numeric suffix on conflict. When supplied explicitly it is treated as part of your write contract and is never silently renamed — a collision returns 409 instead.

PropertyDefinitionPatch { type, enabled, icon, 3 more }

Partial update of a property definition. Only name, icon, enabled, and required are editable. type identifies the per-type table to write.

type: "num" | "str" | "bool" | 34 more

Storage type for a property definition. Determines which per-type table holds the values, and which display formats the property can take.

One of the following:
"num"
"str"
"bool"
"date"
"text"
"byte"
"select_str"
"multi_str"
"multiselect_str"
"jsonb"
"ref_identity"
"ref_user"
"ref_organization"
"ref_contact"
"ref_thread"
"ref_message"
"ref_event"
"ref_account"
"ref_ai_chat_thread"
"ref_ai_chat_message"
"multiref_ai_chat_message"
"multiref_agent_site"
"multiref_action"
"multiref_comment"
"multiref_contact"
"multiref_label"
"multiref_thread"
"multiref_messages"
"multiref_document"
"multiref_identity"
"multiref_organization"
"multiref_engagement"
"multiref_attendee"
"multiref_meeting_entry"
"multiref_read_receipt"
"multiref_account"
"multiref_source"
enabled?: boolean
icon?: string | null
list_id?: string | null
formatuuid
name?: string
required?: boolean
PropertyListResponse = Record<string, unknown>

Property definitions keyed by object type, then by property definition id (UUID). When the request scopes to a single object type, only that key is present.

PropertyListAllResponse = Record<string, unknown>

Property definitions keyed by object type, then by property definition id (UUID). When the request scopes to a single object type, only that key is present.

PrismPropertiesOptions

Add an option to a select property
client.prism.properties.options.create(stringpropertyID, OptionCreateParams { teamId, objectType, type, 9 more } params, RequestOptionsoptions?): PropertyOption { id, slug, color_scheme, 7 more }
POST/v2/prism/{teamId}/{objectType}/properties/{propertyId}/options
Update a property option
client.prism.properties.options.update(stringoptionID, OptionUpdateParams { teamId, objectType, propertyId, 11 more } params, RequestOptionsoptions?): PropertyOption { id, slug, color_scheme, 7 more }
PATCH/v2/prism/{teamId}/{objectType}/properties/{propertyId}/options/{optionId}
Delete a property option
client.prism.properties.options.delete(stringoptionID, OptionDeleteParams { teamId, objectType, propertyId, 2 more } params, RequestOptionsoptions?): void
DELETE/v2/prism/{teamId}/{objectType}/properties/{propertyId}/options/{optionId}
ModelsExpand Collapse
PropertyOption { id, slug, color_scheme, 7 more }

An enabled option for a select_str or multiselect_str property definition.

id: string
formatuuid
slug: string
color_scheme?: string | null
Deprecatedcrm_id?: string | null
formatuuid
description?: string | null
icon?: string | null
list_id?: string | null
formatuuid
option_group?: string | null
sort_index?: number | null
value?: string | null

Display value for the option.

PropertyOptionCreate { type, value, color_scheme, 6 more }

New option for a select_str or multiselect_str property. type identifies the per-type option table to write.

type: "num" | "str" | "bool" | 34 more

Storage type for a property definition. Determines which per-type table holds the values, and which display formats the property can take.

One of the following:
"num"
"str"
"bool"
"date"
"text"
"byte"
"select_str"
"multi_str"
"multiselect_str"
"jsonb"
"ref_identity"
"ref_user"
"ref_organization"
"ref_contact"
"ref_thread"
"ref_message"
"ref_event"
"ref_account"
"ref_ai_chat_thread"
"ref_ai_chat_message"
"multiref_ai_chat_message"
"multiref_agent_site"
"multiref_action"
"multiref_comment"
"multiref_contact"
"multiref_label"
"multiref_thread"
"multiref_messages"
"multiref_document"
"multiref_identity"
"multiref_organization"
"multiref_engagement"
"multiref_attendee"
"multiref_meeting_entry"
"multiref_read_receipt"
"multiref_account"
"multiref_source"
value: string

Display value for the option.

color_scheme?: string | null
description?: string | null
icon?: string | null
list_id?: string | null

Scope the option to a specific list/app.

formatuuid
option_group?: string | null
slug?: string

URL-safe identifier. Defaults to a slugified value.

sort_index?: number | null
PropertyOptionPatch { type, color_scheme, description, 7 more }

Partial update of a property option. type identifies the per-type option table to write.

type: "num" | "str" | "bool" | 34 more

Storage type for a property definition. Determines which per-type table holds the values, and which display formats the property can take.

One of the following:
"num"
"str"
"bool"
"date"
"text"
"byte"
"select_str"
"multi_str"
"multiselect_str"
"jsonb"
"ref_identity"
"ref_user"
"ref_organization"
"ref_contact"
"ref_thread"
"ref_message"
"ref_event"
"ref_account"
"ref_ai_chat_thread"
"ref_ai_chat_message"
"multiref_ai_chat_message"
"multiref_agent_site"
"multiref_action"
"multiref_comment"
"multiref_contact"
"multiref_label"
"multiref_thread"
"multiref_messages"
"multiref_document"
"multiref_identity"
"multiref_organization"
"multiref_engagement"
"multiref_attendee"
"multiref_meeting_entry"
"multiref_read_receipt"
"multiref_account"
"multiref_source"
color_scheme?: string | null
description?: string | null
enabled?: boolean
icon?: string | null
list_id?: string | null
formatuuid
option_group?: string | null
slug?: string
sort_index?: number | null
value?: string

PrismImports

Get the status of an import job
client.prism.imports.get(stringjobID, ImportGetParams { teamId } params?, RequestOptionsoptions?): ImportGetResponse { job_id, status, total, 8 more }
GET/v2/prism/{teamId}/imports/{jobId}
ModelsExpand Collapse
ImportGetResponse { 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

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

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

Total number of rows in the import.

created_at?: string
formatdate-time
error?: Error { code, message }

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

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

Rows that have been attempted (succeeded + failed).

results?: Array<Result>

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

id?: string | null
formatuuid
created?: boolean
error?: Error { code, message }
code?: string
message?: string
existing?: boolean

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

input_index?: number

Zero-based position of this row in the request.

minimum0
updated?: boolean

True if a matching record was updated.

succeeded?: number
updated_at?: string
formatdate-time

PrismObjects

PrismObjectsContacts

Create object
client.prism.objects.contacts.create(ContactCreateParams { teamId, _default, list, idempotencyKey } params?, RequestOptionsoptions?): ContactCreateResponse { id, default, list }
POST/v2/prism/{teamId}/contact
List records of an object type
client.prism.objects.contacts.list(ContactListParams { teamId, cursor, deleted, 5 more } params?, RequestOptionsoptions?): ContactListResponse { data, has_more, next_cursor, total }
GET/v2/prism/{teamId}/contact
Get object
client.prism.objects.contacts.get(stringcontactID, ContactGetParams { teamId, select } params?, RequestOptionsoptions?): ContactGetResponse { id, default, list }
GET/v2/prism/{teamId}/contact/{contactId}
Patch object
client.prism.objects.contacts.update(stringcontactID, ContactUpdateParams { teamId, _default, list, 2 more } params, RequestOptionsoptions?): ContactUpdateResponse { id, default, list }
PATCH/v2/prism/{teamId}/contact/{contactId}
Delete object
client.prism.objects.contacts.delete(stringcontactID, ContactDeleteParams { teamId, ifMatch } params?, RequestOptionsoptions?): void
DELETE/v2/prism/{teamId}/contact/{contactId}
Query
client.prism.objects.contacts.query(ContactQueryParams { teamId, query, id, 6 more } params, RequestOptionsoptions?): ContactQueryResponse { data, has_more, next_cursor, total }
POST/v2/prism/{teamId}/contact/query
Total record count for an object type
client.prism.objects.contacts.count(ContactCountParams { teamId, list_id } params?, RequestOptionsoptions?): ContactCountResponse { total }
GET/v2/prism/{teamId}/contact/count
Find a record by property value
client.prism.objects.contacts.find(stringvalue, ContactFindParams { teamId, slug, list_id } params, RequestOptionsoptions?): ContactFindResponse { id, default, list }
GET/v2/prism/{teamId}/contact/by/{slug}/{value}
Upsert by property value
client.prism.objects.contacts.upsert(stringvalue, ContactUpsertParams { teamId, slug, list_id, 3 more } params, RequestOptionsoptions?): ContactUpsertResponse { id, default, list }
PUT/v2/prism/{teamId}/contact/by/{slug}/{value}
Import objects
client.prism.objects.contacts.bulkCreate(ContactBulkCreateParams { teamId, objects, options, idempotencyKey } params, RequestOptionsoptions?): ContactBulkCreateResponse { job_id, status, total, 8 more }
POST/v2/prism/{teamId}/contact/import
Bulk update records (partial success)
client.prism.objects.contacts.bulkUpdate(ContactBulkUpdateParams { teamId, items, idempotencyKey } params, RequestOptionsoptions?): ContactBulkUpdateResponse { results, summary }
POST/v2/prism/{teamId}/contact/batch/update
Bulk delete records (partial success)
client.prism.objects.contacts.bulkDelete(ContactBulkDeleteParams { teamId, ids, idempotencyKey } params, RequestOptionsoptions?): ContactBulkDeleteResponse { results, summary }
POST/v2/prism/{teamId}/contact/batch/delete
Duplicate object
client.prism.objects.contacts.duplicate(stringcontactID, ContactDuplicateParams { teamId, idempotencyKey } params?, RequestOptionsoptions?): ContactDuplicateResponse { id, default, list }
POST/v2/prism/{teamId}/contact/{contactId}/duplicate
Restore object
client.prism.objects.contacts.restore(stringcontactID, ContactRestoreParams { teamId, idempotencyKey } params?, RequestOptionsoptions?): ContactRestoreResponse { id, default, list }
POST/v2/prism/{teamId}/contact/{contactId}/restore
ModelsExpand Collapse
Contact { default, list }
default?: Record<string, 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?: unknown
ContactCreateResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
ContactListResponse { data, has_more, next_cursor, total }
data: Array<Data>
id: string
formatuuid
is_user_object?: boolean
properties?: Record<string, 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?: Array<string> | null
has_more: boolean

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

next_cursor?: string | null
total?: number | null

Populated only when ?include_total=true was passed.

ContactGetResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
ContactUpdateResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
ContactQueryResponse { data, has_more, next_cursor, total }
data: Array<Data>
id: string
formatuuid
is_user_object?: boolean
properties?: Record<string, 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?: Array<string> | null
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?: string | null

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?: number | null

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 { total }
total: number

Number of records matching the access scope.

ContactFindResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
ContactUpsertResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
ContactBulkCreateResponse { 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

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

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

Total number of rows in the import.

created_at?: string
formatdate-time
error?: Error { code, message }

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

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

Rows that have been attempted (succeeded + failed).

results?: Array<Result>

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

id?: string | null
formatuuid
created?: boolean
error?: Error { code, message }
code?: string
message?: string
existing?: boolean

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

input_index?: number

Zero-based position of this row in the request.

minimum0
updated?: boolean

True if a matching record was updated.

succeeded?: number
updated_at?: string
formatdate-time
ContactBulkUpdateResponse { 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<Result>
id: string | null

Item ID, or null if the input was unparseable.

status: "ok" | "error"
One of the following:
"ok"
"error"
error?: Error { code, message }
code?: string
message?: string
record?: Record { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
summary: Summary { failed, succeeded, total }
failed: number
succeeded: number
total: number
ContactBulkDeleteResponse { 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<Result>
id: string | null

Item ID, or null if the input was unparseable.

status: "ok" | "error"
One of the following:
"ok"
"error"
error?: Error { code, message }
code?: string
message?: string
record?: Record { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
summary: Summary { failed, succeeded, total }
failed: number
succeeded: number
total: number
ContactDuplicateResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
ContactRestoreResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown

PrismObjectsOrganizations

Create object
client.prism.objects.organizations.create(OrganizationCreateParams { teamId, _default, list, idempotencyKey } params?, RequestOptionsoptions?): OrganizationCreateResponse { id, default, list }
POST/v2/prism/{teamId}/organization
List records of an object type
client.prism.objects.organizations.list(OrganizationListParams { teamId, cursor, deleted, 5 more } params?, RequestOptionsoptions?): OrganizationListResponse { data, has_more, next_cursor, total }
GET/v2/prism/{teamId}/organization
Get object
client.prism.objects.organizations.get(stringorganizationID, OrganizationGetParams { teamId, select } params?, RequestOptionsoptions?): OrganizationGetResponse { id, default, list }
GET/v2/prism/{teamId}/organization/{organizationId}
Patch object
client.prism.objects.organizations.update(stringorganizationID, OrganizationUpdateParams { teamId, _default, list, 2 more } params, RequestOptionsoptions?): OrganizationUpdateResponse { id, default, list }
PATCH/v2/prism/{teamId}/organization/{organizationId}
Delete object
client.prism.objects.organizations.delete(stringorganizationID, OrganizationDeleteParams { teamId, ifMatch } params?, RequestOptionsoptions?): void
DELETE/v2/prism/{teamId}/organization/{organizationId}
Query
client.prism.objects.organizations.query(OrganizationQueryParams { teamId, query, id, 6 more } params, RequestOptionsoptions?): OrganizationQueryResponse { data, has_more, next_cursor, total }
POST/v2/prism/{teamId}/organization/query
Total record count for an object type
client.prism.objects.organizations.count(OrganizationCountParams { teamId, list_id } params?, RequestOptionsoptions?): OrganizationCountResponse { total }
GET/v2/prism/{teamId}/organization/count
Find a record by property value
client.prism.objects.organizations.find(stringvalue, OrganizationFindParams { teamId, slug, list_id } params, RequestOptionsoptions?): OrganizationFindResponse { id, default, list }
GET/v2/prism/{teamId}/organization/by/{slug}/{value}
Upsert by property value
client.prism.objects.organizations.upsert(stringvalue, OrganizationUpsertParams { teamId, slug, list_id, 3 more } params, RequestOptionsoptions?): OrganizationUpsertResponse { id, default, list }
PUT/v2/prism/{teamId}/organization/by/{slug}/{value}
Import objects
client.prism.objects.organizations.bulkCreate(OrganizationBulkCreateParams { teamId, objects, options, idempotencyKey } params, RequestOptionsoptions?): OrganizationBulkCreateResponse { job_id, status, total, 8 more }
POST/v2/prism/{teamId}/organization/import
Bulk update records (partial success)
client.prism.objects.organizations.bulkUpdate(OrganizationBulkUpdateParams { teamId, items, idempotencyKey } params, RequestOptionsoptions?): OrganizationBulkUpdateResponse { results, summary }
POST/v2/prism/{teamId}/organization/batch/update
Bulk delete records (partial success)
client.prism.objects.organizations.bulkDelete(OrganizationBulkDeleteParams { teamId, ids, idempotencyKey } params, RequestOptionsoptions?): OrganizationBulkDeleteResponse { results, summary }
POST/v2/prism/{teamId}/organization/batch/delete
Duplicate object
client.prism.objects.organizations.duplicate(stringorganizationID, OrganizationDuplicateParams { teamId, idempotencyKey } params?, RequestOptionsoptions?): OrganizationDuplicateResponse { id, default, list }
POST/v2/prism/{teamId}/organization/{organizationId}/duplicate
Restore object
client.prism.objects.organizations.restore(stringorganizationID, OrganizationRestoreParams { teamId, idempotencyKey } params?, RequestOptionsoptions?): OrganizationRestoreResponse { id, default, list }
POST/v2/prism/{teamId}/organization/{organizationId}/restore
ModelsExpand Collapse
Organization { default, list }
default?: Record<string, 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?: unknown
OrganizationCreateResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
OrganizationListResponse { data, has_more, next_cursor, total }
data: Array<Data>
id: string
formatuuid
is_user_object?: boolean
properties?: Record<string, 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?: Array<string> | null
has_more: boolean

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

next_cursor?: string | null
total?: number | null

Populated only when ?include_total=true was passed.

OrganizationGetResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
OrganizationUpdateResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
OrganizationQueryResponse { data, has_more, next_cursor, total }
data: Array<Data>
id: string
formatuuid
is_user_object?: boolean
properties?: Record<string, 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?: Array<string> | null
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?: string | null

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?: number | null

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 { total }
total: number

Number of records matching the access scope.

OrganizationFindResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
OrganizationUpsertResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
OrganizationBulkCreateResponse { 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

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

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

Total number of rows in the import.

created_at?: string
formatdate-time
error?: Error { code, message }

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

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

Rows that have been attempted (succeeded + failed).

results?: Array<Result>

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

id?: string | null
formatuuid
created?: boolean
error?: Error { code, message }
code?: string
message?: string
existing?: boolean

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

input_index?: number

Zero-based position of this row in the request.

minimum0
updated?: boolean

True if a matching record was updated.

succeeded?: number
updated_at?: string
formatdate-time
OrganizationBulkUpdateResponse { 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<Result>
id: string | null

Item ID, or null if the input was unparseable.

status: "ok" | "error"
One of the following:
"ok"
"error"
error?: Error { code, message }
code?: string
message?: string
record?: Record { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
summary: Summary { failed, succeeded, total }
failed: number
succeeded: number
total: number
OrganizationBulkDeleteResponse { 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<Result>
id: string | null

Item ID, or null if the input was unparseable.

status: "ok" | "error"
One of the following:
"ok"
"error"
error?: Error { code, message }
code?: string
message?: string
record?: Record { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
summary: Summary { failed, succeeded, total }
failed: number
succeeded: number
total: number
OrganizationDuplicateResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
OrganizationRestoreResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown

PrismObjectsIdentities

Create object
client.prism.objects.identities.create(IdentityCreateParams { teamId, _default, list, idempotencyKey } params?, RequestOptionsoptions?): IdentityCreateResponse { id, default, list }
POST/v2/prism/{teamId}/identity
List records of an object type
client.prism.objects.identities.list(IdentityListParams { teamId, cursor, deleted, 5 more } params?, RequestOptionsoptions?): IdentityListResponse { data, has_more, next_cursor, total }
GET/v2/prism/{teamId}/identity
Get object
client.prism.objects.identities.get(stringidentityID, IdentityGetParams { teamId, select } params?, RequestOptionsoptions?): IdentityGetResponse { id, default, list }
GET/v2/prism/{teamId}/identity/{identityId}
Patch object
client.prism.objects.identities.update(stringidentityID, IdentityUpdateParams { teamId, _default, list, 2 more } params, RequestOptionsoptions?): IdentityUpdateResponse { id, default, list }
PATCH/v2/prism/{teamId}/identity/{identityId}
Delete object
client.prism.objects.identities.delete(stringidentityID, IdentityDeleteParams { teamId, ifMatch } params?, RequestOptionsoptions?): void
DELETE/v2/prism/{teamId}/identity/{identityId}
Query
client.prism.objects.identities.query(IdentityQueryParams { teamId, query, id, 6 more } params, RequestOptionsoptions?): IdentityQueryResponse { data, has_more, next_cursor, total }
POST/v2/prism/{teamId}/identity/query
Total record count for an object type
client.prism.objects.identities.count(IdentityCountParams { teamId, list_id } params?, RequestOptionsoptions?): IdentityCountResponse { total }
GET/v2/prism/{teamId}/identity/count
Find a record by property value
client.prism.objects.identities.find(stringvalue, IdentityFindParams { teamId, slug, list_id } params, RequestOptionsoptions?): IdentityFindResponse { id, default, list }
GET/v2/prism/{teamId}/identity/by/{slug}/{value}
Upsert by property value
client.prism.objects.identities.upsert(stringvalue, IdentityUpsertParams { teamId, slug, list_id, 3 more } params, RequestOptionsoptions?): IdentityUpsertResponse { id, default, list }
PUT/v2/prism/{teamId}/identity/by/{slug}/{value}
Import objects
client.prism.objects.identities.bulkCreate(IdentityBulkCreateParams { teamId, objects, options, idempotencyKey } params, RequestOptionsoptions?): IdentityBulkCreateResponse { job_id, status, total, 8 more }
POST/v2/prism/{teamId}/identity/import
Bulk update records (partial success)
client.prism.objects.identities.bulkUpdate(IdentityBulkUpdateParams { teamId, items, idempotencyKey } params, RequestOptionsoptions?): IdentityBulkUpdateResponse { results, summary }
POST/v2/prism/{teamId}/identity/batch/update
Bulk delete records (partial success)
client.prism.objects.identities.bulkDelete(IdentityBulkDeleteParams { teamId, ids, idempotencyKey } params, RequestOptionsoptions?): IdentityBulkDeleteResponse { results, summary }
POST/v2/prism/{teamId}/identity/batch/delete
Duplicate object
client.prism.objects.identities.duplicate(stringidentityID, IdentityDuplicateParams { teamId, idempotencyKey } params?, RequestOptionsoptions?): IdentityDuplicateResponse { id, default, list }
POST/v2/prism/{teamId}/identity/{identityId}/duplicate
Restore object
client.prism.objects.identities.restore(stringidentityID, IdentityRestoreParams { teamId, idempotencyKey } params?, RequestOptionsoptions?): IdentityRestoreResponse { id, default, list }
POST/v2/prism/{teamId}/identity/{identityId}/restore
ModelsExpand Collapse
Identity { default, list }
default?: Record<string, 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?: unknown
IdentityCreateResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
IdentityListResponse { data, has_more, next_cursor, total }
data: Array<Data>
id: string
formatuuid
is_user_object?: boolean
properties?: Record<string, 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?: Array<string> | null
has_more: boolean

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

next_cursor?: string | null
total?: number | null

Populated only when ?include_total=true was passed.

IdentityGetResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
IdentityUpdateResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
IdentityQueryResponse { data, has_more, next_cursor, total }
data: Array<Data>
id: string
formatuuid
is_user_object?: boolean
properties?: Record<string, 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?: Array<string> | null
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?: string | null

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?: number | null

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 { total }
total: number

Number of records matching the access scope.

IdentityFindResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
IdentityUpsertResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
IdentityBulkCreateResponse { 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

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

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

Total number of rows in the import.

created_at?: string
formatdate-time
error?: Error { code, message }

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

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

Rows that have been attempted (succeeded + failed).

results?: Array<Result>

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

id?: string | null
formatuuid
created?: boolean
error?: Error { code, message }
code?: string
message?: string
existing?: boolean

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

input_index?: number

Zero-based position of this row in the request.

minimum0
updated?: boolean

True if a matching record was updated.

succeeded?: number
updated_at?: string
formatdate-time
IdentityBulkUpdateResponse { 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<Result>
id: string | null

Item ID, or null if the input was unparseable.

status: "ok" | "error"
One of the following:
"ok"
"error"
error?: Error { code, message }
code?: string
message?: string
record?: Record { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
summary: Summary { failed, succeeded, total }
failed: number
succeeded: number
total: number
IdentityBulkDeleteResponse { 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<Result>
id: string | null

Item ID, or null if the input was unparseable.

status: "ok" | "error"
One of the following:
"ok"
"error"
error?: Error { code, message }
code?: string
message?: string
record?: Record { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
summary: Summary { failed, succeeded, total }
failed: number
succeeded: number
total: number
IdentityDuplicateResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
IdentityRestoreResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown

PrismObjectsDeals

Create object
client.prism.objects.deals.create(DealCreateParams { teamId, _default, list, idempotencyKey } params?, RequestOptionsoptions?): DealCreateResponse { id, default, list }
POST/v2/prism/{teamId}/deal
List records of an object type
client.prism.objects.deals.list(DealListParams { teamId, cursor, deleted, 5 more } params?, RequestOptionsoptions?): DealListResponse { data, has_more, next_cursor, total }
GET/v2/prism/{teamId}/deal
Get object
client.prism.objects.deals.get(stringdealID, DealGetParams { teamId, select } params?, RequestOptionsoptions?): DealGetResponse { id, default, list }
GET/v2/prism/{teamId}/deal/{dealId}
Patch object
client.prism.objects.deals.update(stringdealID, DealUpdateParams { teamId, _default, list, 2 more } params, RequestOptionsoptions?): DealUpdateResponse { id, default, list }
PATCH/v2/prism/{teamId}/deal/{dealId}
Delete object
client.prism.objects.deals.delete(stringdealID, DealDeleteParams { teamId, ifMatch } params?, RequestOptionsoptions?): void
DELETE/v2/prism/{teamId}/deal/{dealId}
Query
client.prism.objects.deals.query(DealQueryParams { teamId, query, id, 6 more } params, RequestOptionsoptions?): DealQueryResponse { data, has_more, next_cursor, total }
POST/v2/prism/{teamId}/deal/query
Total record count for an object type
client.prism.objects.deals.count(DealCountParams { teamId, list_id } params?, RequestOptionsoptions?): DealCountResponse { total }
GET/v2/prism/{teamId}/deal/count
Find a record by property value
client.prism.objects.deals.find(stringvalue, DealFindParams { teamId, slug, list_id } params, RequestOptionsoptions?): DealFindResponse { id, default, list }
GET/v2/prism/{teamId}/deal/by/{slug}/{value}
Upsert by property value
client.prism.objects.deals.upsert(stringvalue, DealUpsertParams { teamId, slug, list_id, 3 more } params, RequestOptionsoptions?): DealUpsertResponse { id, default, list }
PUT/v2/prism/{teamId}/deal/by/{slug}/{value}
Import objects
client.prism.objects.deals.bulkCreate(DealBulkCreateParams { teamId, objects, options, idempotencyKey } params, RequestOptionsoptions?): DealBulkCreateResponse { job_id, status, total, 8 more }
POST/v2/prism/{teamId}/deal/import
Bulk update records (partial success)
client.prism.objects.deals.bulkUpdate(DealBulkUpdateParams { teamId, items, idempotencyKey } params, RequestOptionsoptions?): DealBulkUpdateResponse { results, summary }
POST/v2/prism/{teamId}/deal/batch/update
Bulk delete records (partial success)
client.prism.objects.deals.bulkDelete(DealBulkDeleteParams { teamId, ids, idempotencyKey } params, RequestOptionsoptions?): DealBulkDeleteResponse { results, summary }
POST/v2/prism/{teamId}/deal/batch/delete
Duplicate object
client.prism.objects.deals.duplicate(stringdealID, DealDuplicateParams { teamId, idempotencyKey } params?, RequestOptionsoptions?): DealDuplicateResponse { id, default, list }
POST/v2/prism/{teamId}/deal/{dealId}/duplicate
Restore object
client.prism.objects.deals.restore(stringdealID, DealRestoreParams { teamId, idempotencyKey } params?, RequestOptionsoptions?): DealRestoreResponse { id, default, list }
POST/v2/prism/{teamId}/deal/{dealId}/restore
ModelsExpand Collapse
Deal { default, list }
default?: Record<string, 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?: unknown
DealCreateResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
DealListResponse { data, has_more, next_cursor, total }
data: Array<Data>
id: string
formatuuid
is_user_object?: boolean
properties?: Record<string, 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?: Array<string> | null
has_more: boolean

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

next_cursor?: string | null
total?: number | null

Populated only when ?include_total=true was passed.

DealGetResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
DealUpdateResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
DealQueryResponse { data, has_more, next_cursor, total }
data: Array<Data>
id: string
formatuuid
is_user_object?: boolean
properties?: Record<string, 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?: Array<string> | null
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?: string | null

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?: number | null

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 { total }
total: number

Number of records matching the access scope.

DealFindResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
DealUpsertResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
DealBulkCreateResponse { 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

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

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

Total number of rows in the import.

created_at?: string
formatdate-time
error?: Error { code, message }

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

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

Rows that have been attempted (succeeded + failed).

results?: Array<Result>

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

id?: string | null
formatuuid
created?: boolean
error?: Error { code, message }
code?: string
message?: string
existing?: boolean

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

input_index?: number

Zero-based position of this row in the request.

minimum0
updated?: boolean

True if a matching record was updated.

succeeded?: number
updated_at?: string
formatdate-time
DealBulkUpdateResponse { 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<Result>
id: string | null

Item ID, or null if the input was unparseable.

status: "ok" | "error"
One of the following:
"ok"
"error"
error?: Error { code, message }
code?: string
message?: string
record?: Record { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
summary: Summary { failed, succeeded, total }
failed: number
succeeded: number
total: number
DealBulkDeleteResponse { 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<Result>
id: string | null

Item ID, or null if the input was unparseable.

status: "ok" | "error"
One of the following:
"ok"
"error"
error?: Error { code, message }
code?: string
message?: string
record?: Record { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
summary: Summary { failed, succeeded, total }
failed: number
succeeded: number
total: number
DealDuplicateResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
DealRestoreResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown

PrismObjectsDealsGrant

Get grant
client.prism.objects.deals.grant.get(stringdealID, GrantGetParams { teamId } params?, RequestOptionsoptions?): GrantGetResponse { team_group_id, team_id, user_id }
GET/v2/prism/{teamId}/deal/{dealId}/grant
Update grant
client.prism.objects.deals.grant.update(stringdealID, GrantUpdateParams { teamId, team_group_id, team_id, 2 more } params, RequestOptionsoptions?): GrantUpdateResponse { team_group_id, team_id, user_id }
PUT/v2/prism/{teamId}/deal/{dealId}/grant
ModelsExpand Collapse
GrantGetResponse { team_group_id, team_id, user_id }
team_group_id?: Array<Record<string, "a" | "r" | "w">>
One of the following:
"a"
"r"
"w"
team_id?: Record<string, "a" | "r" | "w">
One of the following:
"a"
"r"
"w"
user_id?: Array<Record<string, "a" | "r" | "w">>
One of the following:
"a"
"r"
"w"
GrantUpdateResponse { team_group_id, team_id, user_id }
team_group_id?: Array<Record<string, "a" | "r" | "w">>
One of the following:
"a"
"r"
"w"
team_id?: Record<string, "a" | "r" | "w">
One of the following:
"a"
"r"
"w"
user_id?: Array<Record<string, "a" | "r" | "w">>
One of the following:
"a"
"r"
"w"

PrismObjectsActions

Create object
client.prism.objects.actions.create(ActionCreateParams { teamId, _default, list, idempotencyKey } params?, RequestOptionsoptions?): ActionCreateResponse { id, default, list }
POST/v2/prism/{teamId}/action
List records of an object type
client.prism.objects.actions.list(ActionListParams { teamId, cursor, deleted, 5 more } params?, RequestOptionsoptions?): ActionListResponse { data, has_more, next_cursor, total }
GET/v2/prism/{teamId}/action
Get object
client.prism.objects.actions.get(stringactionID, ActionGetParams { teamId, select } params?, RequestOptionsoptions?): ActionGetResponse { id, default, list }
GET/v2/prism/{teamId}/action/{actionId}
Patch object
client.prism.objects.actions.update(stringactionID, ActionUpdateParams { teamId, _default, list, 2 more } params, RequestOptionsoptions?): ActionUpdateResponse { id, default, list }
PATCH/v2/prism/{teamId}/action/{actionId}
Delete object
client.prism.objects.actions.delete(stringactionID, ActionDeleteParams { teamId, ifMatch } params?, RequestOptionsoptions?): void
DELETE/v2/prism/{teamId}/action/{actionId}
Query
client.prism.objects.actions.query(ActionQueryParams { teamId, query, id, 6 more } params, RequestOptionsoptions?): ActionQueryResponse { data, has_more, next_cursor, total }
POST/v2/prism/{teamId}/action/query
Total record count for an object type
client.prism.objects.actions.count(ActionCountParams { teamId, list_id } params?, RequestOptionsoptions?): ActionCountResponse { total }
GET/v2/prism/{teamId}/action/count
Find a record by property value
client.prism.objects.actions.find(stringvalue, ActionFindParams { teamId, slug, list_id } params, RequestOptionsoptions?): ActionFindResponse { id, default, list }
GET/v2/prism/{teamId}/action/by/{slug}/{value}
Upsert by property value
client.prism.objects.actions.upsert(stringvalue, ActionUpsertParams { teamId, slug, list_id, 3 more } params, RequestOptionsoptions?): ActionUpsertResponse { id, default, list }
PUT/v2/prism/{teamId}/action/by/{slug}/{value}
Import objects
client.prism.objects.actions.bulkCreate(ActionBulkCreateParams { teamId, objects, options, idempotencyKey } params, RequestOptionsoptions?): ActionBulkCreateResponse { job_id, status, total, 8 more }
POST/v2/prism/{teamId}/action/import
Bulk update records (partial success)
client.prism.objects.actions.bulkUpdate(ActionBulkUpdateParams { teamId, items, idempotencyKey } params, RequestOptionsoptions?): ActionBulkUpdateResponse { results, summary }
POST/v2/prism/{teamId}/action/batch/update
Bulk delete records (partial success)
client.prism.objects.actions.bulkDelete(ActionBulkDeleteParams { teamId, ids, idempotencyKey } params, RequestOptionsoptions?): ActionBulkDeleteResponse { results, summary }
POST/v2/prism/{teamId}/action/batch/delete
Duplicate object
client.prism.objects.actions.duplicate(stringactionID, ActionDuplicateParams { teamId, idempotencyKey } params?, RequestOptionsoptions?): ActionDuplicateResponse { id, default, list }
POST/v2/prism/{teamId}/action/{actionId}/duplicate
Restore object
client.prism.objects.actions.restore(stringactionID, ActionRestoreParams { teamId, idempotencyKey } params?, RequestOptionsoptions?): ActionRestoreResponse { id, default, list }
POST/v2/prism/{teamId}/action/{actionId}/restore
ModelsExpand Collapse
Action { default, list }
default?: Record<string, 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?: unknown
ActionCreateResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
ActionListResponse { data, has_more, next_cursor, total }
data: Array<Data>
id: string
formatuuid
is_user_object?: boolean
properties?: Record<string, 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?: Array<string> | null
has_more: boolean

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

next_cursor?: string | null
total?: number | null

Populated only when ?include_total=true was passed.

ActionGetResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
ActionUpdateResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
ActionQueryResponse { data, has_more, next_cursor, total }
data: Array<Data>
id: string
formatuuid
is_user_object?: boolean
properties?: Record<string, 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?: Array<string> | null
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?: string | null

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?: number | null

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 { total }
total: number

Number of records matching the access scope.

ActionFindResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
ActionUpsertResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
ActionBulkCreateResponse { 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

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

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

Total number of rows in the import.

created_at?: string
formatdate-time
error?: Error { code, message }

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

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

Rows that have been attempted (succeeded + failed).

results?: Array<Result>

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

id?: string | null
formatuuid
created?: boolean
error?: Error { code, message }
code?: string
message?: string
existing?: boolean

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

input_index?: number

Zero-based position of this row in the request.

minimum0
updated?: boolean

True if a matching record was updated.

succeeded?: number
updated_at?: string
formatdate-time
ActionBulkUpdateResponse { 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<Result>
id: string | null

Item ID, or null if the input was unparseable.

status: "ok" | "error"
One of the following:
"ok"
"error"
error?: Error { code, message }
code?: string
message?: string
record?: Record { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
summary: Summary { failed, succeeded, total }
failed: number
succeeded: number
total: number
ActionBulkDeleteResponse { 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<Result>
id: string | null

Item ID, or null if the input was unparseable.

status: "ok" | "error"
One of the following:
"ok"
"error"
error?: Error { code, message }
code?: string
message?: string
record?: Record { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
summary: Summary { failed, succeeded, total }
failed: number
succeeded: number
total: number
ActionDuplicateResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
ActionRestoreResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown

PrismObjectsActionsGrant

Get grant
client.prism.objects.actions.grant.get(stringactionID, GrantGetParams { teamId } params?, RequestOptionsoptions?): GrantGetResponse { team_group_id, team_id, user_id }
GET/v2/prism/{teamId}/action/{actionId}/grant
Update grant
client.prism.objects.actions.grant.update(stringactionID, GrantUpdateParams { teamId, team_group_id, team_id, 2 more } params, RequestOptionsoptions?): GrantUpdateResponse { team_group_id, team_id, user_id }
PUT/v2/prism/{teamId}/action/{actionId}/grant
ModelsExpand Collapse
GrantGetResponse { team_group_id, team_id, user_id }
team_group_id?: Array<Record<string, "a" | "r" | "w">>
One of the following:
"a"
"r"
"w"
team_id?: Record<string, "a" | "r" | "w">
One of the following:
"a"
"r"
"w"
user_id?: Array<Record<string, "a" | "r" | "w">>
One of the following:
"a"
"r"
"w"
GrantUpdateResponse { team_group_id, team_id, user_id }
team_group_id?: Array<Record<string, "a" | "r" | "w">>
One of the following:
"a"
"r"
"w"
team_id?: Record<string, "a" | "r" | "w">
One of the following:
"a"
"r"
"w"
user_id?: Array<Record<string, "a" | "r" | "w">>
One of the following:
"a"
"r"
"w"

PrismObjectsDocuments

Create object
client.prism.objects.documents.create(DocumentCreateParams { teamId, _default, list, idempotencyKey } params?, RequestOptionsoptions?): DocumentCreateResponse { id, default, list }
POST/v2/prism/{teamId}/document
List records of an object type
client.prism.objects.documents.list(DocumentListParams { teamId, cursor, deleted, 5 more } params?, RequestOptionsoptions?): DocumentListResponse { data, has_more, next_cursor, total }
GET/v2/prism/{teamId}/document
Get object
client.prism.objects.documents.get(stringdocumentID, DocumentGetParams { teamId, select } params?, RequestOptionsoptions?): DocumentGetResponse { id, default, list }
GET/v2/prism/{teamId}/document/{documentId}
Patch object
client.prism.objects.documents.update(stringdocumentID, DocumentUpdateParams { teamId, _default, list, 2 more } params, RequestOptionsoptions?): DocumentUpdateResponse { id, default, list }
PATCH/v2/prism/{teamId}/document/{documentId}
Delete object
client.prism.objects.documents.delete(stringdocumentID, DocumentDeleteParams { teamId, ifMatch } params?, RequestOptionsoptions?): void
DELETE/v2/prism/{teamId}/document/{documentId}
Query
client.prism.objects.documents.query(DocumentQueryParams { teamId, query, id, 6 more } params, RequestOptionsoptions?): DocumentQueryResponse { data, has_more, next_cursor, total }
POST/v2/prism/{teamId}/document/query
Total record count for an object type
client.prism.objects.documents.count(DocumentCountParams { teamId, list_id } params?, RequestOptionsoptions?): DocumentCountResponse { total }
GET/v2/prism/{teamId}/document/count
Find a record by property value
client.prism.objects.documents.find(stringvalue, DocumentFindParams { teamId, slug, list_id } params, RequestOptionsoptions?): DocumentFindResponse { id, default, list }
GET/v2/prism/{teamId}/document/by/{slug}/{value}
Upsert by property value
client.prism.objects.documents.upsert(stringvalue, DocumentUpsertParams { teamId, slug, list_id, 3 more } params, RequestOptionsoptions?): DocumentUpsertResponse { id, default, list }
PUT/v2/prism/{teamId}/document/by/{slug}/{value}
Import objects
client.prism.objects.documents.bulkCreate(DocumentBulkCreateParams { teamId, objects, options, idempotencyKey } params, RequestOptionsoptions?): DocumentBulkCreateResponse { job_id, status, total, 8 more }
POST/v2/prism/{teamId}/document/import
Bulk update records (partial success)
client.prism.objects.documents.bulkUpdate(DocumentBulkUpdateParams { teamId, items, idempotencyKey } params, RequestOptionsoptions?): DocumentBulkUpdateResponse { results, summary }
POST/v2/prism/{teamId}/document/batch/update
Bulk delete records (partial success)
client.prism.objects.documents.bulkDelete(DocumentBulkDeleteParams { teamId, ids, idempotencyKey } params, RequestOptionsoptions?): DocumentBulkDeleteResponse { results, summary }
POST/v2/prism/{teamId}/document/batch/delete
Duplicate object
client.prism.objects.documents.duplicate(stringdocumentID, DocumentDuplicateParams { teamId, idempotencyKey } params?, RequestOptionsoptions?): DocumentDuplicateResponse { id, default, list }
POST/v2/prism/{teamId}/document/{documentId}/duplicate
Restore object
client.prism.objects.documents.restore(stringdocumentID, DocumentRestoreParams { teamId, idempotencyKey } params?, RequestOptionsoptions?): DocumentRestoreResponse { id, default, list }
POST/v2/prism/{teamId}/document/{documentId}/restore
ModelsExpand Collapse
Document { default, list }
default?: Record<string, 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?: unknown
DocumentCreateResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
DocumentListResponse { data, has_more, next_cursor, total }
data: Array<Data>
id: string
formatuuid
is_user_object?: boolean
properties?: Record<string, 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?: Array<string> | null
has_more: boolean

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

next_cursor?: string | null
total?: number | null

Populated only when ?include_total=true was passed.

DocumentGetResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
DocumentUpdateResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
DocumentQueryResponse { data, has_more, next_cursor, total }
data: Array<Data>
id: string
formatuuid
is_user_object?: boolean
properties?: Record<string, 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?: Array<string> | null
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?: string | null

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?: number | null

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 { total }
total: number

Number of records matching the access scope.

DocumentFindResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
DocumentUpsertResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
DocumentBulkCreateResponse { 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

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

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

Total number of rows in the import.

created_at?: string
formatdate-time
error?: Error { code, message }

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

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

Rows that have been attempted (succeeded + failed).

results?: Array<Result>

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

id?: string | null
formatuuid
created?: boolean
error?: Error { code, message }
code?: string
message?: string
existing?: boolean

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

input_index?: number

Zero-based position of this row in the request.

minimum0
updated?: boolean

True if a matching record was updated.

succeeded?: number
updated_at?: string
formatdate-time
DocumentBulkUpdateResponse { 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<Result>
id: string | null

Item ID, or null if the input was unparseable.

status: "ok" | "error"
One of the following:
"ok"
"error"
error?: Error { code, message }
code?: string
message?: string
record?: Record { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
summary: Summary { failed, succeeded, total }
failed: number
succeeded: number
total: number
DocumentBulkDeleteResponse { 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<Result>
id: string | null

Item ID, or null if the input was unparseable.

status: "ok" | "error"
One of the following:
"ok"
"error"
error?: Error { code, message }
code?: string
message?: string
record?: Record { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
summary: Summary { failed, succeeded, total }
failed: number
succeeded: number
total: number
DocumentDuplicateResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
DocumentRestoreResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown

PrismObjectsDocumentsGrant

Get grant
client.prism.objects.documents.grant.get(stringdocumentID, GrantGetParams { teamId } params?, RequestOptionsoptions?): GrantGetResponse { team_group_id, team_id, user_id }
GET/v2/prism/{teamId}/document/{documentId}/grant
Update grant
client.prism.objects.documents.grant.update(stringdocumentID, GrantUpdateParams { teamId, team_group_id, team_id, 2 more } params, RequestOptionsoptions?): GrantUpdateResponse { team_group_id, team_id, user_id }
PUT/v2/prism/{teamId}/document/{documentId}/grant
ModelsExpand Collapse
GrantGetResponse { team_group_id, team_id, user_id }
team_group_id?: Array<Record<string, "a" | "r" | "w">>
One of the following:
"a"
"r"
"w"
team_id?: Record<string, "a" | "r" | "w">
One of the following:
"a"
"r"
"w"
user_id?: Array<Record<string, "a" | "r" | "w">>
One of the following:
"a"
"r"
"w"
GrantUpdateResponse { team_group_id, team_id, user_id }
team_group_id?: Array<Record<string, "a" | "r" | "w">>
One of the following:
"a"
"r"
"w"
team_id?: Record<string, "a" | "r" | "w">
One of the following:
"a"
"r"
"w"
user_id?: Array<Record<string, "a" | "r" | "w">>
One of the following:
"a"
"r"
"w"

PrismObjectsEvents

Create object
client.prism.objects.events.create(EventCreateParams { teamId, _default, list, idempotencyKey } params?, RequestOptionsoptions?): EventCreateResponse { id, default, list }
POST/v2/prism/{teamId}/event
List records of an object type
client.prism.objects.events.list(EventListParams { teamId, cursor, deleted, 5 more } params?, RequestOptionsoptions?): EventListResponse { data, has_more, next_cursor, total }
GET/v2/prism/{teamId}/event
Get object
client.prism.objects.events.get(stringeventID, EventGetParams { teamId, select } params?, RequestOptionsoptions?): EventGetResponse { id, default, list }
GET/v2/prism/{teamId}/event/{eventId}
Patch object
client.prism.objects.events.update(stringeventID, EventUpdateParams { teamId, _default, list, 2 more } params, RequestOptionsoptions?): EventUpdateResponse { id, default, list }
PATCH/v2/prism/{teamId}/event/{eventId}
Delete object
client.prism.objects.events.delete(stringeventID, EventDeleteParams { teamId, ifMatch } params?, RequestOptionsoptions?): void
DELETE/v2/prism/{teamId}/event/{eventId}
Query
client.prism.objects.events.query(EventQueryParams { teamId, query, id, 6 more } params, RequestOptionsoptions?): EventQueryResponse { data, has_more, next_cursor, total }
POST/v2/prism/{teamId}/event/query
Total record count for an object type
client.prism.objects.events.count(EventCountParams { teamId, list_id } params?, RequestOptionsoptions?): EventCountResponse { total }
GET/v2/prism/{teamId}/event/count
Find a record by property value
client.prism.objects.events.find(stringvalue, EventFindParams { teamId, slug, list_id } params, RequestOptionsoptions?): EventFindResponse { id, default, list }
GET/v2/prism/{teamId}/event/by/{slug}/{value}
Upsert by property value
client.prism.objects.events.upsert(stringvalue, EventUpsertParams { teamId, slug, list_id, 3 more } params, RequestOptionsoptions?): EventUpsertResponse { id, default, list }
PUT/v2/prism/{teamId}/event/by/{slug}/{value}
Duplicate object
client.prism.objects.events.duplicate(stringeventID, EventDuplicateParams { teamId, idempotencyKey } params?, RequestOptionsoptions?): EventDuplicateResponse { id, default, list }
POST/v2/prism/{teamId}/event/{eventId}/duplicate
Restore object
client.prism.objects.events.restore(stringeventID, EventRestoreParams { teamId, idempotencyKey } params?, RequestOptionsoptions?): EventRestoreResponse { id, default, list }
POST/v2/prism/{teamId}/event/{eventId}/restore
ModelsExpand Collapse
Event { default, list }
default?: Record<string, 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?: unknown
EventCreateResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
EventListResponse { data, has_more, next_cursor, total }
data: Array<Data>
id: string
formatuuid
is_user_object?: boolean
properties?: Record<string, 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?: Array<string> | null
has_more: boolean

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

next_cursor?: string | null
total?: number | null

Populated only when ?include_total=true was passed.

EventGetResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
EventUpdateResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
EventQueryResponse { data, has_more, next_cursor, total }
data: Array<Data>
id: string
formatuuid
is_user_object?: boolean
properties?: Record<string, 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?: Array<string> | null
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?: string | null

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?: number | null

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 { total }
total: number

Number of records matching the access scope.

EventFindResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
EventUpsertResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
EventDuplicateResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
EventRestoreResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown

PrismObjectsEventsGrant

Get grant
client.prism.objects.events.grant.get(stringeventID, GrantGetParams { teamId } params?, RequestOptionsoptions?): GrantGetResponse { team_group_id, team_id, user_id }
GET/v2/prism/{teamId}/event/{eventId}/grant
Update grant
client.prism.objects.events.grant.update(stringeventID, GrantUpdateParams { teamId, team_group_id, team_id, 2 more } params, RequestOptionsoptions?): GrantUpdateResponse { team_group_id, team_id, user_id }
PUT/v2/prism/{teamId}/event/{eventId}/grant
ModelsExpand Collapse
GrantGetResponse { team_group_id, team_id, user_id }
team_group_id?: Array<Record<string, "a" | "r" | "w">>
One of the following:
"a"
"r"
"w"
team_id?: Record<string, "a" | "r" | "w">
One of the following:
"a"
"r"
"w"
user_id?: Array<Record<string, "a" | "r" | "w">>
One of the following:
"a"
"r"
"w"
GrantUpdateResponse { team_group_id, team_id, user_id }
team_group_id?: Array<Record<string, "a" | "r" | "w">>
One of the following:
"a"
"r"
"w"
team_id?: Record<string, "a" | "r" | "w">
One of the following:
"a"
"r"
"w"
user_id?: Array<Record<string, "a" | "r" | "w">>
One of the following:
"a"
"r"
"w"

PrismObjectsEngagements

Create object
client.prism.objects.engagements.create(EngagementCreateParams { teamId, _default, list, idempotencyKey } params?, RequestOptionsoptions?): EngagementCreateResponse { id, default, list }
POST/v2/prism/{teamId}/engagement
List records of an object type
client.prism.objects.engagements.list(EngagementListParams { teamId, cursor, deleted, 5 more } params?, RequestOptionsoptions?): EngagementListResponse { data, has_more, next_cursor, total }
GET/v2/prism/{teamId}/engagement
Get object
client.prism.objects.engagements.get(stringengagementID, EngagementGetParams { teamId, select } params?, RequestOptionsoptions?): EngagementGetResponse { id, default, list }
GET/v2/prism/{teamId}/engagement/{engagementId}
Patch object
client.prism.objects.engagements.update(stringengagementID, EngagementUpdateParams { teamId, _default, list, 2 more } params, RequestOptionsoptions?): EngagementUpdateResponse { id, default, list }
PATCH/v2/prism/{teamId}/engagement/{engagementId}
Delete object
client.prism.objects.engagements.delete(stringengagementID, EngagementDeleteParams { teamId, ifMatch } params?, RequestOptionsoptions?): void
DELETE/v2/prism/{teamId}/engagement/{engagementId}
Query
client.prism.objects.engagements.query(EngagementQueryParams { teamId, query, id, 6 more } params, RequestOptionsoptions?): EngagementQueryResponse { data, has_more, next_cursor, total }
POST/v2/prism/{teamId}/engagement/query
Total record count for an object type
client.prism.objects.engagements.count(EngagementCountParams { teamId, list_id } params?, RequestOptionsoptions?): EngagementCountResponse { total }
GET/v2/prism/{teamId}/engagement/count
Find a record by property value
client.prism.objects.engagements.find(stringvalue, EngagementFindParams { teamId, slug, list_id } params, RequestOptionsoptions?): EngagementFindResponse { id, default, list }
GET/v2/prism/{teamId}/engagement/by/{slug}/{value}
Upsert by property value
client.prism.objects.engagements.upsert(stringvalue, EngagementUpsertParams { teamId, slug, list_id, 3 more } params, RequestOptionsoptions?): EngagementUpsertResponse { id, default, list }
PUT/v2/prism/{teamId}/engagement/by/{slug}/{value}
Import objects
client.prism.objects.engagements.bulkCreate(EngagementBulkCreateParams { teamId, objects, options, idempotencyKey } params, RequestOptionsoptions?): EngagementBulkCreateResponse { job_id, status, total, 8 more }
POST/v2/prism/{teamId}/engagement/import
Bulk update records (partial success)
client.prism.objects.engagements.bulkUpdate(EngagementBulkUpdateParams { teamId, items, idempotencyKey } params, RequestOptionsoptions?): EngagementBulkUpdateResponse { results, summary }
POST/v2/prism/{teamId}/engagement/batch/update
Bulk delete records (partial success)
client.prism.objects.engagements.bulkDelete(EngagementBulkDeleteParams { teamId, ids, idempotencyKey } params, RequestOptionsoptions?): EngagementBulkDeleteResponse { results, summary }
POST/v2/prism/{teamId}/engagement/batch/delete
Duplicate object
client.prism.objects.engagements.duplicate(stringengagementID, EngagementDuplicateParams { teamId, idempotencyKey } params?, RequestOptionsoptions?): EngagementDuplicateResponse { id, default, list }
POST/v2/prism/{teamId}/engagement/{engagementId}/duplicate
Restore object
client.prism.objects.engagements.restore(stringengagementID, EngagementRestoreParams { teamId, idempotencyKey } params?, RequestOptionsoptions?): EngagementRestoreResponse { id, default, list }
POST/v2/prism/{teamId}/engagement/{engagementId}/restore
ModelsExpand Collapse
Engagement { default, list }
default?: Record<string, 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?: unknown
EngagementCreateResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
EngagementListResponse { data, has_more, next_cursor, total }
data: Array<Data>
id: string
formatuuid
is_user_object?: boolean
properties?: Record<string, 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?: Array<string> | null
has_more: boolean

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

next_cursor?: string | null
total?: number | null

Populated only when ?include_total=true was passed.

EngagementGetResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
EngagementUpdateResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
EngagementQueryResponse { data, has_more, next_cursor, total }
data: Array<Data>
id: string
formatuuid
is_user_object?: boolean
properties?: Record<string, 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?: Array<string> | null
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?: string | null

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?: number | null

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.

EngagementCountResponse { total }
total: number

Number of records matching the access scope.

EngagementFindResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
EngagementUpsertResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
EngagementBulkCreateResponse { 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

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

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

Total number of rows in the import.

created_at?: string
formatdate-time
error?: Error { code, message }

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

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

Rows that have been attempted (succeeded + failed).

results?: Array<Result>

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

id?: string | null
formatuuid
created?: boolean
error?: Error { code, message }
code?: string
message?: string
existing?: boolean

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

input_index?: number

Zero-based position of this row in the request.

minimum0
updated?: boolean

True if a matching record was updated.

succeeded?: number
updated_at?: string
formatdate-time
EngagementBulkUpdateResponse { 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<Result>
id: string | null

Item ID, or null if the input was unparseable.

status: "ok" | "error"
One of the following:
"ok"
"error"
error?: Error { code, message }
code?: string
message?: string
record?: Record { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
summary: Summary { failed, succeeded, total }
failed: number
succeeded: number
total: number
EngagementBulkDeleteResponse { 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<Result>
id: string | null

Item ID, or null if the input was unparseable.

status: "ok" | "error"
One of the following:
"ok"
"error"
error?: Error { code, message }
code?: string
message?: string
record?: Record { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
summary: Summary { failed, succeeded, total }
failed: number
succeeded: number
total: number
EngagementDuplicateResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown
EngagementRestoreResponse { id, default, list }

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

id: string
formatuuid
default?: Record<string, unknown>

Properties keyed by property slug.

list?: unknown

PrismObjectsEngagementsGrant

Get grant
client.prism.objects.engagements.grant.get(stringengagementID, GrantGetParams { teamId } params?, RequestOptionsoptions?): GrantGetResponse { team_group_id, team_id, user_id }
GET/v2/prism/{teamId}/engagement/{engagementId}/grant
Update grant
client.prism.objects.engagements.grant.update(stringengagementID, GrantUpdateParams { teamId, team_group_id, team_id, 2 more } params, RequestOptionsoptions?): GrantUpdateResponse { team_group_id, team_id, user_id }
PUT/v2/prism/{teamId}/engagement/{engagementId}/grant
ModelsExpand Collapse
GrantGetResponse { team_group_id, team_id, user_id }
team_group_id?: Array<Record<string, "a" | "r" | "w">>
One of the following:
"a"
"r"
"w"
team_id?: Record<string, "a" | "r" | "w">
One of the following:
"a"
"r"
"w"
user_id?: Array<Record<string, "a" | "r" | "w">>
One of the following:
"a"
"r"
"w"
GrantUpdateResponse { team_group_id, team_id, user_id }
team_group_id?: Array<Record<string, "a" | "r" | "w">>
One of the following:
"a"
"r"
"w"
team_id?: Record<string, "a" | "r" | "w">
One of the following:
"a"
"r"
"w"
user_id?: Array<Record<string, "a" | "r" | "w">>
One of the following:
"a"
"r"
"w"