Skip to content
Go to Micro

Prism

ModelsExpand Collapse
class PrismObjectProperties:
default: Optional[Dict[str, object]]

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

list: Optional[object]

PrismProperties

Get metadata properties by object type
prism.properties.list(Literal["comment", "deal", "engagement", 9 more]object_type, PropertyListParams**kwargs) -> PropertyListResponse
GET/v2/prism/{teamId}/{objectType}/properties
Get metadata properties
prism.properties.list_all(PropertyListAllParams**kwargs) -> PropertyListAllResponse
GET/v2/prism/{teamId}/properties
Create a property definition
prism.properties.create(Literal["comment", "deal", "engagement", 9 more]object_type, PropertyCreateParams**kwargs) -> PropertyDefinition
POST/v2/prism/{teamId}/{objectType}/properties
Update a property definition
prism.properties.update(strproperty_id, PropertyUpdateParams**kwargs) -> PropertyDefinition
PATCH/v2/prism/{teamId}/{objectType}/properties/{propertyId}
Delete a property definition
prism.properties.delete(strproperty_id, PropertyDeleteParams**kwargs)
DELETE/v2/prism/{teamId}/{objectType}/properties/{propertyId}
ModelsExpand Collapse
class PropertyDefinition:

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: str
formatuuid
slug: str
type: Literal["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: Optional[Literal["app_stage"]]

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: Optional[str]

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

formatuuid
list_id: Optional[str]

Canonical identifier of the list this definition is scoped to.

formatuuid
locked: Optional[bool]
name: Optional[str]
native: Optional[bool]
options: Optional[List[PropertyOption]]

Present only for select_str and multiselect_str types.

id: str
formatuuid
slug: str
color_scheme: Optional[str]
Deprecatedcrm_id: Optional[str]
formatuuid
description: Optional[str]
icon: Optional[str]
list_id: Optional[str]
formatuuid
option_group: Optional[str]
sort_index: Optional[int]
value: Optional[str]

Display value for the option.

required: Optional[bool]

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: Optional[str]

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: Optional[str]
formatuuid
class PropertyDefinitionCreate:

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: str

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: Literal["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: Optional[str]
list_id: Optional[str]

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: Optional[List[Option]]

Only honored when type is select_str or multiselect_str.

value: str
color_scheme: Optional[str]
description: Optional[str]
icon: Optional[str]
option_group: Optional[str]
slug: Optional[str]
sort_index: Optional[int]
required: Optional[bool]

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

role_id: Optional[str]

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: Optional[str]

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.

class PropertyDefinitionPatch:

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

type: Literal["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: Optional[bool]
icon: Optional[str]
list_id: Optional[str]
formatuuid
name: Optional[str]
required: Optional[bool]
Dict[str, object]

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.

Dict[str, object]

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
prism.properties.options.create(strproperty_id, OptionCreateParams**kwargs) -> PropertyOption
POST/v2/prism/{teamId}/{objectType}/properties/{propertyId}/options
Update a property option
prism.properties.options.update(stroption_id, OptionUpdateParams**kwargs) -> PropertyOption
PATCH/v2/prism/{teamId}/{objectType}/properties/{propertyId}/options/{optionId}
Delete a property option
prism.properties.options.delete(stroption_id, OptionDeleteParams**kwargs)
DELETE/v2/prism/{teamId}/{objectType}/properties/{propertyId}/options/{optionId}
ModelsExpand Collapse
class PropertyOption:

An enabled option for a select_str or multiselect_str property definition.

id: str
formatuuid
slug: str
color_scheme: Optional[str]
Deprecatedcrm_id: Optional[str]
formatuuid
description: Optional[str]
icon: Optional[str]
list_id: Optional[str]
formatuuid
option_group: Optional[str]
sort_index: Optional[int]
value: Optional[str]

Display value for the option.

class PropertyOptionCreate:

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

type: Literal["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: str

Display value for the option.

color_scheme: Optional[str]
description: Optional[str]
icon: Optional[str]
list_id: Optional[str]

Scope the option to a specific list/app.

formatuuid
option_group: Optional[str]
slug: Optional[str]

URL-safe identifier. Defaults to a slugified value.

sort_index: Optional[int]
class PropertyOptionPatch:

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

type: Literal["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: Optional[str]
description: Optional[str]
enabled: Optional[bool]
icon: Optional[str]
list_id: Optional[str]
formatuuid
option_group: Optional[str]
slug: Optional[str]
sort_index: Optional[int]
value: Optional[str]

PrismImports

Get the status of an import job
prism.imports.get(strjob_id, ImportGetParams**kwargs) -> ImportGetResponse
GET/v2/prism/{teamId}/imports/{jobId}
ModelsExpand Collapse
class ImportGetResponse:

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

job_id: Optional[str]

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

status: Literal["complete", "processing", "failed"]
One of the following:
"complete"
"processing"
"failed"
total: int

Total number of rows in the import.

created_at: Optional[datetime]
formatdate-time
error: Optional[Error]

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

code: Optional[str]
message: Optional[str]
expires_at: Optional[datetime]
formatdate-time
failed: Optional[int]
processed: Optional[int]

Rows that have been attempted (succeeded + failed).

results: Optional[List[Result]]

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

id: Optional[str]
formatuuid
created: Optional[bool]
error: Optional[ResultError]
code: Optional[str]
message: Optional[str]
existing: Optional[bool]

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

input_index: Optional[int]

Zero-based position of this row in the request.

minimum0
updated: Optional[bool]

True if a matching record was updated.

succeeded: Optional[int]
updated_at: Optional[datetime]
formatdate-time

PrismObjects

PrismObjectsContacts

Create object
prism.objects.contacts.create(ContactCreateParams**kwargs) -> ContactCreateResponse
POST/v2/prism/{teamId}/contact
List records of an object type
prism.objects.contacts.list(ContactListParams**kwargs) -> ContactListResponse
GET/v2/prism/{teamId}/contact
Get object
prism.objects.contacts.get(strcontact_id, ContactGetParams**kwargs) -> ContactGetResponse
GET/v2/prism/{teamId}/contact/{contactId}
Patch object
prism.objects.contacts.update(strcontact_id, ContactUpdateParams**kwargs) -> ContactUpdateResponse
PATCH/v2/prism/{teamId}/contact/{contactId}
Delete object
prism.objects.contacts.delete(strcontact_id, ContactDeleteParams**kwargs)
DELETE/v2/prism/{teamId}/contact/{contactId}
Query
prism.objects.contacts.query(ContactQueryParams**kwargs) -> ContactQueryResponse
POST/v2/prism/{teamId}/contact/query
Total record count for an object type
prism.objects.contacts.count(ContactCountParams**kwargs) -> ContactCountResponse
GET/v2/prism/{teamId}/contact/count
Find a record by property value
prism.objects.contacts.find(strvalue, ContactFindParams**kwargs) -> ContactFindResponse
GET/v2/prism/{teamId}/contact/by/{slug}/{value}
Upsert by property value
prism.objects.contacts.upsert(strvalue, ContactUpsertParams**kwargs) -> ContactUpsertResponse
PUT/v2/prism/{teamId}/contact/by/{slug}/{value}
Import objects
prism.objects.contacts.bulk_create(ContactBulkCreateParams**kwargs) -> ContactBulkCreateResponse
POST/v2/prism/{teamId}/contact/import
Bulk update records (partial success)
prism.objects.contacts.bulk_update(ContactBulkUpdateParams**kwargs) -> ContactBulkUpdateResponse
POST/v2/prism/{teamId}/contact/batch/update
Bulk delete records (partial success)
prism.objects.contacts.bulk_delete(ContactBulkDeleteParams**kwargs) -> ContactBulkDeleteResponse
POST/v2/prism/{teamId}/contact/batch/delete
Duplicate object
prism.objects.contacts.duplicate(strcontact_id, ContactDuplicateParams**kwargs) -> ContactDuplicateResponse
POST/v2/prism/{teamId}/contact/{contactId}/duplicate
Restore object
prism.objects.contacts.restore(strcontact_id, ContactRestoreParams**kwargs) -> ContactRestoreResponse
POST/v2/prism/{teamId}/contact/{contactId}/restore
ModelsExpand Collapse
class Contact:
default: Optional[Dict[str, object]]

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

list: Optional[object]
class ContactCreateResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class ContactListResponse:
data: List[Data]
id: str
formatuuid
is_user_object: Optional[bool]
properties: Optional[Dict[str, object]]

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

source: Optional[List[str]]
has_more: bool

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

next_cursor: Optional[str]
total: Optional[int]

Populated only when ?include_total=true was passed.

class ContactGetResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class ContactUpdateResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class ContactQueryResponse:
data: List[Data]
id: str
formatuuid
is_user_object: Optional[bool]
properties: Optional[Dict[str, object]]

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

source: Optional[List[str]]
has_more: bool

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

next_cursor: Optional[str]

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

total: Optional[int]

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.

class ContactCountResponse:
total: int

Number of records matching the access scope.

class ContactFindResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class ContactUpsertResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class ContactBulkCreateResponse:

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

job_id: Optional[str]

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

status: Literal["complete", "processing", "failed"]
One of the following:
"complete"
"processing"
"failed"
total: int

Total number of rows in the import.

created_at: Optional[datetime]
formatdate-time
error: Optional[Error]

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

code: Optional[str]
message: Optional[str]
expires_at: Optional[datetime]
formatdate-time
failed: Optional[int]
processed: Optional[int]

Rows that have been attempted (succeeded + failed).

results: Optional[List[Result]]

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

id: Optional[str]
formatuuid
created: Optional[bool]
error: Optional[ResultError]
code: Optional[str]
message: Optional[str]
existing: Optional[bool]

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

input_index: Optional[int]

Zero-based position of this row in the request.

minimum0
updated: Optional[bool]

True if a matching record was updated.

succeeded: Optional[int]
updated_at: Optional[datetime]
formatdate-time
class ContactBulkUpdateResponse:

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

results: List[Result]
id: Optional[str]

Item ID, or null if the input was unparseable.

status: Literal["ok", "error"]
One of the following:
"ok"
"error"
error: Optional[ResultError]
code: Optional[str]
message: Optional[str]
record: Optional[ResultRecord]

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
summary: Summary
failed: int
succeeded: int
total: int
class ContactBulkDeleteResponse:

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

results: List[Result]
id: Optional[str]

Item ID, or null if the input was unparseable.

status: Literal["ok", "error"]
One of the following:
"ok"
"error"
error: Optional[ResultError]
code: Optional[str]
message: Optional[str]
record: Optional[ResultRecord]

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
summary: Summary
failed: int
succeeded: int
total: int
class ContactDuplicateResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class ContactRestoreResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]

PrismObjectsOrganizations

Create object
prism.objects.organizations.create(OrganizationCreateParams**kwargs) -> OrganizationCreateResponse
POST/v2/prism/{teamId}/organization
List records of an object type
prism.objects.organizations.list(OrganizationListParams**kwargs) -> OrganizationListResponse
GET/v2/prism/{teamId}/organization
Get object
prism.objects.organizations.get(strorganization_id, OrganizationGetParams**kwargs) -> OrganizationGetResponse
GET/v2/prism/{teamId}/organization/{organizationId}
Patch object
prism.objects.organizations.update(strorganization_id, OrganizationUpdateParams**kwargs) -> OrganizationUpdateResponse
PATCH/v2/prism/{teamId}/organization/{organizationId}
Delete object
prism.objects.organizations.delete(strorganization_id, OrganizationDeleteParams**kwargs)
DELETE/v2/prism/{teamId}/organization/{organizationId}
Query
prism.objects.organizations.query(OrganizationQueryParams**kwargs) -> OrganizationQueryResponse
POST/v2/prism/{teamId}/organization/query
Total record count for an object type
prism.objects.organizations.count(OrganizationCountParams**kwargs) -> OrganizationCountResponse
GET/v2/prism/{teamId}/organization/count
Find a record by property value
prism.objects.organizations.find(strvalue, OrganizationFindParams**kwargs) -> OrganizationFindResponse
GET/v2/prism/{teamId}/organization/by/{slug}/{value}
Upsert by property value
prism.objects.organizations.upsert(strvalue, OrganizationUpsertParams**kwargs) -> OrganizationUpsertResponse
PUT/v2/prism/{teamId}/organization/by/{slug}/{value}
Import objects
prism.objects.organizations.bulk_create(OrganizationBulkCreateParams**kwargs) -> OrganizationBulkCreateResponse
POST/v2/prism/{teamId}/organization/import
Bulk update records (partial success)
prism.objects.organizations.bulk_update(OrganizationBulkUpdateParams**kwargs) -> OrganizationBulkUpdateResponse
POST/v2/prism/{teamId}/organization/batch/update
Bulk delete records (partial success)
prism.objects.organizations.bulk_delete(OrganizationBulkDeleteParams**kwargs) -> OrganizationBulkDeleteResponse
POST/v2/prism/{teamId}/organization/batch/delete
Duplicate object
prism.objects.organizations.duplicate(strorganization_id, OrganizationDuplicateParams**kwargs) -> OrganizationDuplicateResponse
POST/v2/prism/{teamId}/organization/{organizationId}/duplicate
Restore object
prism.objects.organizations.restore(strorganization_id, OrganizationRestoreParams**kwargs) -> OrganizationRestoreResponse
POST/v2/prism/{teamId}/organization/{organizationId}/restore
ModelsExpand Collapse
class Organization:
default: Optional[Dict[str, object]]

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

list: Optional[object]
class OrganizationCreateResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class OrganizationListResponse:
data: List[Data]
id: str
formatuuid
is_user_object: Optional[bool]
properties: Optional[Dict[str, object]]

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

source: Optional[List[str]]
has_more: bool

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

next_cursor: Optional[str]
total: Optional[int]

Populated only when ?include_total=true was passed.

class OrganizationGetResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class OrganizationUpdateResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class OrganizationQueryResponse:
data: List[Data]
id: str
formatuuid
is_user_object: Optional[bool]
properties: Optional[Dict[str, object]]

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

source: Optional[List[str]]
has_more: bool

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

next_cursor: Optional[str]

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

total: Optional[int]

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.

class OrganizationCountResponse:
total: int

Number of records matching the access scope.

class OrganizationFindResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class OrganizationUpsertResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class OrganizationBulkCreateResponse:

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

job_id: Optional[str]

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

status: Literal["complete", "processing", "failed"]
One of the following:
"complete"
"processing"
"failed"
total: int

Total number of rows in the import.

created_at: Optional[datetime]
formatdate-time
error: Optional[Error]

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

code: Optional[str]
message: Optional[str]
expires_at: Optional[datetime]
formatdate-time
failed: Optional[int]
processed: Optional[int]

Rows that have been attempted (succeeded + failed).

results: Optional[List[Result]]

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

id: Optional[str]
formatuuid
created: Optional[bool]
error: Optional[ResultError]
code: Optional[str]
message: Optional[str]
existing: Optional[bool]

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

input_index: Optional[int]

Zero-based position of this row in the request.

minimum0
updated: Optional[bool]

True if a matching record was updated.

succeeded: Optional[int]
updated_at: Optional[datetime]
formatdate-time
class OrganizationBulkUpdateResponse:

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

results: List[Result]
id: Optional[str]

Item ID, or null if the input was unparseable.

status: Literal["ok", "error"]
One of the following:
"ok"
"error"
error: Optional[ResultError]
code: Optional[str]
message: Optional[str]
record: Optional[ResultRecord]

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
summary: Summary
failed: int
succeeded: int
total: int
class OrganizationBulkDeleteResponse:

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

results: List[Result]
id: Optional[str]

Item ID, or null if the input was unparseable.

status: Literal["ok", "error"]
One of the following:
"ok"
"error"
error: Optional[ResultError]
code: Optional[str]
message: Optional[str]
record: Optional[ResultRecord]

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
summary: Summary
failed: int
succeeded: int
total: int
class OrganizationDuplicateResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class OrganizationRestoreResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]

PrismObjectsIdentities

Create object
prism.objects.identities.create(IdentityCreateParams**kwargs) -> IdentityCreateResponse
POST/v2/prism/{teamId}/identity
List records of an object type
prism.objects.identities.list(IdentityListParams**kwargs) -> IdentityListResponse
GET/v2/prism/{teamId}/identity
Get object
prism.objects.identities.get(stridentity_id, IdentityGetParams**kwargs) -> IdentityGetResponse
GET/v2/prism/{teamId}/identity/{identityId}
Patch object
prism.objects.identities.update(stridentity_id, IdentityUpdateParams**kwargs) -> IdentityUpdateResponse
PATCH/v2/prism/{teamId}/identity/{identityId}
Delete object
prism.objects.identities.delete(stridentity_id, IdentityDeleteParams**kwargs)
DELETE/v2/prism/{teamId}/identity/{identityId}
Query
prism.objects.identities.query(IdentityQueryParams**kwargs) -> IdentityQueryResponse
POST/v2/prism/{teamId}/identity/query
Total record count for an object type
prism.objects.identities.count(IdentityCountParams**kwargs) -> IdentityCountResponse
GET/v2/prism/{teamId}/identity/count
Find a record by property value
prism.objects.identities.find(strvalue, IdentityFindParams**kwargs) -> IdentityFindResponse
GET/v2/prism/{teamId}/identity/by/{slug}/{value}
Upsert by property value
prism.objects.identities.upsert(strvalue, IdentityUpsertParams**kwargs) -> IdentityUpsertResponse
PUT/v2/prism/{teamId}/identity/by/{slug}/{value}
Import objects
prism.objects.identities.bulk_create(IdentityBulkCreateParams**kwargs) -> IdentityBulkCreateResponse
POST/v2/prism/{teamId}/identity/import
Bulk update records (partial success)
prism.objects.identities.bulk_update(IdentityBulkUpdateParams**kwargs) -> IdentityBulkUpdateResponse
POST/v2/prism/{teamId}/identity/batch/update
Bulk delete records (partial success)
prism.objects.identities.bulk_delete(IdentityBulkDeleteParams**kwargs) -> IdentityBulkDeleteResponse
POST/v2/prism/{teamId}/identity/batch/delete
Duplicate object
prism.objects.identities.duplicate(stridentity_id, IdentityDuplicateParams**kwargs) -> IdentityDuplicateResponse
POST/v2/prism/{teamId}/identity/{identityId}/duplicate
Restore object
prism.objects.identities.restore(stridentity_id, IdentityRestoreParams**kwargs) -> IdentityRestoreResponse
POST/v2/prism/{teamId}/identity/{identityId}/restore
ModelsExpand Collapse
class Identity:
default: Optional[Dict[str, object]]

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

list: Optional[object]
class IdentityCreateResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class IdentityListResponse:
data: List[Data]
id: str
formatuuid
is_user_object: Optional[bool]
properties: Optional[Dict[str, object]]

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

source: Optional[List[str]]
has_more: bool

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

next_cursor: Optional[str]
total: Optional[int]

Populated only when ?include_total=true was passed.

class IdentityGetResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class IdentityUpdateResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class IdentityQueryResponse:
data: List[Data]
id: str
formatuuid
is_user_object: Optional[bool]
properties: Optional[Dict[str, object]]

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

source: Optional[List[str]]
has_more: bool

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

next_cursor: Optional[str]

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

total: Optional[int]

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.

class IdentityCountResponse:
total: int

Number of records matching the access scope.

class IdentityFindResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class IdentityUpsertResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class IdentityBulkCreateResponse:

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

job_id: Optional[str]

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

status: Literal["complete", "processing", "failed"]
One of the following:
"complete"
"processing"
"failed"
total: int

Total number of rows in the import.

created_at: Optional[datetime]
formatdate-time
error: Optional[Error]

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

code: Optional[str]
message: Optional[str]
expires_at: Optional[datetime]
formatdate-time
failed: Optional[int]
processed: Optional[int]

Rows that have been attempted (succeeded + failed).

results: Optional[List[Result]]

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

id: Optional[str]
formatuuid
created: Optional[bool]
error: Optional[ResultError]
code: Optional[str]
message: Optional[str]
existing: Optional[bool]

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

input_index: Optional[int]

Zero-based position of this row in the request.

minimum0
updated: Optional[bool]

True if a matching record was updated.

succeeded: Optional[int]
updated_at: Optional[datetime]
formatdate-time
class IdentityBulkUpdateResponse:

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

results: List[Result]
id: Optional[str]

Item ID, or null if the input was unparseable.

status: Literal["ok", "error"]
One of the following:
"ok"
"error"
error: Optional[ResultError]
code: Optional[str]
message: Optional[str]
record: Optional[ResultRecord]

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
summary: Summary
failed: int
succeeded: int
total: int
class IdentityBulkDeleteResponse:

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

results: List[Result]
id: Optional[str]

Item ID, or null if the input was unparseable.

status: Literal["ok", "error"]
One of the following:
"ok"
"error"
error: Optional[ResultError]
code: Optional[str]
message: Optional[str]
record: Optional[ResultRecord]

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
summary: Summary
failed: int
succeeded: int
total: int
class IdentityDuplicateResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class IdentityRestoreResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]

PrismObjectsDeals

Create object
prism.objects.deals.create(DealCreateParams**kwargs) -> DealCreateResponse
POST/v2/prism/{teamId}/deal
List records of an object type
prism.objects.deals.list(DealListParams**kwargs) -> DealListResponse
GET/v2/prism/{teamId}/deal
Get object
prism.objects.deals.get(strdeal_id, DealGetParams**kwargs) -> DealGetResponse
GET/v2/prism/{teamId}/deal/{dealId}
Patch object
prism.objects.deals.update(strdeal_id, DealUpdateParams**kwargs) -> DealUpdateResponse
PATCH/v2/prism/{teamId}/deal/{dealId}
Delete object
prism.objects.deals.delete(strdeal_id, DealDeleteParams**kwargs)
DELETE/v2/prism/{teamId}/deal/{dealId}
Query
prism.objects.deals.query(DealQueryParams**kwargs) -> DealQueryResponse
POST/v2/prism/{teamId}/deal/query
Total record count for an object type
prism.objects.deals.count(DealCountParams**kwargs) -> DealCountResponse
GET/v2/prism/{teamId}/deal/count
Find a record by property value
prism.objects.deals.find(strvalue, DealFindParams**kwargs) -> DealFindResponse
GET/v2/prism/{teamId}/deal/by/{slug}/{value}
Upsert by property value
prism.objects.deals.upsert(strvalue, DealUpsertParams**kwargs) -> DealUpsertResponse
PUT/v2/prism/{teamId}/deal/by/{slug}/{value}
Import objects
prism.objects.deals.bulk_create(DealBulkCreateParams**kwargs) -> DealBulkCreateResponse
POST/v2/prism/{teamId}/deal/import
Bulk update records (partial success)
prism.objects.deals.bulk_update(DealBulkUpdateParams**kwargs) -> DealBulkUpdateResponse
POST/v2/prism/{teamId}/deal/batch/update
Bulk delete records (partial success)
prism.objects.deals.bulk_delete(DealBulkDeleteParams**kwargs) -> DealBulkDeleteResponse
POST/v2/prism/{teamId}/deal/batch/delete
Duplicate object
prism.objects.deals.duplicate(strdeal_id, DealDuplicateParams**kwargs) -> DealDuplicateResponse
POST/v2/prism/{teamId}/deal/{dealId}/duplicate
Restore object
prism.objects.deals.restore(strdeal_id, DealRestoreParams**kwargs) -> DealRestoreResponse
POST/v2/prism/{teamId}/deal/{dealId}/restore
ModelsExpand Collapse
class Deal:
default: Optional[Dict[str, object]]

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

list: Optional[object]
class DealCreateResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class DealListResponse:
data: List[Data]
id: str
formatuuid
is_user_object: Optional[bool]
properties: Optional[Dict[str, object]]

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

source: Optional[List[str]]
has_more: bool

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

next_cursor: Optional[str]
total: Optional[int]

Populated only when ?include_total=true was passed.

class DealGetResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class DealUpdateResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class DealQueryResponse:
data: List[Data]
id: str
formatuuid
is_user_object: Optional[bool]
properties: Optional[Dict[str, object]]

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

source: Optional[List[str]]
has_more: bool

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

next_cursor: Optional[str]

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

total: Optional[int]

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.

class DealCountResponse:
total: int

Number of records matching the access scope.

class DealFindResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class DealUpsertResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class DealBulkCreateResponse:

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

job_id: Optional[str]

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

status: Literal["complete", "processing", "failed"]
One of the following:
"complete"
"processing"
"failed"
total: int

Total number of rows in the import.

created_at: Optional[datetime]
formatdate-time
error: Optional[Error]

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

code: Optional[str]
message: Optional[str]
expires_at: Optional[datetime]
formatdate-time
failed: Optional[int]
processed: Optional[int]

Rows that have been attempted (succeeded + failed).

results: Optional[List[Result]]

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

id: Optional[str]
formatuuid
created: Optional[bool]
error: Optional[ResultError]
code: Optional[str]
message: Optional[str]
existing: Optional[bool]

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

input_index: Optional[int]

Zero-based position of this row in the request.

minimum0
updated: Optional[bool]

True if a matching record was updated.

succeeded: Optional[int]
updated_at: Optional[datetime]
formatdate-time
class DealBulkUpdateResponse:

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

results: List[Result]
id: Optional[str]

Item ID, or null if the input was unparseable.

status: Literal["ok", "error"]
One of the following:
"ok"
"error"
error: Optional[ResultError]
code: Optional[str]
message: Optional[str]
record: Optional[ResultRecord]

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
summary: Summary
failed: int
succeeded: int
total: int
class DealBulkDeleteResponse:

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

results: List[Result]
id: Optional[str]

Item ID, or null if the input was unparseable.

status: Literal["ok", "error"]
One of the following:
"ok"
"error"
error: Optional[ResultError]
code: Optional[str]
message: Optional[str]
record: Optional[ResultRecord]

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
summary: Summary
failed: int
succeeded: int
total: int
class DealDuplicateResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class DealRestoreResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]

PrismObjectsDealsGrant

Get grant
prism.objects.deals.grant.get(strdeal_id, GrantGetParams**kwargs) -> GrantGetResponse
GET/v2/prism/{teamId}/deal/{dealId}/grant
Update grant
prism.objects.deals.grant.update(strdeal_id, GrantUpdateParams**kwargs) -> GrantUpdateResponse
PUT/v2/prism/{teamId}/deal/{dealId}/grant
ModelsExpand Collapse
class GrantGetResponse:
team_group_id: Optional[List[Dict[str, Literal["a", "r", "w"]]]]
One of the following:
"a"
"r"
"w"
team_id: Optional[Dict[str, Literal["a", "r", "w"]]]
One of the following:
"a"
"r"
"w"
user_id: Optional[List[Dict[str, Literal["a", "r", "w"]]]]
One of the following:
"a"
"r"
"w"
class GrantUpdateResponse:
team_group_id: Optional[List[Dict[str, Literal["a", "r", "w"]]]]
One of the following:
"a"
"r"
"w"
team_id: Optional[Dict[str, Literal["a", "r", "w"]]]
One of the following:
"a"
"r"
"w"
user_id: Optional[List[Dict[str, Literal["a", "r", "w"]]]]
One of the following:
"a"
"r"
"w"

PrismObjectsActions

Create object
prism.objects.actions.create(ActionCreateParams**kwargs) -> ActionCreateResponse
POST/v2/prism/{teamId}/action
List records of an object type
prism.objects.actions.list(ActionListParams**kwargs) -> ActionListResponse
GET/v2/prism/{teamId}/action
Get object
prism.objects.actions.get(straction_id, ActionGetParams**kwargs) -> ActionGetResponse
GET/v2/prism/{teamId}/action/{actionId}
Patch object
prism.objects.actions.update(straction_id, ActionUpdateParams**kwargs) -> ActionUpdateResponse
PATCH/v2/prism/{teamId}/action/{actionId}
Delete object
prism.objects.actions.delete(straction_id, ActionDeleteParams**kwargs)
DELETE/v2/prism/{teamId}/action/{actionId}
Query
prism.objects.actions.query(ActionQueryParams**kwargs) -> ActionQueryResponse
POST/v2/prism/{teamId}/action/query
Total record count for an object type
prism.objects.actions.count(ActionCountParams**kwargs) -> ActionCountResponse
GET/v2/prism/{teamId}/action/count
Find a record by property value
prism.objects.actions.find(strvalue, ActionFindParams**kwargs) -> ActionFindResponse
GET/v2/prism/{teamId}/action/by/{slug}/{value}
Upsert by property value
prism.objects.actions.upsert(strvalue, ActionUpsertParams**kwargs) -> ActionUpsertResponse
PUT/v2/prism/{teamId}/action/by/{slug}/{value}
Import objects
prism.objects.actions.bulk_create(ActionBulkCreateParams**kwargs) -> ActionBulkCreateResponse
POST/v2/prism/{teamId}/action/import
Bulk update records (partial success)
prism.objects.actions.bulk_update(ActionBulkUpdateParams**kwargs) -> ActionBulkUpdateResponse
POST/v2/prism/{teamId}/action/batch/update
Bulk delete records (partial success)
prism.objects.actions.bulk_delete(ActionBulkDeleteParams**kwargs) -> ActionBulkDeleteResponse
POST/v2/prism/{teamId}/action/batch/delete
Duplicate object
prism.objects.actions.duplicate(straction_id, ActionDuplicateParams**kwargs) -> ActionDuplicateResponse
POST/v2/prism/{teamId}/action/{actionId}/duplicate
Restore object
prism.objects.actions.restore(straction_id, ActionRestoreParams**kwargs) -> ActionRestoreResponse
POST/v2/prism/{teamId}/action/{actionId}/restore
ModelsExpand Collapse
class Action:
default: Optional[Dict[str, object]]

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

list: Optional[object]
class ActionCreateResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class ActionListResponse:
data: List[Data]
id: str
formatuuid
is_user_object: Optional[bool]
properties: Optional[Dict[str, object]]

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

source: Optional[List[str]]
has_more: bool

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

next_cursor: Optional[str]
total: Optional[int]

Populated only when ?include_total=true was passed.

class ActionGetResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class ActionUpdateResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class ActionQueryResponse:
data: List[Data]
id: str
formatuuid
is_user_object: Optional[bool]
properties: Optional[Dict[str, object]]

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

source: Optional[List[str]]
has_more: bool

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

next_cursor: Optional[str]

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

total: Optional[int]

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.

class ActionCountResponse:
total: int

Number of records matching the access scope.

class ActionFindResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class ActionUpsertResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class ActionBulkCreateResponse:

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

job_id: Optional[str]

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

status: Literal["complete", "processing", "failed"]
One of the following:
"complete"
"processing"
"failed"
total: int

Total number of rows in the import.

created_at: Optional[datetime]
formatdate-time
error: Optional[Error]

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

code: Optional[str]
message: Optional[str]
expires_at: Optional[datetime]
formatdate-time
failed: Optional[int]
processed: Optional[int]

Rows that have been attempted (succeeded + failed).

results: Optional[List[Result]]

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

id: Optional[str]
formatuuid
created: Optional[bool]
error: Optional[ResultError]
code: Optional[str]
message: Optional[str]
existing: Optional[bool]

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

input_index: Optional[int]

Zero-based position of this row in the request.

minimum0
updated: Optional[bool]

True if a matching record was updated.

succeeded: Optional[int]
updated_at: Optional[datetime]
formatdate-time
class ActionBulkUpdateResponse:

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

results: List[Result]
id: Optional[str]

Item ID, or null if the input was unparseable.

status: Literal["ok", "error"]
One of the following:
"ok"
"error"
error: Optional[ResultError]
code: Optional[str]
message: Optional[str]
record: Optional[ResultRecord]

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
summary: Summary
failed: int
succeeded: int
total: int
class ActionBulkDeleteResponse:

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

results: List[Result]
id: Optional[str]

Item ID, or null if the input was unparseable.

status: Literal["ok", "error"]
One of the following:
"ok"
"error"
error: Optional[ResultError]
code: Optional[str]
message: Optional[str]
record: Optional[ResultRecord]

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
summary: Summary
failed: int
succeeded: int
total: int
class ActionDuplicateResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class ActionRestoreResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]

PrismObjectsActionsGrant

Get grant
prism.objects.actions.grant.get(straction_id, GrantGetParams**kwargs) -> GrantGetResponse
GET/v2/prism/{teamId}/action/{actionId}/grant
Update grant
prism.objects.actions.grant.update(straction_id, GrantUpdateParams**kwargs) -> GrantUpdateResponse
PUT/v2/prism/{teamId}/action/{actionId}/grant
ModelsExpand Collapse
class GrantGetResponse:
team_group_id: Optional[List[Dict[str, Literal["a", "r", "w"]]]]
One of the following:
"a"
"r"
"w"
team_id: Optional[Dict[str, Literal["a", "r", "w"]]]
One of the following:
"a"
"r"
"w"
user_id: Optional[List[Dict[str, Literal["a", "r", "w"]]]]
One of the following:
"a"
"r"
"w"
class GrantUpdateResponse:
team_group_id: Optional[List[Dict[str, Literal["a", "r", "w"]]]]
One of the following:
"a"
"r"
"w"
team_id: Optional[Dict[str, Literal["a", "r", "w"]]]
One of the following:
"a"
"r"
"w"
user_id: Optional[List[Dict[str, Literal["a", "r", "w"]]]]
One of the following:
"a"
"r"
"w"

PrismObjectsDocuments

Create object
prism.objects.documents.create(DocumentCreateParams**kwargs) -> DocumentCreateResponse
POST/v2/prism/{teamId}/document
List records of an object type
prism.objects.documents.list(DocumentListParams**kwargs) -> DocumentListResponse
GET/v2/prism/{teamId}/document
Get object
prism.objects.documents.get(strdocument_id, DocumentGetParams**kwargs) -> DocumentGetResponse
GET/v2/prism/{teamId}/document/{documentId}
Patch object
prism.objects.documents.update(strdocument_id, DocumentUpdateParams**kwargs) -> DocumentUpdateResponse
PATCH/v2/prism/{teamId}/document/{documentId}
Delete object
prism.objects.documents.delete(strdocument_id, DocumentDeleteParams**kwargs)
DELETE/v2/prism/{teamId}/document/{documentId}
Query
prism.objects.documents.query(DocumentQueryParams**kwargs) -> DocumentQueryResponse
POST/v2/prism/{teamId}/document/query
Total record count for an object type
prism.objects.documents.count(DocumentCountParams**kwargs) -> DocumentCountResponse
GET/v2/prism/{teamId}/document/count
Find a record by property value
prism.objects.documents.find(strvalue, DocumentFindParams**kwargs) -> DocumentFindResponse
GET/v2/prism/{teamId}/document/by/{slug}/{value}
Upsert by property value
prism.objects.documents.upsert(strvalue, DocumentUpsertParams**kwargs) -> DocumentUpsertResponse
PUT/v2/prism/{teamId}/document/by/{slug}/{value}
Import objects
prism.objects.documents.bulk_create(DocumentBulkCreateParams**kwargs) -> DocumentBulkCreateResponse
POST/v2/prism/{teamId}/document/import
Bulk update records (partial success)
prism.objects.documents.bulk_update(DocumentBulkUpdateParams**kwargs) -> DocumentBulkUpdateResponse
POST/v2/prism/{teamId}/document/batch/update
Bulk delete records (partial success)
prism.objects.documents.bulk_delete(DocumentBulkDeleteParams**kwargs) -> DocumentBulkDeleteResponse
POST/v2/prism/{teamId}/document/batch/delete
Duplicate object
prism.objects.documents.duplicate(strdocument_id, DocumentDuplicateParams**kwargs) -> DocumentDuplicateResponse
POST/v2/prism/{teamId}/document/{documentId}/duplicate
Restore object
prism.objects.documents.restore(strdocument_id, DocumentRestoreParams**kwargs) -> DocumentRestoreResponse
POST/v2/prism/{teamId}/document/{documentId}/restore
ModelsExpand Collapse
class Document:
default: Optional[Dict[str, object]]

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

list: Optional[object]
class DocumentCreateResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class DocumentListResponse:
data: List[Data]
id: str
formatuuid
is_user_object: Optional[bool]
properties: Optional[Dict[str, object]]

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

source: Optional[List[str]]
has_more: bool

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

next_cursor: Optional[str]
total: Optional[int]

Populated only when ?include_total=true was passed.

class DocumentGetResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class DocumentUpdateResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class DocumentQueryResponse:
data: List[Data]
id: str
formatuuid
is_user_object: Optional[bool]
properties: Optional[Dict[str, object]]

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

source: Optional[List[str]]
has_more: bool

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

next_cursor: Optional[str]

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

total: Optional[int]

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.

class DocumentCountResponse:
total: int

Number of records matching the access scope.

class DocumentFindResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class DocumentUpsertResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class DocumentBulkCreateResponse:

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

job_id: Optional[str]

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

status: Literal["complete", "processing", "failed"]
One of the following:
"complete"
"processing"
"failed"
total: int

Total number of rows in the import.

created_at: Optional[datetime]
formatdate-time
error: Optional[Error]

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

code: Optional[str]
message: Optional[str]
expires_at: Optional[datetime]
formatdate-time
failed: Optional[int]
processed: Optional[int]

Rows that have been attempted (succeeded + failed).

results: Optional[List[Result]]

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

id: Optional[str]
formatuuid
created: Optional[bool]
error: Optional[ResultError]
code: Optional[str]
message: Optional[str]
existing: Optional[bool]

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

input_index: Optional[int]

Zero-based position of this row in the request.

minimum0
updated: Optional[bool]

True if a matching record was updated.

succeeded: Optional[int]
updated_at: Optional[datetime]
formatdate-time
class DocumentBulkUpdateResponse:

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

results: List[Result]
id: Optional[str]

Item ID, or null if the input was unparseable.

status: Literal["ok", "error"]
One of the following:
"ok"
"error"
error: Optional[ResultError]
code: Optional[str]
message: Optional[str]
record: Optional[ResultRecord]

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
summary: Summary
failed: int
succeeded: int
total: int
class DocumentBulkDeleteResponse:

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

results: List[Result]
id: Optional[str]

Item ID, or null if the input was unparseable.

status: Literal["ok", "error"]
One of the following:
"ok"
"error"
error: Optional[ResultError]
code: Optional[str]
message: Optional[str]
record: Optional[ResultRecord]

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
summary: Summary
failed: int
succeeded: int
total: int
class DocumentDuplicateResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class DocumentRestoreResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]

PrismObjectsDocumentsGrant

Get grant
prism.objects.documents.grant.get(strdocument_id, GrantGetParams**kwargs) -> GrantGetResponse
GET/v2/prism/{teamId}/document/{documentId}/grant
Update grant
prism.objects.documents.grant.update(strdocument_id, GrantUpdateParams**kwargs) -> GrantUpdateResponse
PUT/v2/prism/{teamId}/document/{documentId}/grant
ModelsExpand Collapse
class GrantGetResponse:
team_group_id: Optional[List[Dict[str, Literal["a", "r", "w"]]]]
One of the following:
"a"
"r"
"w"
team_id: Optional[Dict[str, Literal["a", "r", "w"]]]
One of the following:
"a"
"r"
"w"
user_id: Optional[List[Dict[str, Literal["a", "r", "w"]]]]
One of the following:
"a"
"r"
"w"
class GrantUpdateResponse:
team_group_id: Optional[List[Dict[str, Literal["a", "r", "w"]]]]
One of the following:
"a"
"r"
"w"
team_id: Optional[Dict[str, Literal["a", "r", "w"]]]
One of the following:
"a"
"r"
"w"
user_id: Optional[List[Dict[str, Literal["a", "r", "w"]]]]
One of the following:
"a"
"r"
"w"

PrismObjectsEvents

Create object
prism.objects.events.create(EventCreateParams**kwargs) -> EventCreateResponse
POST/v2/prism/{teamId}/event
List records of an object type
prism.objects.events.list(EventListParams**kwargs) -> EventListResponse
GET/v2/prism/{teamId}/event
Get object
prism.objects.events.get(strevent_id, EventGetParams**kwargs) -> EventGetResponse
GET/v2/prism/{teamId}/event/{eventId}
Patch object
prism.objects.events.update(strevent_id, EventUpdateParams**kwargs) -> EventUpdateResponse
PATCH/v2/prism/{teamId}/event/{eventId}
Delete object
prism.objects.events.delete(strevent_id, EventDeleteParams**kwargs)
DELETE/v2/prism/{teamId}/event/{eventId}
Query
prism.objects.events.query(EventQueryParams**kwargs) -> EventQueryResponse
POST/v2/prism/{teamId}/event/query
Total record count for an object type
prism.objects.events.count(EventCountParams**kwargs) -> EventCountResponse
GET/v2/prism/{teamId}/event/count
Find a record by property value
prism.objects.events.find(strvalue, EventFindParams**kwargs) -> EventFindResponse
GET/v2/prism/{teamId}/event/by/{slug}/{value}
Upsert by property value
prism.objects.events.upsert(strvalue, EventUpsertParams**kwargs) -> EventUpsertResponse
PUT/v2/prism/{teamId}/event/by/{slug}/{value}
Duplicate object
prism.objects.events.duplicate(strevent_id, EventDuplicateParams**kwargs) -> EventDuplicateResponse
POST/v2/prism/{teamId}/event/{eventId}/duplicate
Restore object
prism.objects.events.restore(strevent_id, EventRestoreParams**kwargs) -> EventRestoreResponse
POST/v2/prism/{teamId}/event/{eventId}/restore
ModelsExpand Collapse
class Event:
default: Optional[Dict[str, object]]

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

list: Optional[object]
class EventCreateResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class EventListResponse:
data: List[Data]
id: str
formatuuid
is_user_object: Optional[bool]
properties: Optional[Dict[str, object]]

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

source: Optional[List[str]]
has_more: bool

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

next_cursor: Optional[str]
total: Optional[int]

Populated only when ?include_total=true was passed.

class EventGetResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class EventUpdateResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class EventQueryResponse:
data: List[Data]
id: str
formatuuid
is_user_object: Optional[bool]
properties: Optional[Dict[str, object]]

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

source: Optional[List[str]]
has_more: bool

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

next_cursor: Optional[str]

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

total: Optional[int]

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.

class EventCountResponse:
total: int

Number of records matching the access scope.

class EventFindResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class EventUpsertResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class EventDuplicateResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class EventRestoreResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]

PrismObjectsEventsGrant

Get grant
prism.objects.events.grant.get(strevent_id, GrantGetParams**kwargs) -> GrantGetResponse
GET/v2/prism/{teamId}/event/{eventId}/grant
Update grant
prism.objects.events.grant.update(strevent_id, GrantUpdateParams**kwargs) -> GrantUpdateResponse
PUT/v2/prism/{teamId}/event/{eventId}/grant
ModelsExpand Collapse
class GrantGetResponse:
team_group_id: Optional[List[Dict[str, Literal["a", "r", "w"]]]]
One of the following:
"a"
"r"
"w"
team_id: Optional[Dict[str, Literal["a", "r", "w"]]]
One of the following:
"a"
"r"
"w"
user_id: Optional[List[Dict[str, Literal["a", "r", "w"]]]]
One of the following:
"a"
"r"
"w"
class GrantUpdateResponse:
team_group_id: Optional[List[Dict[str, Literal["a", "r", "w"]]]]
One of the following:
"a"
"r"
"w"
team_id: Optional[Dict[str, Literal["a", "r", "w"]]]
One of the following:
"a"
"r"
"w"
user_id: Optional[List[Dict[str, Literal["a", "r", "w"]]]]
One of the following:
"a"
"r"
"w"

PrismObjectsEngagements

Create object
prism.objects.engagements.create(EngagementCreateParams**kwargs) -> EngagementCreateResponse
POST/v2/prism/{teamId}/engagement
List records of an object type
prism.objects.engagements.list(EngagementListParams**kwargs) -> EngagementListResponse
GET/v2/prism/{teamId}/engagement
Get object
prism.objects.engagements.get(strengagement_id, EngagementGetParams**kwargs) -> EngagementGetResponse
GET/v2/prism/{teamId}/engagement/{engagementId}
Patch object
prism.objects.engagements.update(strengagement_id, EngagementUpdateParams**kwargs) -> EngagementUpdateResponse
PATCH/v2/prism/{teamId}/engagement/{engagementId}
Delete object
prism.objects.engagements.delete(strengagement_id, EngagementDeleteParams**kwargs)
DELETE/v2/prism/{teamId}/engagement/{engagementId}
Query
prism.objects.engagements.query(EngagementQueryParams**kwargs) -> EngagementQueryResponse
POST/v2/prism/{teamId}/engagement/query
Total record count for an object type
prism.objects.engagements.count(EngagementCountParams**kwargs) -> EngagementCountResponse
GET/v2/prism/{teamId}/engagement/count
Find a record by property value
prism.objects.engagements.find(strvalue, EngagementFindParams**kwargs) -> EngagementFindResponse
GET/v2/prism/{teamId}/engagement/by/{slug}/{value}
Upsert by property value
prism.objects.engagements.upsert(strvalue, EngagementUpsertParams**kwargs) -> EngagementUpsertResponse
PUT/v2/prism/{teamId}/engagement/by/{slug}/{value}
Import objects
prism.objects.engagements.bulk_create(EngagementBulkCreateParams**kwargs) -> EngagementBulkCreateResponse
POST/v2/prism/{teamId}/engagement/import
Bulk update records (partial success)
prism.objects.engagements.bulk_update(EngagementBulkUpdateParams**kwargs) -> EngagementBulkUpdateResponse
POST/v2/prism/{teamId}/engagement/batch/update
Bulk delete records (partial success)
prism.objects.engagements.bulk_delete(EngagementBulkDeleteParams**kwargs) -> EngagementBulkDeleteResponse
POST/v2/prism/{teamId}/engagement/batch/delete
Duplicate object
prism.objects.engagements.duplicate(strengagement_id, EngagementDuplicateParams**kwargs) -> EngagementDuplicateResponse
POST/v2/prism/{teamId}/engagement/{engagementId}/duplicate
Restore object
prism.objects.engagements.restore(strengagement_id, EngagementRestoreParams**kwargs) -> EngagementRestoreResponse
POST/v2/prism/{teamId}/engagement/{engagementId}/restore
ModelsExpand Collapse
class Engagement:
default: Optional[Dict[str, object]]

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

list: Optional[object]
class EngagementCreateResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class EngagementListResponse:
data: List[Data]
id: str
formatuuid
is_user_object: Optional[bool]
properties: Optional[Dict[str, object]]

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

source: Optional[List[str]]
has_more: bool

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

next_cursor: Optional[str]
total: Optional[int]

Populated only when ?include_total=true was passed.

class EngagementGetResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class EngagementUpdateResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class EngagementQueryResponse:
data: List[Data]
id: str
formatuuid
is_user_object: Optional[bool]
properties: Optional[Dict[str, object]]

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

source: Optional[List[str]]
has_more: bool

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

next_cursor: Optional[str]

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

total: Optional[int]

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.

class EngagementCountResponse:
total: int

Number of records matching the access scope.

class EngagementFindResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class EngagementUpsertResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class EngagementBulkCreateResponse:

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

job_id: Optional[str]

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

status: Literal["complete", "processing", "failed"]
One of the following:
"complete"
"processing"
"failed"
total: int

Total number of rows in the import.

created_at: Optional[datetime]
formatdate-time
error: Optional[Error]

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

code: Optional[str]
message: Optional[str]
expires_at: Optional[datetime]
formatdate-time
failed: Optional[int]
processed: Optional[int]

Rows that have been attempted (succeeded + failed).

results: Optional[List[Result]]

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

id: Optional[str]
formatuuid
created: Optional[bool]
error: Optional[ResultError]
code: Optional[str]
message: Optional[str]
existing: Optional[bool]

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

input_index: Optional[int]

Zero-based position of this row in the request.

minimum0
updated: Optional[bool]

True if a matching record was updated.

succeeded: Optional[int]
updated_at: Optional[datetime]
formatdate-time
class EngagementBulkUpdateResponse:

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

results: List[Result]
id: Optional[str]

Item ID, or null if the input was unparseable.

status: Literal["ok", "error"]
One of the following:
"ok"
"error"
error: Optional[ResultError]
code: Optional[str]
message: Optional[str]
record: Optional[ResultRecord]

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
summary: Summary
failed: int
succeeded: int
total: int
class EngagementBulkDeleteResponse:

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

results: List[Result]
id: Optional[str]

Item ID, or null if the input was unparseable.

status: Literal["ok", "error"]
One of the following:
"ok"
"error"
error: Optional[ResultError]
code: Optional[str]
message: Optional[str]
record: Optional[ResultRecord]

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
summary: Summary
failed: int
succeeded: int
total: int
class EngagementDuplicateResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]
class EngagementRestoreResponse:

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

id: str
formatuuid
default: Optional[Dict[str, object]]

Properties keyed by property slug.

list: Optional[object]

PrismObjectsEngagementsGrant

Get grant
prism.objects.engagements.grant.get(strengagement_id, GrantGetParams**kwargs) -> GrantGetResponse
GET/v2/prism/{teamId}/engagement/{engagementId}/grant
Update grant
prism.objects.engagements.grant.update(strengagement_id, GrantUpdateParams**kwargs) -> GrantUpdateResponse
PUT/v2/prism/{teamId}/engagement/{engagementId}/grant
ModelsExpand Collapse
class GrantGetResponse:
team_group_id: Optional[List[Dict[str, Literal["a", "r", "w"]]]]
One of the following:
"a"
"r"
"w"
team_id: Optional[Dict[str, Literal["a", "r", "w"]]]
One of the following:
"a"
"r"
"w"
user_id: Optional[List[Dict[str, Literal["a", "r", "w"]]]]
One of the following:
"a"
"r"
"w"
class GrantUpdateResponse:
team_group_id: Optional[List[Dict[str, Literal["a", "r", "w"]]]]
One of the following:
"a"
"r"
"w"
team_id: Optional[Dict[str, Literal["a", "r", "w"]]]
One of the following:
"a"
"r"
"w"
user_id: Optional[List[Dict[str, Literal["a", "r", "w"]]]]
One of the following:
"a"
"r"
"w"