diff --git a/clients/entity-client/src/openapi-runtime.json b/clients/entity-client/src/openapi-runtime.json index 91a27da4..0e5cbd0a 100644 --- a/clients/entity-client/src/openapi-runtime.json +++ b/clients/entity-client/src/openapi-runtime.json @@ -361,6 +361,9 @@ { "$ref": "#/components/parameters/HydrateEntitiesQueryParam" }, + { + "$ref": "#/components/parameters/AnonymizeQueryParam" + }, { "in": "query", "name": "fields", @@ -427,6 +430,9 @@ }, { "$ref": "#/components/parameters/HydrateEntitiesQueryParam" + }, + { + "$ref": "#/components/parameters/AnonymizeQueryParam" } ], "responses": {} @@ -523,6 +529,9 @@ "get": { "operationId": "autocomplete", "parameters": [ + { + "$ref": "#/components/parameters/AnonymizeQueryParam" + }, { "name": "input", "in": "query" @@ -578,6 +587,9 @@ "get": { "operationId": "getActivity", "parameters": [ + { + "$ref": "#/components/parameters/AnonymizeQueryParam" + }, { "$ref": "#/components/parameters/ActivityIdPathParam" }, @@ -657,6 +669,9 @@ "get": { "operationId": "listChangesets", "parameters": [ + { + "$ref": "#/components/parameters/AnonymizeQueryParam" + }, { "$ref": "#/components/parameters/EntitySlugPathParam" }, @@ -671,6 +686,9 @@ "get": { "operationId": "getEntityActivityFeed", "parameters": [ + { + "$ref": "#/components/parameters/AnonymizeQueryParam" + }, { "$ref": "#/components/parameters/EntitySlugPathParam" }, @@ -735,6 +753,9 @@ { "$ref": "#/components/parameters/HydrateEntitiesQueryParam" }, + { + "$ref": "#/components/parameters/AnonymizeQueryParam" + }, { "$ref": "#/components/parameters/IncludeReverseQueryParam" }, @@ -815,6 +836,9 @@ { "$ref": "#/components/parameters/HydrateEntitiesQueryParam" }, + { + "$ref": "#/components/parameters/AnonymizeQueryParam" + }, { "in": "query", "name": "query" @@ -850,6 +874,9 @@ { "$ref": "#/components/parameters/HydrateEntitiesQueryParam" }, + { + "$ref": "#/components/parameters/AnonymizeQueryParam" + }, { "$ref": "#/components/parameters/IncludeReverseDeprecatedQueryParam" }, @@ -1005,6 +1032,24 @@ "responses": {} } }, + "/v1/entity:abortImport": { + "post": { + "operationId": "abortEntityImport", + "parameters": [ + { + "in": "query", + "name": "job_id", + "required": true + }, + { + "in": "query", + "name": "schema", + "required": true + } + ], + "responses": {} + } + }, "/v1/entity/views": { "get": { "operationId": "listSavedViews", @@ -1029,6 +1074,11 @@ "name": "size", "required": false }, + { + "in": "query", + "name": "q", + "required": false + }, { "in": "query", "name": "fields", @@ -1596,6 +1646,11 @@ }, "components": { "parameters": { + "AnonymizeQueryParam": { + "name": "anonymize", + "in": "query", + "required": false + }, "EntityIdPathParam": { "name": "id", "in": "path", diff --git a/clients/entity-client/src/openapi.d.ts b/clients/entity-client/src/openapi.d.ts index dda53bf2..5c9af18c 100644 --- a/clients/entity-client/src/openapi.d.ts +++ b/clients/entity-client/src/openapi.d.ts @@ -20,6 +20,7 @@ declare namespace Components { * 01F130Q52Q6MWSNS8N2AVXV4JN */ Schemas.ActivityId /* ulid ^01[0-9a-zA-Z]{24}$ */ | ("" | null); + export type AnonymizeQueryParam = boolean; export type ApplyChangesetsQueryParam = boolean; export type AsyncOperationQueryParam = boolean; export type DirectQueryParam = boolean; @@ -77,6 +78,7 @@ declare namespace Components { ActivityIdPathParam?: Parameters.ActivityIdPathParam; } export interface QueryParameters { + AnonymizeQueryParam?: Parameters.AnonymizeQueryParam; TaxonomySlugQueryParam?: Parameters.TaxonomySlugQueryParam; TaxonomySlugQueryParamOptional?: Parameters.TaxonomySlugQueryParamOptional; AsyncOperationQueryParam?: Parameters.AsyncOperationQueryParam; @@ -390,6 +392,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -423,6 +432,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -608,6 +627,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -641,6 +667,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -843,6 +879,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -876,6 +919,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -1093,6 +1146,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -1126,6 +1186,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -1256,6 +1326,31 @@ declare namespace Components { FuzzyConfig; }; } + export interface BaseConditionDefinition { + /** + * Stable identity of the condition, generated by the client when the condition is + * created. It is what makes a rename distinguishable from a remove + add, so it must + * be round-tripped unchanged for the lifetime of the condition. + * + * example: + * d5839b94-ba20-4225-a78e-76951d352bd6 + */ + id: string; // uuid + /** + * The key variant values are stored under. Unique within the schema and immutable + * once the condition has been saved. + * + * example: + * delivery_area + */ + name: string; // ^[a-z0-9_]+$ + /** + * Display label. Always editable. + * example: + * Delivery Area + */ + label: string; + } /** * example: * { @@ -1383,6 +1478,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -1416,6 +1518,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -1678,6 +1790,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -1711,6 +1830,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -1861,6 +1990,19 @@ declare namespace Components { */ currency_field?: string; } + /** + * One dimension that conditional variants of an entity type are keyed by. `type` + * discriminates the variants: only a `select` condition carries `values`, and only a + * `location` condition carries `format`. + * + */ + export type ConditionDefinition = /** + * One dimension that conditional variants of an entity type are keyed by. `type` + * discriminates the variants: only a `select` condition carries `values`, and only a + * `location` condition carries `format`. + * + */ + /* A condition whose value is a plain scalar, with no further configuration. */ ScalarConditionDefinition | /* A condition whose value is one of a fixed set of options. */ SelectConditionDefinition | /* A condition whose value identifies a place. */ LocationConditionDefinition; /** * Consent Management */ @@ -1889,6 +2031,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -1922,6 +2071,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -2083,6 +2242,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -2116,6 +2282,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -2275,6 +2451,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -2308,6 +2491,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -2477,6 +2670,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -2510,6 +2710,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -2750,6 +2960,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -2783,6 +3000,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -3593,6 +3820,13 @@ declare namespace Components { * When true, enables entity hydration to resolve nested $relation & $relation_ref references in-place. */ hydrate?: boolean; + /** + * When true, anonymizes PII in the response: identifiers are replaced with deterministic pseudonyms, + * addresses are generalized and well-known free-text fields are redacted. + * Anonymization is forced (regardless of this parameter) when the access token was created with `anonymize: true`. + * + */ + anonymize?: boolean; fields?: /** * List of entity fields to include or exclude in the response * @@ -4102,6 +4336,7 @@ declare namespace Components { } | null; }; }; + source_context?: /* Billing and audit source context for the operation event. */ EntityOperationSourceContext; /** * Internal property for workflow origin tracking and infinite loop prevention. * Populated when an entity update originates from a workflow execution. @@ -4118,6 +4353,34 @@ declare namespace Components { */ flow_template_id?: string; }; + /** + * Ordered automation flow ids that caused this change; used to break multi-automation trigger loops. + */ + _automation_chain?: string[]; + } + /** + * Billing and audit source context for the operation event. + */ + export interface EntityOperationSourceContext { + /** + * Normalized source bucket for the operation. + */ + source: "portal" | "epilot" | "erp" | "system" | "api" | "external" | "journey" | "automation" | "unknown"; + /** + * Original free-form source label from the caller or changeset, when available. + */ + source_label?: string; + /** + * Optional upstream system label, for example an ERP system name. + */ + source_system?: string; + /** + * Optional upstream change reference. + */ + source_reference?: string; + actor_type?: "user" | "portal_user" | "api_client" | "automation" | "system"; + actor_id?: string; + effective_at?: string; // date-time } /** * The user / organization owning this entity. @@ -4271,6 +4534,27 @@ declare namespace Components { */ show_sharing_button?: boolean; }; + /** + * Widget-grid layout for the entity-details page (builder-authored); columns/cells drive the grid geometry. + */ + grid_layout?: { + /** + * Identifier of the chosen grid-layout preset. + */ + id?: string; + /** + * Number of columns in the widget grid. + */ + columns?: number; + /** + * Per-cell column span, positionally paired with the widgets in order. + */ + cells?: number[]; + }; + /** + * Ordered list of widget ids controlling the entity-details widget-grid order. Each id is a capability widget's `component` (or `summary` for the synthesized summary card); widgets absent from the list keep their natural order at the end. + */ + widget_order?: string[]; }; capabilities: /* Capabilities the Entity has. Turn features on/off for entities. */ EntityCapability[]; /** @@ -4382,6 +4666,20 @@ declare namespace Components { */ SearchMappings; group_headlines?: GroupHeadline[]; + /** + * Dimensions that conditional variants of this entity type are keyed by. + * + * Absent or `null` means entities of this type are not conditional. Attributes whose + * values a variant may override are marked with `variant_overridable`. + * + */ + conditions?: /** + * One dimension that conditional variants of an entity type are keyed by. `type` + * discriminates the variants: only a `select` condition carries `values`, and only a + * `location` condition carries `format`. + * + */ + ConditionDefinition[] | null; } export interface EntitySchemaGroup { /** @@ -4667,6 +4965,27 @@ declare namespace Components { */ show_sharing_button?: boolean; }; + /** + * Widget-grid layout for the entity-details page (builder-authored); columns/cells drive the grid geometry. + */ + grid_layout?: { + /** + * Identifier of the chosen grid-layout preset. + */ + id?: string; + /** + * Number of columns in the widget grid. + */ + columns?: number; + /** + * Per-cell column span, positionally paired with the widgets in order. + */ + cells?: number[]; + }; + /** + * Ordered list of widget ids controlling the entity-details widget-grid order. Each id is a capability widget's `component` (or `summary` for the synthesized summary card); widgets absent from the list keep their natural order at the end. + */ + widget_order?: string[]; }; capabilities: /* Capabilities the Entity has. Turn features on/off for entities. */ EntityCapability[]; /** @@ -4778,6 +5097,20 @@ declare namespace Components { */ SearchMappings; group_headlines?: GroupHeadline[]; + /** + * Dimensions that conditional variants of this entity type are keyed by. + * + * Absent or `null` means entities of this type are not conditional. Attributes whose + * values a variant may override are marked with `variant_overridable`. + * + */ + conditions?: /** + * One dimension that conditional variants of an entity type are keyed by. `type` + * discriminates the variants: only a `select` condition carries `values`, and only a + * `location` condition carries `format`. + * + */ + ConditionDefinition[] | null; } /** * Whether to include deleted entities in the search results @@ -4808,6 +5141,13 @@ declare namespace Components { * When true, enables entity hydration to resolve nested $relation & $relation_ref references in-place. */ hydrate?: boolean; + /** + * When true, anonymizes PII in the response: identifiers are replaced with deterministic pseudonyms, + * addresses are generalized and well-known free-text fields are redacted. + * Anonymization is forced (regardless of this parameter) when the access token was created with `anonymize: true`. + * + */ + anonymize?: boolean; fields?: /** * List of entity fields to include or exclude in the response * @@ -4908,6 +5248,13 @@ declare namespace Components { * When true, enables entity hydration to resolve nested $relation & $relation_ref references in-place. */ hydrate?: boolean; + /** + * When true, anonymizes PII in the response: identifiers are replaced with deterministic pseudonyms, + * addresses are generalized and well-known free-text fields are redacted. + * Anonymization is forced (regardless of this parameter) when the access token was created with `anonymize: true`. + * + */ + anonymize?: boolean; fields?: /** * List of entity fields to include or exclude in the response * @@ -5308,6 +5655,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -5341,6 +5695,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -6185,6 +6549,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -6218,6 +6589,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -6377,6 +6758,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -6410,6 +6798,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -6569,6 +6967,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -6602,6 +7007,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -6769,6 +7184,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -6802,6 +7224,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -6941,6 +7373,42 @@ declare namespace Components { hits?: number; results?: /* A saved entity view */ SavedViewItem[]; } + /** + * A condition whose value identifies a place. + */ + export interface LocationConditionDefinition { + /** + * Stable identity of the condition, generated by the client when the condition is + * created. It is what makes a rename distinguishable from a remove + add, so it must + * be round-tripped unchanged for the lifetime of the condition. + * + * example: + * d5839b94-ba20-4225-a78e-76951d352bd6 + */ + id: string; // uuid + /** + * The key variant values are stored under. Unique within the schema and immutable + * once the condition has been saved. + * + * example: + * delivery_area + */ + name: string; // ^[a-z0-9_]+$ + /** + * Display label. Always editable. + * example: + * Delivery Area + */ + label: string; + /** + * Immutable once the condition has been saved. + */ + type: "location"; + /** + * The shape of the location value. Immutable once the condition has been saved. + */ + format?: "zipcode" | "zipcode_town"; + } /** * Strategy for auto-clearing a changeset on an `edit_mode: external` attribute * when a direct write (`?direct=true`) arrives — typically an ERP inbound sync. @@ -6980,6 +7448,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -7013,6 +7488,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -7259,6 +7744,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -7292,6 +7784,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -7562,6 +8064,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -7595,6 +8104,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -7763,6 +8282,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -7796,6 +8322,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -7955,6 +8491,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -7988,6 +8531,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -8147,6 +8700,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -8180,6 +8740,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -8339,6 +8909,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -8372,6 +8949,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -8531,6 +9118,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -8564,6 +9158,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -8723,6 +9327,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -8756,6 +9367,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -8915,6 +9536,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -8948,6 +9576,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -9107,6 +9745,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -9140,6 +9785,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -9299,6 +9954,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -9332,6 +9994,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -9506,6 +10178,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -9539,6 +10218,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -9924,6 +10613,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -9957,6 +10653,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -10128,6 +10834,12 @@ declare namespace Components { * 10598 */ user_id?: string; + /** + * The organization ID of the user who created the view. Used for partner access control. + * example: + * 739224 + */ + org_id?: string; } | { [name: string]: any; source?: "SYSTEM" | "BLUEPRINT"; @@ -10205,6 +10917,12 @@ declare namespace Components { * 10598 */ user_id?: string; + /** + * The organization ID of the user who created the view. Used for partner access control. + * example: + * 739224 + */ + org_id?: string; } | { [name: string]: any; source?: "SYSTEM" | "BLUEPRINT"; @@ -10275,6 +10993,12 @@ declare namespace Components { * 10598 */ user_id?: string; + /** + * The organization ID of the user who created the view. Used for partner access control. + * example: + * 739224 + */ + org_id?: string; } | { [name: string]: any; source?: "SYSTEM" | "BLUEPRINT"; @@ -10304,6 +11028,38 @@ declare namespace Components { */ shared_with?: string[]; } + /** + * A condition whose value is a plain scalar, with no further configuration. + */ + export interface ScalarConditionDefinition { + /** + * Stable identity of the condition, generated by the client when the condition is + * created. It is what makes a rename distinguishable from a remove + add, so it must + * be round-tripped unchanged for the lifetime of the condition. + * + * example: + * d5839b94-ba20-4225-a78e-76951d352bd6 + */ + id: string; // uuid + /** + * The key variant values are stored under. Unique within the schema and immutable + * once the condition has been saved. + * + * example: + * delivery_area + */ + name: string; // ^[a-z0-9_]+$ + /** + * Display label. Always editable. + * example: + * Delivery Area + */ + label: string; + /** + * Immutable once the condition has been saved. + */ + type: "string" | "number" | "date" | "daterange" | "boolean"; + } /** * Generated uuid for schema */ @@ -10520,6 +11276,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -10553,6 +11316,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -10692,6 +11465,47 @@ declare namespace Components { */ allow_any?: boolean; } + /** + * A condition whose value is one of a fixed set of options. + */ + export interface SelectConditionDefinition { + /** + * Stable identity of the condition, generated by the client when the condition is + * created. It is what makes a rename distinguishable from a remove + add, so it must + * be round-tripped unchanged for the lifetime of the condition. + * + * example: + * d5839b94-ba20-4225-a78e-76951d352bd6 + */ + id: string; // uuid + /** + * The key variant values are stored under. Unique within the schema and immutable + * once the condition has been saved. + * + * example: + * delivery_area + */ + name: string; // ^[a-z0-9_]+$ + /** + * Display label. Always editable. + * example: + * Delivery Area + */ + label: string; + /** + * Immutable once the condition has been saved. + */ + type: "select"; + /** + * Selectable options. May be empty while the condition is being configured. + * example: + * [ + * "12_months", + * "24_months" + * ] + */ + values?: string[]; + } /** * Sequence of unique identifiers */ @@ -10720,6 +11534,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -10753,6 +11574,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -10929,6 +11760,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -10962,6 +11800,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -11217,6 +12065,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -11250,6 +12105,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -11465,6 +12330,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -11498,6 +12370,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -11814,7 +12696,7 @@ declare namespace Components { */ _manifest?: string /* uuid */[] | null; } - export type TaxonomyLocationId = "account" | "contact" | "contract" | "email_template" | "file" | "journey" | "meter_counter" | "meter" | "opportunity" | "order" | "partner" | "price" | "product" | "submission" | "tax" | "message" | "portal_user" | "request" | "comment"; + export type TaxonomyLocationId = "account" | "contact" | "contract" | "email_template" | "file" | "journey" | "meter_counter" | "meter" | "opportunity" | "order" | "partner" | "price" | "product" | "submission" | "tax" | "message" | "portal_user" | "request" | "comment" | "user"; /** * Whether to include archived labels in the search results * - `true`: include archived labels @@ -11859,6 +12741,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -11892,6 +12781,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -12064,6 +12963,13 @@ declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -12097,6 +13003,16 @@ declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -12232,6 +13148,45 @@ declare namespace Components { } } declare namespace Paths { + namespace AbortEntityImport { + namespace Parameters { + export type JobId = /** + * The unique identifier of the import job. + * example: + * abc123 + */ + Components.Schemas.ExportJobId; + export type Schema = string; + } + export interface QueryParameters { + job_id: Parameters.JobId; + schema: Parameters.Schema; + } + namespace Responses { + export interface $202 { + /** + * The job status at the time of the request. + */ + status?: string; + jobPollId?: string; + } + export interface $400 { + } + export interface $403 { + } + export interface $404 { + } + export type $429 = /** + * A generic error returned by the API + * example: + * { + * "status": 429, + * "error": "Too many requests. Try again later." + * } + */ + Components.Responses.TooManyRequestsError; + } + } namespace AddRelations { namespace Parameters { export type ActivityId = /** @@ -12386,6 +13341,7 @@ declare namespace Paths { } namespace Autocomplete { namespace Parameters { + export type Anonymize = boolean; /** * example: * _tags @@ -12401,6 +13357,7 @@ declare namespace Paths { Components.Schemas.EntitySlug /* ^[a-zA-Z0-9_-]+$ */; } export interface QueryParameters { + anonymize?: Parameters.Anonymize; input?: Parameters.Input; attribute: /** * example: @@ -12916,6 +13873,15 @@ declare namespace Paths { namespace Responses { export interface $200 { } + export type $404 = /** + * A generic error returned by the API + * example: + * { + * "status": 404, + * "error": "Not Found" + * } + */ + Components.Responses.NotFoundError; export type $429 = /** * A generic error returned by the API * example: @@ -13257,6 +14223,7 @@ declare namespace Paths { } namespace GetActivity { namespace Parameters { + export type Anonymize = boolean; export type Id = /** * See https://github.com/ulid/spec * example: @@ -13270,6 +14237,7 @@ declare namespace Paths { id: Parameters.Id; } export interface QueryParameters { + anonymize?: Parameters.Anonymize; operations_size?: Parameters.OperationsSize; operations_from?: Parameters.OperationsFrom; } @@ -13288,6 +14256,7 @@ declare namespace Paths { } namespace GetEntity { namespace Parameters { + export type Anonymize = boolean; export type Hydrate = boolean; export type Id = Components.Schemas.EntityId /* uuid */; export type Slug = /** @@ -13303,6 +14272,7 @@ declare namespace Paths { } export interface QueryParameters { hydrate?: Parameters.Hydrate; + anonymize?: Parameters.Anonymize; } namespace Responses { export interface $200 { @@ -13415,6 +14385,7 @@ declare namespace Paths { namespace GetEntityActivityFeed { namespace Parameters { export type After = string; // date-time + export type Anonymize = boolean; export type Before = string; // date-time export type EndDate = string; // date-time /** @@ -13452,6 +14423,7 @@ declare namespace Paths { id: Parameters.Id; } export interface QueryParameters { + anonymize?: Parameters.Anonymize; after?: Parameters.After /* date-time */; before?: Parameters.Before /* date-time */; start_date?: Parameters.StartDate /* date-time */; @@ -13500,6 +14472,7 @@ declare namespace Paths { } namespace GetEntityV2 { namespace Parameters { + export type Anonymize = boolean; export type ApplyChangesets = boolean; export type Fields = /** * List of entity fields to include or exclude in the response @@ -13534,6 +14507,7 @@ declare namespace Paths { } export interface QueryParameters { hydrate?: Parameters.Hydrate; + anonymize?: Parameters.Anonymize; fields?: Parameters.Fields; apply_changesets?: Parameters.ApplyChangesets; } @@ -13954,6 +14928,7 @@ declare namespace Paths { } namespace GetRelations { namespace Parameters { + export type Anonymize = boolean; export type ExcludeSchemas = /** * URL-friendly identifier for the entity schema * example: @@ -13984,6 +14959,7 @@ declare namespace Paths { } export interface QueryParameters { hydrate?: Parameters.Hydrate; + anonymize?: Parameters.Anonymize; include_reverse?: Parameters.IncludeReverse; from?: Parameters.From; size?: Parameters.Size; @@ -14005,6 +14981,7 @@ declare namespace Paths { } namespace GetRelationsV2 { namespace Parameters { + export type Anonymize = boolean; export type Fields = /** * List of entity fields to include or exclude in the response * @@ -14042,6 +15019,7 @@ declare namespace Paths { } export interface QueryParameters { hydrate?: Parameters.Hydrate; + anonymize?: Parameters.Anonymize; query?: Parameters.Query; include_reverse?: Parameters.IncludeReverse; from?: Parameters.From; @@ -14063,6 +15041,7 @@ declare namespace Paths { } namespace GetRelationsV3 { namespace Parameters { + export type Anonymize = boolean; export type ExcludeSchemas = /** * URL-friendly identifier for the entity schema * example: @@ -14122,6 +15101,7 @@ declare namespace Paths { } export interface QueryParameters { hydrate?: Parameters.Hydrate; + anonymize?: Parameters.Anonymize; include_reverse?: Parameters.IncludeReverse; from?: Parameters.From; size?: Parameters.Size; @@ -14440,7 +15420,7 @@ declare namespace Paths { /** * ISO 8601 timestamp to filter jobs created after this time (e.g., 2023-01-01T00:00:00Z). * example: - * 2023-01-01T00:00:00Z + * 2023-01-01T00:00:00.000Z */ export type CreatedAfter = string; // date-time /** @@ -14466,7 +15446,7 @@ declare namespace Paths { created_after?: /** * ISO 8601 timestamp to filter jobs created after this time (e.g., 2023-01-01T00:00:00Z). * example: - * 2023-01-01T00:00:00Z + * 2023-01-01T00:00:00.000Z */ Parameters.CreatedAfter /* date-time */; sort_pending_first?: /* When true, sorts PENDING status jobs to the top of the results. */ Parameters.SortPendingFirst; @@ -14555,6 +15535,7 @@ declare namespace Paths { } namespace ListChangesets { namespace Parameters { + export type Anonymize = boolean; export type Id = Components.Schemas.EntityId /* uuid */; export type Slug = /** * URL-friendly identifier for the entity schema @@ -14567,6 +15548,9 @@ declare namespace Paths { slug: Parameters.Slug; id: Parameters.Id; } + export interface QueryParameters { + anonymize?: Parameters.Anonymize; + } namespace Responses { export type $200 = /* Map of attribute name to pending changeset. At most one changeset per attribute. */ Components.Schemas.ChangesetMap; export type $404 = /** @@ -14623,6 +15607,7 @@ declare namespace Paths { */ Components.Schemas.FieldsParam; export type From = number; + export type Q = string; export type Size = number; export type Slug = /** * URL-friendly identifier for the entity schema @@ -14637,6 +15622,7 @@ declare namespace Paths { sort?: Parameters.Sort; from?: Parameters.From; size?: Parameters.Size; + q?: Parameters.Q; fields?: Parameters.Fields; } namespace Responses { @@ -16519,7 +17505,7 @@ export interface OperationMethods { * Returns all pending changesets for an entity. */ 'listChangesets'( - parameters?: Parameters | null, + parameters?: Parameters | null, data?: any, config?: AxiosRequestConfig ): OperationResponse @@ -16657,6 +17643,25 @@ export interface OperationMethods { data?: Paths.ImportEntities.RequestBody, config?: AxiosRequestConfig ): OperationResponse + /** + * abortEntityImport - Abort a running entity import + * + * Asks a running import to stop. Rows already imported are **kept** - this is a stop, not a + * rollback - and the job still produces its result reports for everything that landed before + * the stop, then reaches the terminal status `CANCELLED`. + * + * The stop is cooperative: the worker notices the request at its next batch boundary, so the + * job typically reaches `CANCELLED` within seconds. Poll `POST /v1/entity:import` with the + * `job_id` as usual to observe it. + * + * Idempotent - aborting an already-aborted or already-finished job is not an error. + * + */ + 'abortEntityImport'( + parameters?: Parameters | null, + data?: any, + config?: AxiosRequestConfig + ): OperationResponse /** * listSavedViews - listSavedViews * @@ -17753,7 +18758,7 @@ export interface PathsDictionary { * Returns all pending changesets for an entity. */ 'get'( - parameters?: Parameters | null, + parameters?: Parameters | null, data?: any, config?: AxiosRequestConfig ): OperationResponse @@ -17908,6 +18913,27 @@ export interface PathsDictionary { config?: AxiosRequestConfig ): OperationResponse } + ['/v1/entity:abortImport']: { + /** + * abortEntityImport - Abort a running entity import + * + * Asks a running import to stop. Rows already imported are **kept** - this is a stop, not a + * rollback - and the job still produces its result reports for everything that landed before + * the stop, then reaches the terminal status `CANCELLED`. + * + * The stop is cooperative: the worker notices the request at its next batch boundary, so the + * job typically reaches `CANCELLED` within seconds. Poll `POST /v1/entity:import` with the + * `job_id` as usual to observe it. + * + * Idempotent - aborting an already-aborted or already-finished job is not an error. + * + */ + 'post'( + parameters?: Parameters | null, + data?: any, + config?: AxiosRequestConfig + ): OperationResponse + } ['/v1/entity/views']: { /** * listSavedViews - listSavedViews @@ -18415,6 +19441,7 @@ export type AttributeWithCompositeID = Components.Schemas.AttributeWithComposite export type AutomationAttribute = Components.Schemas.AutomationAttribute; export type BaseActivityItem = Components.Schemas.BaseActivityItem; export type BaseAttribute = Components.Schemas.BaseAttribute; +export type BaseConditionDefinition = Components.Schemas.BaseConditionDefinition; export type BaseEntity = Components.Schemas.BaseEntity; export type BlueprintEntityId = Components.Schemas.BlueprintEntityId; export type BooleanAttribute = Components.Schemas.BooleanAttribute; @@ -18426,6 +19453,7 @@ export type ClassificationIdOrPattern = Components.Schemas.ClassificationIdOrPat export type ClassificationSlug = Components.Schemas.ClassificationSlug; export type ClassificationsUpdate = Components.Schemas.ClassificationsUpdate; export type ComputedAttribute = Components.Schemas.ComputedAttribute; +export type ConditionDefinition = Components.Schemas.ConditionDefinition; export type ConsentAttribute = Components.Schemas.ConsentAttribute; export type CountryAttribute = Components.Schemas.CountryAttribute; export type CurrencyAttribute = Components.Schemas.CurrencyAttribute; @@ -18448,6 +19476,7 @@ export type EntityImportParams = Components.Schemas.EntityImportParams; export type EntityItem = Components.Schemas.EntityItem; export type EntityListParams = Components.Schemas.EntityListParams; export type EntityOperation = Components.Schemas.EntityOperation; +export type EntityOperationSourceContext = Components.Schemas.EntityOperationSourceContext; export type EntityOwner = Components.Schemas.EntityOwner; export type EntitySchema = Components.Schemas.EntitySchema; export type EntitySchemaGroup = Components.Schemas.EntitySchemaGroup; @@ -18496,6 +19525,7 @@ export type IsTemplate = Components.Schemas.IsTemplate; export type Language = Components.Schemas.Language; export type LinkAttribute = Components.Schemas.LinkAttribute; export type ListSavedViewsResults = Components.Schemas.ListSavedViewsResults; +export type LocationConditionDefinition = Components.Schemas.LocationConditionDefinition; export type MatchStrategy = Components.Schemas.MatchStrategy; export type MessageEmailAddressAttribute = Components.Schemas.MessageEmailAddressAttribute; export type MeterReadingChangesetEntry = Components.Schemas.MeterReadingChangesetEntry; @@ -18520,11 +19550,13 @@ export type SavedView = Components.Schemas.SavedView; export type SavedViewId = Components.Schemas.SavedViewId; export type SavedViewItem = Components.Schemas.SavedViewItem; export type SavedViewPartial = Components.Schemas.SavedViewPartial; +export type ScalarConditionDefinition = Components.Schemas.ScalarConditionDefinition; export type SchemaId = Components.Schemas.SchemaId; export type SearchFilter = Components.Schemas.SearchFilter; export type SearchFilterValue = Components.Schemas.SearchFilterValue; export type SearchMappings = Components.Schemas.SearchMappings; export type SelectAttribute = Components.Schemas.SelectAttribute; +export type SelectConditionDefinition = Components.Schemas.SelectConditionDefinition; export type SequenceAttribute = Components.Schemas.SequenceAttribute; export type SettingFlag = Components.Schemas.SettingFlag; export type StatusAttribute = Components.Schemas.StatusAttribute; diff --git a/clients/entity-client/src/openapi.json b/clients/entity-client/src/openapi.json index d5ad201e..238eb696 100644 --- a/clients/entity-client/src/openapi.json +++ b/clients/entity-client/src/openapi.json @@ -1419,6 +1419,9 @@ { "$ref": "#/components/parameters/HydrateEntitiesQueryParam" }, + { + "$ref": "#/components/parameters/AnonymizeQueryParam" + }, { "in": "query", "name": "fields", @@ -1568,6 +1571,9 @@ }, { "$ref": "#/components/parameters/HydrateEntitiesQueryParam" + }, + { + "$ref": "#/components/parameters/AnonymizeQueryParam" } ], "responses": { @@ -1776,6 +1782,9 @@ "Entities" ], "parameters": [ + { + "$ref": "#/components/parameters/AnonymizeQueryParam" + }, { "name": "input", "in": "query", @@ -1944,6 +1953,9 @@ "Activity" ], "parameters": [ + { + "$ref": "#/components/parameters/AnonymizeQueryParam" + }, { "$ref": "#/components/parameters/ActivityIdPathParam" }, @@ -2140,6 +2152,9 @@ "Entities" ], "parameters": [ + { + "$ref": "#/components/parameters/AnonymizeQueryParam" + }, { "$ref": "#/components/parameters/EntitySlugPathParam" }, @@ -2173,6 +2188,9 @@ "Activity" ], "parameters": [ + { + "$ref": "#/components/parameters/AnonymizeQueryParam" + }, { "$ref": "#/components/parameters/EntitySlugPathParam" }, @@ -2325,6 +2343,9 @@ { "$ref": "#/components/parameters/HydrateEntitiesQueryParam" }, + { + "$ref": "#/components/parameters/AnonymizeQueryParam" + }, { "$ref": "#/components/parameters/IncludeReverseQueryParam" }, @@ -2551,6 +2572,9 @@ { "$ref": "#/components/parameters/HydrateEntitiesQueryParam" }, + { + "$ref": "#/components/parameters/AnonymizeQueryParam" + }, { "in": "query", "name": "query", @@ -2620,6 +2644,9 @@ { "$ref": "#/components/parameters/HydrateEntitiesQueryParam" }, + { + "$ref": "#/components/parameters/AnonymizeQueryParam" + }, { "$ref": "#/components/parameters/IncludeReverseDeprecatedQueryParam" }, @@ -2940,6 +2967,69 @@ } } }, + "/v1/entity:abortImport": { + "post": { + "operationId": "abortEntityImport", + "summary": "Abort a running entity import", + "description": "Asks a running import to stop. Rows already imported are **kept** - this is a stop, not a\nrollback - and the job still produces its result reports for everything that landed before\nthe stop, then reaches the terminal status `CANCELLED`.\n\nThe stop is cooperative: the worker notices the request at its next batch boundary, so the\njob typically reaches `CANCELLED` within seconds. Poll `POST /v1/entity:import` with the\n`job_id` as usual to observe it.\n\nIdempotent - aborting an already-aborted or already-finished job is not an error.\n", + "tags": [ + "Import-Export" + ], + "parameters": [ + { + "in": "query", + "name": "job_id", + "required": true, + "description": "The ID of the import job to stop.", + "schema": { + "$ref": "#/components/schemas/ExportJobId" + } + }, + { + "in": "query", + "name": "schema", + "required": true, + "description": "Slug of the schema being imported, used to authorize the caller.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "The stop was requested. The job is still running until the worker picks the request up.\n", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The job status at the time of the request." + }, + "jobPollId": { + "type": "string" + } + } + } + } + } + }, + "400": { + "description": "Bad Request" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "No such import job" + }, + "429": { + "$ref": "#/components/responses/TooManyRequestsError" + } + } + } + }, "/v1/entity/views": { "get": { "operationId": "listSavedViews", @@ -2990,6 +3080,15 @@ "maximum": 250 } }, + { + "in": "query", + "name": "q", + "description": "Free-text search on the saved view name (case-insensitive)", + "required": false, + "schema": { + "type": "string" + } + }, { "in": "query", "name": "fields", @@ -3158,7 +3257,10 @@ ], "responses": { "200": { - "description": "List of all available saved views" + "description": "The saved view was deleted" + }, + "404": { + "$ref": "#/components/responses/NotFoundError" }, "429": { "$ref": "#/components/responses/TooManyRequestsError" @@ -3845,7 +3947,7 @@ "description": "ISO 8601 timestamp to filter jobs created after this time (e.g., 2023-01-01T00:00:00Z).", "type": "string", "format": "date-time", - "example": "2023-01-01T00:00:00Z" + "example": "2023-01-01T00:00:00.000Z" } }, { @@ -4967,6 +5069,34 @@ "example": true } } + }, + "grid_layout": { + "type": "object", + "description": "Widget-grid layout for the entity-details page (builder-authored); columns/cells drive the grid geometry.", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the chosen grid-layout preset." + }, + "columns": { + "type": "number", + "description": "Number of columns in the widget grid." + }, + "cells": { + "type": "array", + "description": "Per-cell column span, positionally paired with the widgets in order.", + "items": { + "type": "number" + } + } + } + }, + "widget_order": { + "type": "array", + "description": "Ordered list of widget ids controlling the entity-details widget-grid order. Each id is a capability widget's `component` (or `summary` for the synthesized summary card); widgets absent from the list keep their natural order at the end.", + "items": { + "type": "string" + } } } }, @@ -5094,6 +5224,14 @@ "items": { "$ref": "#/components/schemas/GroupHeadline" } + }, + "conditions": { + "type": "array", + "nullable": true, + "description": "Dimensions that conditional variants of this entity type are keyed by.\n\nAbsent or `null` means entities of this type are not conditional. Attributes whose\nvalues a variant may override are marked with `variant_overridable`.\n", + "items": { + "$ref": "#/components/schemas/ConditionDefinition" + } } }, "required": [ @@ -5523,6 +5661,11 @@ "type": "boolean", "default": false }, + "variant_overridable": { + "type": "boolean", + "default": false, + "description": "Allow conditional variants of the entity to override this attribute's value.\nOnly meaningful on schemas that declare `conditions`. Unflagged attributes stay\nfixed on the base entity.\n" + }, "default_value": {}, "group": { "description": "Which group the attribute should appear in. Accepts group ID or group name", @@ -5549,6 +5692,14 @@ "type": "string", "description": "Defines the conditional rendering expression for showing this field.\nWhen a valid expression is parsed, their evaluation defines the visibility of this attribute.\nNote: Empty or invalid expression have no effect on the field visibility.\n" }, + "data_classification": { + "type": "string", + "enum": [ + "public", + "pii" + ], + "description": "Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).\n\n- `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)\n- `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)\n\nWhen unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.\n" + }, "_purpose": { "type": "array", "items": { @@ -7115,6 +7266,139 @@ } ] }, + "BaseConditionDefinition": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "description": "Stable identity of the condition, generated by the client when the condition is\ncreated. It is what makes a rename distinguishable from a remove + add, so it must\nbe round-tripped unchanged for the lifetime of the condition.\n", + "example": "d5839b94-ba20-4225-a78e-76951d352bd6" + }, + "name": { + "type": "string", + "pattern": "^[a-z0-9_]+$", + "description": "The key variant values are stored under. Unique within the schema and immutable\nonce the condition has been saved.\n", + "example": "delivery_area" + }, + "label": { + "type": "string", + "description": "Display label. Always editable.", + "example": "Delivery Area" + } + }, + "required": [ + "id", + "name", + "label" + ] + }, + "ScalarConditionDefinition": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseConditionDefinition" + }, + { + "type": "object", + "description": "A condition whose value is a plain scalar, with no further configuration.", + "properties": { + "type": { + "type": "string", + "description": "Immutable once the condition has been saved.", + "enum": [ + "string", + "number", + "date", + "daterange", + "boolean" + ] + } + }, + "required": [ + "type" + ] + } + ] + }, + "SelectConditionDefinition": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseConditionDefinition" + }, + { + "type": "object", + "description": "A condition whose value is one of a fixed set of options.", + "properties": { + "type": { + "type": "string", + "description": "Immutable once the condition has been saved.", + "enum": [ + "select" + ] + }, + "values": { + "type": "array", + "description": "Selectable options. May be empty while the condition is being configured.", + "items": { + "type": "string" + }, + "example": [ + "12_months", + "24_months" + ] + } + }, + "required": [ + "type" + ] + } + ] + }, + "LocationConditionDefinition": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseConditionDefinition" + }, + { + "type": "object", + "description": "A condition whose value identifies a place.", + "properties": { + "type": { + "type": "string", + "description": "Immutable once the condition has been saved.", + "enum": [ + "location" + ] + }, + "format": { + "type": "string", + "description": "The shape of the location value. Immutable once the condition has been saved.", + "enum": [ + "zipcode", + "zipcode_town" + ] + } + }, + "required": [ + "type" + ] + } + ] + }, + "ConditionDefinition": { + "description": "One dimension that conditional variants of an entity type are keyed by. `type`\ndiscriminates the variants: only a `select` condition carries `values`, and only a\n`location` condition carries `format`.\n", + "oneOf": [ + { + "$ref": "#/components/schemas/ScalarConditionDefinition" + }, + { + "$ref": "#/components/schemas/SelectConditionDefinition" + }, + { + "$ref": "#/components/schemas/LocationConditionDefinition" + } + ] + }, "EntitySlug": { "description": "URL-friendly identifier for the entity schema", "type": "string", @@ -8090,6 +8374,7 @@ "from": {}, "size": {}, "hydrate": {}, + "anonymize": {}, "fields": {}, "aggs": {}, "include_deleted": {}, @@ -8174,6 +8459,7 @@ "from": {}, "size": {}, "hydrate": {}, + "anonymize": {}, "fields": {}, "aggs": {}, "include_deleted": {}, @@ -8398,6 +8684,11 @@ "description": "When true, enables entity hydration to resolve nested $relation & $relation_ref references in-place.", "default": false }, + "anonymize": { + "type": "boolean", + "description": "When true, anonymizes PII in the response: identifiers are replaced with deterministic pseudonyms,\naddresses are generalized and well-known free-text fields are redacted.\nAnonymization is forced (regardless of this parameter) when the access token was created with `anonymize: true`.\n", + "default": false + }, "fields": { "$ref": "#/components/schemas/FieldsParam" }, @@ -9030,6 +9321,9 @@ } } }, + "source_context": { + "$ref": "#/components/schemas/EntityOperationSourceContext" + }, "_workflow_origin": { "type": "object", "description": "Internal property for workflow origin tracking and infinite loop prevention.\nPopulated when an entity update originates from a workflow execution.\nThis allows downstream automation services to prevent circular triggering.\n", @@ -9043,6 +9337,13 @@ "description": "The flow template ID - used to detect and prevent circular triggering" } } + }, + "_automation_chain": { + "type": "array", + "description": "Ordered automation flow ids that caused this change; used to break multi-automation trigger loops.", + "items": { + "type": "string" + } } }, "required": [ @@ -9051,6 +9352,59 @@ "operation" ] }, + "EntityOperationSourceContext": { + "type": "object", + "description": "Billing and audit source context for the operation event.", + "properties": { + "source": { + "type": "string", + "description": "Normalized source bucket for the operation.", + "enum": [ + "portal", + "epilot", + "erp", + "system", + "api", + "external", + "journey", + "automation", + "unknown" + ] + }, + "source_label": { + "type": "string", + "description": "Original free-form source label from the caller or changeset, when available." + }, + "source_system": { + "type": "string", + "description": "Optional upstream system label, for example an ERP system name." + }, + "source_reference": { + "type": "string", + "description": "Optional upstream change reference." + }, + "actor_type": { + "type": "string", + "enum": [ + "user", + "portal_user", + "api_client", + "automation", + "system" + ] + }, + "actor_id": { + "type": "string" + }, + "effective_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "source" + ] + }, "BaseActivityItem": { "allOf": [ { @@ -9192,6 +9546,11 @@ "user_id": { "type": "string", "example": "10598" + }, + "org_id": { + "type": "string", + "description": "The organization ID of the user who created the view. Used for partner access control.", + "example": "739224" } } }, @@ -9372,7 +9731,8 @@ "message", "portal_user", "request", - "comment" + "comment", + "user" ] }, "TaxonomySearchIncludeArchivedParam": { @@ -10052,6 +10412,16 @@ } }, "parameters": { + "AnonymizeQueryParam": { + "name": "anonymize", + "description": "When true, anonymizes PII in the response: identifiers (names, emails, phone numbers, IBANs) are replaced\nwith deterministic pseudonyms (stable within an org), addresses are generalized to postal code / city / country,\nand well-known free-text fields (e.g. note content) are redacted.\n\nUseful for AI agents and data analysis use cases that must not access personal data.\n\nAnonymization is forced (regardless of this parameter) when the access token was created with `anonymize: true`.\n", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, "EntityIdPathParam": { "name": "id", "description": "Entity id", diff --git a/packages/cli/definitions/entity.json b/packages/cli/definitions/entity.json index d5ad201e..238eb696 100644 --- a/packages/cli/definitions/entity.json +++ b/packages/cli/definitions/entity.json @@ -1419,6 +1419,9 @@ { "$ref": "#/components/parameters/HydrateEntitiesQueryParam" }, + { + "$ref": "#/components/parameters/AnonymizeQueryParam" + }, { "in": "query", "name": "fields", @@ -1568,6 +1571,9 @@ }, { "$ref": "#/components/parameters/HydrateEntitiesQueryParam" + }, + { + "$ref": "#/components/parameters/AnonymizeQueryParam" } ], "responses": { @@ -1776,6 +1782,9 @@ "Entities" ], "parameters": [ + { + "$ref": "#/components/parameters/AnonymizeQueryParam" + }, { "name": "input", "in": "query", @@ -1944,6 +1953,9 @@ "Activity" ], "parameters": [ + { + "$ref": "#/components/parameters/AnonymizeQueryParam" + }, { "$ref": "#/components/parameters/ActivityIdPathParam" }, @@ -2140,6 +2152,9 @@ "Entities" ], "parameters": [ + { + "$ref": "#/components/parameters/AnonymizeQueryParam" + }, { "$ref": "#/components/parameters/EntitySlugPathParam" }, @@ -2173,6 +2188,9 @@ "Activity" ], "parameters": [ + { + "$ref": "#/components/parameters/AnonymizeQueryParam" + }, { "$ref": "#/components/parameters/EntitySlugPathParam" }, @@ -2325,6 +2343,9 @@ { "$ref": "#/components/parameters/HydrateEntitiesQueryParam" }, + { + "$ref": "#/components/parameters/AnonymizeQueryParam" + }, { "$ref": "#/components/parameters/IncludeReverseQueryParam" }, @@ -2551,6 +2572,9 @@ { "$ref": "#/components/parameters/HydrateEntitiesQueryParam" }, + { + "$ref": "#/components/parameters/AnonymizeQueryParam" + }, { "in": "query", "name": "query", @@ -2620,6 +2644,9 @@ { "$ref": "#/components/parameters/HydrateEntitiesQueryParam" }, + { + "$ref": "#/components/parameters/AnonymizeQueryParam" + }, { "$ref": "#/components/parameters/IncludeReverseDeprecatedQueryParam" }, @@ -2940,6 +2967,69 @@ } } }, + "/v1/entity:abortImport": { + "post": { + "operationId": "abortEntityImport", + "summary": "Abort a running entity import", + "description": "Asks a running import to stop. Rows already imported are **kept** - this is a stop, not a\nrollback - and the job still produces its result reports for everything that landed before\nthe stop, then reaches the terminal status `CANCELLED`.\n\nThe stop is cooperative: the worker notices the request at its next batch boundary, so the\njob typically reaches `CANCELLED` within seconds. Poll `POST /v1/entity:import` with the\n`job_id` as usual to observe it.\n\nIdempotent - aborting an already-aborted or already-finished job is not an error.\n", + "tags": [ + "Import-Export" + ], + "parameters": [ + { + "in": "query", + "name": "job_id", + "required": true, + "description": "The ID of the import job to stop.", + "schema": { + "$ref": "#/components/schemas/ExportJobId" + } + }, + { + "in": "query", + "name": "schema", + "required": true, + "description": "Slug of the schema being imported, used to authorize the caller.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "The stop was requested. The job is still running until the worker picks the request up.\n", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The job status at the time of the request." + }, + "jobPollId": { + "type": "string" + } + } + } + } + } + }, + "400": { + "description": "Bad Request" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "No such import job" + }, + "429": { + "$ref": "#/components/responses/TooManyRequestsError" + } + } + } + }, "/v1/entity/views": { "get": { "operationId": "listSavedViews", @@ -2990,6 +3080,15 @@ "maximum": 250 } }, + { + "in": "query", + "name": "q", + "description": "Free-text search on the saved view name (case-insensitive)", + "required": false, + "schema": { + "type": "string" + } + }, { "in": "query", "name": "fields", @@ -3158,7 +3257,10 @@ ], "responses": { "200": { - "description": "List of all available saved views" + "description": "The saved view was deleted" + }, + "404": { + "$ref": "#/components/responses/NotFoundError" }, "429": { "$ref": "#/components/responses/TooManyRequestsError" @@ -3845,7 +3947,7 @@ "description": "ISO 8601 timestamp to filter jobs created after this time (e.g., 2023-01-01T00:00:00Z).", "type": "string", "format": "date-time", - "example": "2023-01-01T00:00:00Z" + "example": "2023-01-01T00:00:00.000Z" } }, { @@ -4967,6 +5069,34 @@ "example": true } } + }, + "grid_layout": { + "type": "object", + "description": "Widget-grid layout for the entity-details page (builder-authored); columns/cells drive the grid geometry.", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the chosen grid-layout preset." + }, + "columns": { + "type": "number", + "description": "Number of columns in the widget grid." + }, + "cells": { + "type": "array", + "description": "Per-cell column span, positionally paired with the widgets in order.", + "items": { + "type": "number" + } + } + } + }, + "widget_order": { + "type": "array", + "description": "Ordered list of widget ids controlling the entity-details widget-grid order. Each id is a capability widget's `component` (or `summary` for the synthesized summary card); widgets absent from the list keep their natural order at the end.", + "items": { + "type": "string" + } } } }, @@ -5094,6 +5224,14 @@ "items": { "$ref": "#/components/schemas/GroupHeadline" } + }, + "conditions": { + "type": "array", + "nullable": true, + "description": "Dimensions that conditional variants of this entity type are keyed by.\n\nAbsent or `null` means entities of this type are not conditional. Attributes whose\nvalues a variant may override are marked with `variant_overridable`.\n", + "items": { + "$ref": "#/components/schemas/ConditionDefinition" + } } }, "required": [ @@ -5523,6 +5661,11 @@ "type": "boolean", "default": false }, + "variant_overridable": { + "type": "boolean", + "default": false, + "description": "Allow conditional variants of the entity to override this attribute's value.\nOnly meaningful on schemas that declare `conditions`. Unflagged attributes stay\nfixed on the base entity.\n" + }, "default_value": {}, "group": { "description": "Which group the attribute should appear in. Accepts group ID or group name", @@ -5549,6 +5692,14 @@ "type": "string", "description": "Defines the conditional rendering expression for showing this field.\nWhen a valid expression is parsed, their evaluation defines the visibility of this attribute.\nNote: Empty or invalid expression have no effect on the field visibility.\n" }, + "data_classification": { + "type": "string", + "enum": [ + "public", + "pii" + ], + "description": "Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).\n\n- `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)\n- `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)\n\nWhen unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.\n" + }, "_purpose": { "type": "array", "items": { @@ -7115,6 +7266,139 @@ } ] }, + "BaseConditionDefinition": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "description": "Stable identity of the condition, generated by the client when the condition is\ncreated. It is what makes a rename distinguishable from a remove + add, so it must\nbe round-tripped unchanged for the lifetime of the condition.\n", + "example": "d5839b94-ba20-4225-a78e-76951d352bd6" + }, + "name": { + "type": "string", + "pattern": "^[a-z0-9_]+$", + "description": "The key variant values are stored under. Unique within the schema and immutable\nonce the condition has been saved.\n", + "example": "delivery_area" + }, + "label": { + "type": "string", + "description": "Display label. Always editable.", + "example": "Delivery Area" + } + }, + "required": [ + "id", + "name", + "label" + ] + }, + "ScalarConditionDefinition": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseConditionDefinition" + }, + { + "type": "object", + "description": "A condition whose value is a plain scalar, with no further configuration.", + "properties": { + "type": { + "type": "string", + "description": "Immutable once the condition has been saved.", + "enum": [ + "string", + "number", + "date", + "daterange", + "boolean" + ] + } + }, + "required": [ + "type" + ] + } + ] + }, + "SelectConditionDefinition": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseConditionDefinition" + }, + { + "type": "object", + "description": "A condition whose value is one of a fixed set of options.", + "properties": { + "type": { + "type": "string", + "description": "Immutable once the condition has been saved.", + "enum": [ + "select" + ] + }, + "values": { + "type": "array", + "description": "Selectable options. May be empty while the condition is being configured.", + "items": { + "type": "string" + }, + "example": [ + "12_months", + "24_months" + ] + } + }, + "required": [ + "type" + ] + } + ] + }, + "LocationConditionDefinition": { + "allOf": [ + { + "$ref": "#/components/schemas/BaseConditionDefinition" + }, + { + "type": "object", + "description": "A condition whose value identifies a place.", + "properties": { + "type": { + "type": "string", + "description": "Immutable once the condition has been saved.", + "enum": [ + "location" + ] + }, + "format": { + "type": "string", + "description": "The shape of the location value. Immutable once the condition has been saved.", + "enum": [ + "zipcode", + "zipcode_town" + ] + } + }, + "required": [ + "type" + ] + } + ] + }, + "ConditionDefinition": { + "description": "One dimension that conditional variants of an entity type are keyed by. `type`\ndiscriminates the variants: only a `select` condition carries `values`, and only a\n`location` condition carries `format`.\n", + "oneOf": [ + { + "$ref": "#/components/schemas/ScalarConditionDefinition" + }, + { + "$ref": "#/components/schemas/SelectConditionDefinition" + }, + { + "$ref": "#/components/schemas/LocationConditionDefinition" + } + ] + }, "EntitySlug": { "description": "URL-friendly identifier for the entity schema", "type": "string", @@ -8090,6 +8374,7 @@ "from": {}, "size": {}, "hydrate": {}, + "anonymize": {}, "fields": {}, "aggs": {}, "include_deleted": {}, @@ -8174,6 +8459,7 @@ "from": {}, "size": {}, "hydrate": {}, + "anonymize": {}, "fields": {}, "aggs": {}, "include_deleted": {}, @@ -8398,6 +8684,11 @@ "description": "When true, enables entity hydration to resolve nested $relation & $relation_ref references in-place.", "default": false }, + "anonymize": { + "type": "boolean", + "description": "When true, anonymizes PII in the response: identifiers are replaced with deterministic pseudonyms,\naddresses are generalized and well-known free-text fields are redacted.\nAnonymization is forced (regardless of this parameter) when the access token was created with `anonymize: true`.\n", + "default": false + }, "fields": { "$ref": "#/components/schemas/FieldsParam" }, @@ -9030,6 +9321,9 @@ } } }, + "source_context": { + "$ref": "#/components/schemas/EntityOperationSourceContext" + }, "_workflow_origin": { "type": "object", "description": "Internal property for workflow origin tracking and infinite loop prevention.\nPopulated when an entity update originates from a workflow execution.\nThis allows downstream automation services to prevent circular triggering.\n", @@ -9043,6 +9337,13 @@ "description": "The flow template ID - used to detect and prevent circular triggering" } } + }, + "_automation_chain": { + "type": "array", + "description": "Ordered automation flow ids that caused this change; used to break multi-automation trigger loops.", + "items": { + "type": "string" + } } }, "required": [ @@ -9051,6 +9352,59 @@ "operation" ] }, + "EntityOperationSourceContext": { + "type": "object", + "description": "Billing and audit source context for the operation event.", + "properties": { + "source": { + "type": "string", + "description": "Normalized source bucket for the operation.", + "enum": [ + "portal", + "epilot", + "erp", + "system", + "api", + "external", + "journey", + "automation", + "unknown" + ] + }, + "source_label": { + "type": "string", + "description": "Original free-form source label from the caller or changeset, when available." + }, + "source_system": { + "type": "string", + "description": "Optional upstream system label, for example an ERP system name." + }, + "source_reference": { + "type": "string", + "description": "Optional upstream change reference." + }, + "actor_type": { + "type": "string", + "enum": [ + "user", + "portal_user", + "api_client", + "automation", + "system" + ] + }, + "actor_id": { + "type": "string" + }, + "effective_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "source" + ] + }, "BaseActivityItem": { "allOf": [ { @@ -9192,6 +9546,11 @@ "user_id": { "type": "string", "example": "10598" + }, + "org_id": { + "type": "string", + "description": "The organization ID of the user who created the view. Used for partner access control.", + "example": "739224" } } }, @@ -9372,7 +9731,8 @@ "message", "portal_user", "request", - "comment" + "comment", + "user" ] }, "TaxonomySearchIncludeArchivedParam": { @@ -10052,6 +10412,16 @@ } }, "parameters": { + "AnonymizeQueryParam": { + "name": "anonymize", + "description": "When true, anonymizes PII in the response: identifiers (names, emails, phone numbers, IBANs) are replaced\nwith deterministic pseudonyms (stable within an org), addresses are generalized to postal code / city / country,\nand well-known free-text fields (e.g. note content) are redacted.\n\nUseful for AI agents and data analysis use cases that must not access personal data.\n\nAnonymization is forced (regardless of this parameter) when the access token was created with `anonymize: true`.\n", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, "EntityIdPathParam": { "name": "id", "description": "Entity id", diff --git a/packages/cli/docs/entity.md b/packages/cli/docs/entity.md index 1cabbb91..eab53ed1 100644 --- a/packages/cli/docs/entity.md +++ b/packages/cli/docs/entity.md @@ -106,6 +106,7 @@ epilot entity listSchemas **Import-Export** - [`exportEntities`](#exportentities) — Export entity data in a CSV-format. The export will export data as close as possible to what is visible on Entity UI tab - [`importEntities`](#importentities) — This endpoint enables the import of entities into the platform. +- [`abortEntityImport`](#abortentityimport) — Asks a running import to stop. Rows already imported are **kept** - this is a stop, not a **Saved Views** - [`listSavedViews`](#listsavedviews) — Get the Saved Views based on the schema @@ -201,7 +202,8 @@ epilot entity listSchemas --jsonata 'results[0]' "_purpose": ["string"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "explicit_search_mappings": {}, - "group_headlines": [] + "group_headlines": [], + "conditions": [] } ] } @@ -277,7 +279,8 @@ epilot entity listSchemasV2 --jsonata 'results[0]' "_purpose": ["string"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "explicit_search_mappings": {}, - "group_headlines": [] + "group_headlines": [], + "conditions": [] } ] } @@ -379,7 +382,13 @@ epilot entity getSchema -p slug=contact --jsonata '$' }, "sharing": { "show_sharing_button": true - } + }, + "grid_layout": { + "id": "string", + "columns": 0, + "cells": [0] + }, + "widget_order": ["string"] }, "capabilities": [ { @@ -452,6 +461,14 @@ epilot entity getSchema -p slug=contact --jsonata '$' "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"] } + ], + "conditions": [ + { + "id": "d5839b94-ba20-4225-a78e-76951d352bd6", + "name": "delivery_area", + "label": "Delivery Area", + "type": "string" + } ] } ``` @@ -531,7 +548,13 @@ epilot entity putSchema \ }, "sharing": { "show_sharing_button": true - } + }, + "grid_layout": { + "id": "string", + "columns": 0, + "cells": [0] + }, + "widget_order": ["string"] }, "capabilities": [ { @@ -604,6 +627,14 @@ epilot entity putSchema \ "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"] } + ], + "conditions": [ + { + "id": "d5839b94-ba20-4225-a78e-76951d352bd6", + "name": "delivery_area", + "label": "Delivery Area", + "type": "string" + } ] }' ``` @@ -685,7 +716,13 @@ epilot entity putSchema -p slug=contact --jsonata '$' }, "sharing": { "show_sharing_button": true - } + }, + "grid_layout": { + "id": "string", + "columns": 0, + "cells": [0] + }, + "widget_order": ["string"] }, "capabilities": [ { @@ -758,6 +795,14 @@ epilot entity putSchema -p slug=contact --jsonata '$' "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"] } + ], + "conditions": [ + { + "id": "d5839b94-ba20-4225-a78e-76951d352bd6", + "name": "delivery_area", + "label": "Delivery Area", + "type": "string" + } ] } ``` @@ -1062,7 +1107,8 @@ epilot entity getSchemaVersions -p slug=contact --jsonata 'versions' "_purpose": ["string"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "explicit_search_mappings": {}, - "group_headlines": [] + "group_headlines": [], + "conditions": [] } ], "drafts": [ @@ -1098,7 +1144,8 @@ epilot entity getSchemaVersions -p slug=contact --jsonata 'versions' "_purpose": ["string"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "explicit_search_mappings": {}, - "group_headlines": [] + "group_headlines": [], + "conditions": [] } ], "versions_more": true, @@ -1210,7 +1257,13 @@ epilot entity freezeSchema -p slug=contact --jsonata '$' }, "sharing": { "show_sharing_button": true - } + }, + "grid_layout": { + "id": "string", + "columns": 0, + "cells": [0] + }, + "widget_order": ["string"] }, "capabilities": [ { @@ -1283,6 +1336,14 @@ epilot entity freezeSchema -p slug=contact --jsonata '$' "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"] } + ], + "conditions": [ + { + "id": "d5839b94-ba20-4225-a78e-76951d352bd6", + "name": "delivery_area", + "label": "Delivery Area", + "type": "string" + } ] } ``` @@ -1381,7 +1442,13 @@ epilot entity unfreezeSchema -p slug=contact --jsonata '$' }, "sharing": { "show_sharing_button": true - } + }, + "grid_layout": { + "id": "string", + "columns": 0, + "cells": [0] + }, + "widget_order": ["string"] }, "capabilities": [ { @@ -1454,6 +1521,14 @@ epilot entity unfreezeSchema -p slug=contact --jsonata '$' "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"] } + ], + "conditions": [ + { + "id": "d5839b94-ba20-4225-a78e-76951d352bd6", + "name": "delivery_area", + "label": "Delivery Area", + "type": "string" + } ] } ``` @@ -1577,7 +1652,8 @@ epilot entity listSchemaBlueprints --jsonata 'results[0]' "_purpose": ["string"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "explicit_search_mappings": {}, - "group_headlines": [] + "group_headlines": [], + "conditions": [] } ] } @@ -1612,6 +1688,7 @@ epilot entity searchEntities \ "from": 0, "size": 10, "hydrate": false, + "anonymize": false, "fields": ["_id", "_title", "first_name", "account", "!account.*._files", "**._product"], "aggs": { "contact-count-per-tag": { @@ -1737,6 +1814,7 @@ epilot entity listEntities \ "from": 0, "size": 10, "hydrate": false, + "anonymize": false, "fields": ["_id", "_title", "first_name", "account", "!account.*._files", "**._product"], "aggs": { "contact-count-per-tag": { @@ -2333,6 +2411,8 @@ Gets Entity by id. | `id` | path | string (uuid) | Yes | Entity id | | `slug` | path | string | Yes | Entity Type | | `hydrate` | query | boolean | No | When true, enables entity hydration to resolve nested $relation & $relation_ref references in-place. | +| `anonymize` | query | boolean | No | When true, anonymizes PII in the response: identifiers (names, emails, phone numbers, IBANs) are replaced +with deterministic pseudonyms (stable within an org), addresses are generalized to postal code | | `fields` | query | string[] | No | List of entity fields to include in results | | `apply_changesets` | query | boolean | No | When true, applies pending changeset proposed values in-place on the response entity. The response includes both the hydrated values and the raw _changesets field. @@ -2546,6 +2626,8 @@ Gets Entity and relations by id. | `id` | path | string (uuid) | Yes | Entity id | | `slug` | path | string | Yes | Entity Type | | `hydrate` | query | boolean | No | When true, enables entity hydration to resolve nested $relation & $relation_ref references in-place. | +| `anonymize` | query | boolean | No | When true, anonymizes PII in the response: identifiers (names, emails, phone numbers, IBANs) are replaced +with deterministic pseudonyms (stable within an org), addresses are generalized to postal code | **Sample Call** @@ -2885,6 +2967,8 @@ Autocomplete entity attributes | Name | In | Type | Required | Description | | ---- | -- | ---- | -------- | ----------- | +| `anonymize` | query | boolean | No | When true, anonymizes PII in the response: identifiers (names, emails, phone numbers, IBANs) are replaced +with deterministic pseudonyms (stable within an org), addresses are generalized to postal code | | `input` | query | string | No | Input to autocomplete | | `attribute` | query | string | Yes | Autocomplete attribute | | `slug` | query | string | No | Limit results to entity schema | @@ -3051,6 +3135,8 @@ Get activity by id | Name | In | Type | Required | Description | | ---- | -- | ---- | -------- | ----------- | +| `anonymize` | query | boolean | No | When true, anonymizes PII in the response: identifiers (names, emails, phone numbers, IBANs) are replaced +with deterministic pseudonyms (stable within an org), addresses are generalized to postal code | | `id` | path | string (ulid) | Yes | Activity Id | | `operations_size` | query | number | No | Maximum number of operations to include in response (default: 10) | @@ -3109,7 +3195,9 @@ epilot entity getActivity -p id=01F130Q52Q6MWSNS8N2AVXV4JN --jsonata '$' "params": {}, "payload": {}, "diff": {}, - "_workflow_origin": {} + "source_context": {}, + "_workflow_origin": {}, + "_automation_chain": ["string"] } ] } @@ -3345,6 +3433,8 @@ Returns all pending changesets for an entity. | Name | In | Type | Required | Description | | ---- | -- | ---- | -------- | ----------- | +| `anonymize` | query | boolean | No | When true, anonymizes PII in the response: identifiers (names, emails, phone numbers, IBANs) are replaced +with deterministic pseudonyms (stable within an org), addresses are generalized to postal code | | `slug` | path | string | Yes | Entity Type | | `id` | path | string (uuid) | Yes | Entity id | @@ -3389,6 +3479,8 @@ Get activity feed for an entity | Name | In | Type | Required | Description | | ---- | -- | ---- | -------- | ----------- | +| `anonymize` | query | boolean | No | When true, anonymizes PII in the response: identifiers (names, emails, phone numbers, IBANs) are replaced +with deterministic pseudonyms (stable within an org), addresses are generalized to postal code | | `slug` | path | string | Yes | Entity Type | | `id` | path | string (uuid) | Yes | Entity id | | `after` | query | string (date-time) | No | Get activities strictly after this timestamp. Cannot be used with 'before', 'start_date', 'end_date', or 'preset_range'. | @@ -3462,6 +3554,8 @@ Returns 1st level direct relations for an entity. | `slug` | path | string | Yes | Entity Type | | `id` | path | string (uuid) | Yes | Entity id | | `hydrate` | query | boolean | No | When true, enables entity hydration to resolve nested $relation & $relation_ref references in-place. | +| `anonymize` | query | boolean | No | When true, anonymizes PII in the response: identifiers (names, emails, phone numbers, IBANs) are replaced +with deterministic pseudonyms (stable within an org), addresses are generalized to postal code | | `include_reverse` | query | boolean | No | When true, includes reverse relations in response (other entities pointing to this entity) | | `from` | query | number | No | Starting page number | | `size` | query | number | No | Number of results to return per page | @@ -3683,6 +3777,8 @@ Returns 1st level direct relations for an entity with pagination. | `slug` | path | string | Yes | Entity Type | | `id` | path | string (uuid) | Yes | Entity id | | `hydrate` | query | boolean | No | When true, enables entity hydration to resolve nested $relation & $relation_ref references in-place. | +| `anonymize` | query | boolean | No | When true, anonymizes PII in the response: identifiers (names, emails, phone numbers, IBANs) are replaced +with deterministic pseudonyms (stable within an org), addresses are generalized to postal code | | `query` | query | string | No | Input to filter search results | | `include_reverse` | query | boolean | No | When true, includes reverse relations in response (other entities pointing to this entity) | | `from` | query | number | No | Starting page number | @@ -3765,6 +3861,8 @@ Returns 1st level direct relations for an entity with pagination. | `slug` | path | string | Yes | Entity Type | | `id` | path | string (uuid) | Yes | Entity id | | `hydrate` | query | boolean | No | When true, enables entity hydration to resolve nested $relation & $relation_ref references in-place. | +| `anonymize` | query | boolean | No | When true, anonymizes PII in the response: identifiers (names, emails, phone numbers, IBANs) are replaced +with deterministic pseudonyms (stable within an org), addresses are generalized to postal code | | `include_reverse` | query | boolean | No | When true, includes reverse relations in response (other entities pointing to this entity) *It gets overriden by mode query parameter.* | @@ -4032,6 +4130,7 @@ epilot entity exportEntities \ "from": 0, "size": 10, "hydrate": false, + "anonymize": false, "fields": ["_id", "_title", "first_name", "account", "!account.*._files", "**._product"], "aggs": { "contact-count-per-tag": { @@ -4097,6 +4196,35 @@ epilot entity importEntities --jsonata '$' --- +### `abortEntityImport` + +Asks a running import to stop. Rows already imported are **kept** - this is a stop, not a + +`POST /v1/entity:abortImport` + +**Parameters** + +| Name | In | Type | Required | Description | +| ---- | -- | ---- | -------- | ----------- | +| `job_id` | query | string | Yes | The ID of the import job to stop. | +| `schema` | query | string | Yes | Slug of the schema being imported, used to authorize the caller. | + +**Sample Call** + +```bash +epilot entity abortEntityImport \ + -p job_id=abc123 \ + -p schema=example +``` + +With JSONata filter: + +```bash +epilot entity abortEntityImport -p job_id=abc123 -p schema=example --jsonata '$' +``` + +--- + ### `listSavedViews` Get the Saved Views based on the schema @@ -4111,6 +4239,7 @@ Get the Saved Views based on the schema | `sort` | query | string | No | The sort key to use if present | | `from` | query | number | No | | | `size` | query | number | No | Number of saved views to return | +| `q` | query | string | No | Free-text search on the saved view name (case-insensitive) | | `fields` | query | string[] | No | | **Sample Call** @@ -4142,7 +4271,8 @@ epilot entity listSavedViews --jsonata 'results[0]' "shared": true, "isFavoritedBy": ["11701"], "created_by": { - "user_id": "10598" + "user_id": "10598", + "org_id": "739224" }, "ui_config": { "filters": { @@ -4193,7 +4323,8 @@ epilot entity createSavedView \ "shared": true, "isFavoritedBy": ["11701"], "created_by": { - "user_id": "10598" + "user_id": "10598", + "org_id": "739224" }, "ui_config": { "filters": { @@ -4239,7 +4370,8 @@ epilot entity createSavedView --jsonata '$' "shared": true, "isFavoritedBy": ["11701"], "created_by": { - "user_id": "10598" + "user_id": "10598", + "org_id": "739224" }, "ui_config": { "filters": { @@ -4308,7 +4440,8 @@ epilot entity getSavedView -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata "shared": true, "isFavoritedBy": ["11701"], "created_by": { - "user_id": "10598" + "user_id": "10598", + "org_id": "739224" }, "ui_config": { "filters": { @@ -4368,7 +4501,8 @@ epilot entity updateSavedView \ "shared": true, "isFavoritedBy": ["11701"], "created_by": { - "user_id": "10598" + "user_id": "10598", + "org_id": "739224" }, "ui_config": { "filters": { @@ -4420,7 +4554,8 @@ epilot entity updateSavedView -p id=123e4567-e89b-12d3-a456-426614174000 --jsona "shared": true, "isFavoritedBy": ["11701"], "created_by": { - "user_id": "10598" + "user_id": "10598", + "org_id": "739224" }, "ui_config": { "filters": { @@ -4477,7 +4612,8 @@ epilot entity patchSavedView \ "shared": true, "isFavoritedBy": ["11701"], "created_by": { - "user_id": "10598" + "user_id": "10598", + "org_id": "739224" }, "ui_config": { "filters": { @@ -4529,7 +4665,8 @@ epilot entity patchSavedView -p id=123e4567-e89b-12d3-a456-426614174000 --jsonat "shared": true, "isFavoritedBy": ["11701"], "created_by": { - "user_id": "10598" + "user_id": "10598", + "org_id": "739224" }, "ui_config": { "filters": { @@ -4620,7 +4757,8 @@ epilot entity listFavoriteViewsForUser --jsonata 'results[0]' "shared": true, "isFavoritedBy": ["11701"], "created_by": { - "user_id": "10598" + "user_id": "10598", + "org_id": "739224" }, "ui_config": { "filters": { @@ -5837,6 +5975,7 @@ epilot entity createSchemaAttribute \ "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -5844,6 +5983,7 @@ epilot entity createSchemaAttribute \ "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": { @@ -5921,6 +6061,7 @@ epilot entity createSchemaAttribute --jsonata '$' "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -5928,6 +6069,7 @@ epilot entity createSchemaAttribute --jsonata '$' "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": { @@ -6028,6 +6170,7 @@ epilot entity getSchemaAttribute -p composite_id=contact:97644baa-083f-4e49-9188 "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -6035,6 +6178,7 @@ epilot entity getSchemaAttribute -p composite_id=contact:97644baa-083f-4e49-9188 "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": { @@ -6126,6 +6270,7 @@ epilot entity putSchemaAttribute \ "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -6133,6 +6278,7 @@ epilot entity putSchemaAttribute \ "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": { @@ -6216,6 +6362,7 @@ epilot entity putSchemaAttribute -p composite_id=contact:97644baa-083f-4e49-9188 "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -6223,6 +6370,7 @@ epilot entity putSchemaAttribute -p composite_id=contact:97644baa-083f-4e49-9188 "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": { @@ -6323,6 +6471,7 @@ epilot entity deleteSchemaAttribute -p composite_id=contact:97644baa-083f-4e49-9 "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -6330,6 +6479,7 @@ epilot entity deleteSchemaAttribute -p composite_id=contact:97644baa-083f-4e49-9 "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": { @@ -6418,6 +6568,7 @@ epilot entity createSchemaCapability \ "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -6425,6 +6576,7 @@ epilot entity createSchemaCapability \ "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": {}, @@ -6457,6 +6609,7 @@ epilot entity createSchemaCapability \ "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -6464,6 +6617,7 @@ epilot entity createSchemaCapability \ "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": {}, @@ -6554,6 +6708,7 @@ epilot entity createSchemaCapability --jsonata '$' "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -6561,6 +6716,7 @@ epilot entity createSchemaCapability --jsonata '$' "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": {}, @@ -6593,6 +6749,7 @@ epilot entity createSchemaCapability --jsonata '$' "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -6600,6 +6757,7 @@ epilot entity createSchemaCapability --jsonata '$' "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": {}, @@ -6713,6 +6871,7 @@ epilot entity getSchemaCapability -p composite_id=contact:97644baa-083f-4e49-918 "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -6720,6 +6879,7 @@ epilot entity getSchemaCapability -p composite_id=contact:97644baa-083f-4e49-918 "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": {}, @@ -6752,6 +6912,7 @@ epilot entity getSchemaCapability -p composite_id=contact:97644baa-083f-4e49-918 "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -6759,6 +6920,7 @@ epilot entity getSchemaCapability -p composite_id=contact:97644baa-083f-4e49-918 "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": {}, @@ -6863,6 +7025,7 @@ epilot entity putSchemaCapability \ "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -6870,6 +7033,7 @@ epilot entity putSchemaCapability \ "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": {}, @@ -6902,6 +7066,7 @@ epilot entity putSchemaCapability \ "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -6909,6 +7074,7 @@ epilot entity putSchemaCapability \ "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": {}, @@ -7005,6 +7171,7 @@ epilot entity putSchemaCapability -p composite_id=contact:97644baa-083f-4e49-918 "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -7012,6 +7179,7 @@ epilot entity putSchemaCapability -p composite_id=contact:97644baa-083f-4e49-918 "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": {}, @@ -7044,6 +7212,7 @@ epilot entity putSchemaCapability -p composite_id=contact:97644baa-083f-4e49-918 "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -7051,6 +7220,7 @@ epilot entity putSchemaCapability -p composite_id=contact:97644baa-083f-4e49-918 "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": {}, @@ -7164,6 +7334,7 @@ epilot entity deleteSchemaCapability -p composite_id=contact:97644baa-083f-4e49- "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -7171,6 +7342,7 @@ epilot entity deleteSchemaCapability -p composite_id=contact:97644baa-083f-4e49- "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": {}, @@ -7203,6 +7375,7 @@ epilot entity deleteSchemaCapability -p composite_id=contact:97644baa-083f-4e49- "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -7210,6 +7383,7 @@ epilot entity deleteSchemaCapability -p composite_id=contact:97644baa-083f-4e49- "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": {}, diff --git a/packages/cli/src/generated/api-list.ts b/packages/cli/src/generated/api-list.ts index a181bc5d..8605b4b5 100644 --- a/packages/cli/src/generated/api-list.ts +++ b/packages/cli/src/generated/api-list.ts @@ -560,7 +560,7 @@ export const API_LIST: ApiInfo[] = [ kebabName: 'entity', title: 'Entity API', serverUrl: 'https://entity.sls.epilot.io', - operationCount: 87, + operationCount: 88, operationIds: [ 'listSchemas', 'listSchemasV2', @@ -607,6 +607,7 @@ export const API_LIST: ApiInfo[] = [ 'deleteRelation', 'exportEntities', 'importEntities', + 'abortEntityImport', 'listSavedViews', 'createSavedView', 'getSavedView', diff --git a/packages/epilot-sdk-v2/docs/entity.md b/packages/epilot-sdk-v2/docs/entity.md index 2b27e17b..dc32e817 100644 --- a/packages/epilot-sdk-v2/docs/entity.md +++ b/packages/epilot-sdk-v2/docs/entity.md @@ -95,6 +95,7 @@ const { data } = await entityClient.listSchemas(...) **Import-Export** - [`exportEntities`](#exportentities) - [`importEntities`](#importentities) +- [`abortEntityImport`](#abortentityimport) **Saved Views** - [`listSavedViews`](#listsavedviews) @@ -183,6 +184,11 @@ const { data } = await entityClient.listSchemas(...) - [`SummaryAttribute`](#summaryattribute) - [`GroupHeadline`](#groupheadline) - [`GroupHeadlineWithCompositeID`](#groupheadlinewithcompositeid) +- [`BaseConditionDefinition`](#baseconditiondefinition) +- [`ScalarConditionDefinition`](#scalarconditiondefinition) +- [`SelectConditionDefinition`](#selectconditiondefinition) +- [`LocationConditionDefinition`](#locationconditiondefinition) +- [`ConditionDefinition`](#conditiondefinition) - [`EntitySlug`](#entityslug) - [`EntityCapability`](#entitycapability) - [`EntityCapabilityWithCompositeID`](#entitycapabilitywithcompositeid) @@ -234,6 +240,7 @@ const { data } = await entityClient.listSchemas(...) - [`ActivityType`](#activitytype) - [`Activity`](#activity) - [`EntityOperation`](#entityoperation) +- [`EntityOperationSourceContext`](#entityoperationsourcecontext) - [`BaseActivityItem`](#baseactivityitem) - [`ActivityItem`](#activityitem) - [`BlueprintEntityId`](#blueprintentityid) @@ -320,7 +327,8 @@ const { data } = await client.listSchemas({ "_purpose": ["string"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "explicit_search_mappings": {}, - "group_headlines": [] + "group_headlines": [], + "conditions": [] } ] } @@ -386,7 +394,8 @@ const { data } = await client.listSchemasV2({ "_purpose": ["string"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "explicit_search_mappings": {}, - "group_headlines": [] + "group_headlines": [], + "conditions": [] } ] } @@ -471,7 +480,13 @@ const { data } = await client.getSchema({ }, "sharing": { "show_sharing_button": true - } + }, + "grid_layout": { + "id": "string", + "columns": 0, + "cells": [0] + }, + "widget_order": ["string"] }, "capabilities": [ { @@ -544,6 +559,14 @@ const { data } = await client.getSchema({ "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"] } + ], + "conditions": [ + { + "id": "d5839b94-ba20-4225-a78e-76951d352bd6", + "name": "delivery_area", + "label": "Delivery Area", + "type": "string" + } ] } ``` @@ -609,7 +632,13 @@ const { data } = await client.putSchema( }, sharing: { show_sharing_button: true - } + }, + grid_layout: { + id: 'string', + columns: 0, + cells: [0] + }, + widget_order: ['string'] }, capabilities: [ { @@ -683,6 +712,14 @@ const { data } = await client.putSchema( _purpose: ['taxonomy-slug:classification-slug'], _manifest: ['123e4567-e89b-12d3-a456-426614174000'] } + ], + conditions: [ + { + id: 'd5839b94-ba20-4225-a78e-76951d352bd6', + name: 'delivery_area', + label: 'Delivery Area', + type: 'string' + } ] }, ) @@ -747,7 +784,13 @@ const { data } = await client.putSchema( }, "sharing": { "show_sharing_button": true - } + }, + "grid_layout": { + "id": "string", + "columns": 0, + "cells": [0] + }, + "widget_order": ["string"] }, "capabilities": [ { @@ -820,6 +863,14 @@ const { data } = await client.putSchema( "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"] } + ], + "conditions": [ + { + "id": "d5839b94-ba20-4225-a78e-76951d352bd6", + "name": "delivery_area", + "label": "Delivery Area", + "type": "string" + } ] } ``` @@ -1048,7 +1099,8 @@ const { data } = await client.getSchemaVersions({ "_purpose": ["string"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "explicit_search_mappings": {}, - "group_headlines": [] + "group_headlines": [], + "conditions": [] } ], "drafts": [ @@ -1084,7 +1136,8 @@ const { data } = await client.getSchemaVersions({ "_purpose": ["string"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "explicit_search_mappings": {}, - "group_headlines": [] + "group_headlines": [], + "conditions": [] } ], "versions_more": true, @@ -1175,7 +1228,13 @@ const { data } = await client.freezeSchema( }, "sharing": { "show_sharing_button": true - } + }, + "grid_layout": { + "id": "string", + "columns": 0, + "cells": [0] + }, + "widget_order": ["string"] }, "capabilities": [ { @@ -1248,6 +1307,14 @@ const { data } = await client.freezeSchema( "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"] } + ], + "conditions": [ + { + "id": "d5839b94-ba20-4225-a78e-76951d352bd6", + "name": "delivery_area", + "label": "Delivery Area", + "type": "string" + } ] } ``` @@ -1327,7 +1394,13 @@ const { data } = await client.unfreezeSchema({ }, "sharing": { "show_sharing_button": true - } + }, + "grid_layout": { + "id": "string", + "columns": 0, + "cells": [0] + }, + "widget_order": ["string"] }, "capabilities": [ { @@ -1400,6 +1473,14 @@ const { data } = await client.unfreezeSchema({ "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"] } + ], + "conditions": [ + { + "id": "d5839b94-ba20-4225-a78e-76951d352bd6", + "name": "delivery_area", + "label": "Delivery Area", + "type": "string" + } ] } ``` @@ -1496,7 +1577,8 @@ const { data } = await client.listSchemaBlueprints() "_purpose": ["string"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "explicit_search_mappings": {}, - "group_headlines": [] + "group_headlines": [], + "conditions": [] } ] } @@ -1522,6 +1604,7 @@ const { data } = await client.searchEntities( from: 0, size: 10, hydrate: false, + anonymize: false, fields: ['_id', '_title', 'first_name', 'account', '!account.*._files', '**._product'], aggs: { 'contact-count-per-tag': { @@ -1627,6 +1710,7 @@ const { data } = await client.listEntities( from: 0, size: 10, hydrate: false, + anonymize: false, fields: ['_id', '_title', 'first_name', 'account', '!account.*._files', '**._product'], aggs: { 'contact-count-per-tag': { @@ -2059,6 +2143,7 @@ const { data } = await client.getEntityV2({ id: '123e4567-e89b-12d3-a456-426614174000', slug: 'example', hydrate: true, + anonymize: true, fields: ['...'], apply_changesets: true, }) @@ -2198,6 +2283,7 @@ const { data } = await client.getEntity({ id: '123e4567-e89b-12d3-a456-426614174000', slug: 'example', hydrate: true, + anonymize: true, }) ``` @@ -2421,6 +2507,7 @@ Autocomplete entity attributes ```ts const { data } = await client.autocomplete({ + anonymize: true, input: 'example', attribute: 'example', slug: 'example', @@ -2538,6 +2625,7 @@ Get activity by id ```ts const { data } = await client.getActivity({ + anonymize: true, id: '123e4567-e89b-12d3-a456-426614174000', operations_size: 1, operations_from: 1, @@ -2577,7 +2665,9 @@ const { data } = await client.getActivity({ "params": {}, "payload": {}, "diff": {}, - "_workflow_origin": {} + "source_context": {}, + "_workflow_origin": {}, + "_automation_chain": ["string"] } ] } @@ -2747,6 +2837,7 @@ Returns all pending changesets for an entity. ```ts const { data } = await client.listChangesets({ + anonymize: true, slug: 'example', id: '123e4567-e89b-12d3-a456-426614174000', }) @@ -2771,6 +2862,7 @@ Get activity feed for an entity ```ts const { data } = await client.getEntityActivityFeed({ + anonymize: true, slug: 'example', id: '123e4567-e89b-12d3-a456-426614174000', after: 'example', @@ -2824,6 +2916,7 @@ const { data } = await client.getRelations({ slug: 'example', id: '123e4567-e89b-12d3-a456-426614174000', hydrate: true, + anonymize: true, include_reverse: true, from: 1, size: 1, @@ -2957,6 +3050,7 @@ const { data } = await client.getRelationsV2({ slug: 'example', id: '123e4567-e89b-12d3-a456-426614174000', hydrate: true, + anonymize: true, query: 'example', include_reverse: true, from: 1, @@ -3019,6 +3113,7 @@ const { data } = await client.getRelationsV3({ slug: 'example', id: '123e4567-e89b-12d3-a456-426614174000', hydrate: true, + anonymize: true, include_reverse: true, from: 1, size: 1, @@ -3180,6 +3275,7 @@ const { data } = await client.exportEntities( from: 0, size: 10, hydrate: false, + anonymize: false, fields: ['_id', '_title', 'first_name', 'account', '!account.*._files', '**._product'], aggs: { 'contact-count-per-tag': { @@ -3222,6 +3318,21 @@ const { data } = await client.importEntities( --- +### `abortEntityImport` + +Abort a running entity import + +`POST /v1/entity:abortImport` + +```ts +const { data } = await client.abortEntityImport({ + job_id: 'example', + schema: 'example', +}) +``` + +--- + ### `listSavedViews` Get the Saved Views based on the schema @@ -3234,6 +3345,7 @@ const { data } = await client.listSavedViews({ sort: 'example', from: 1, size: 1, + q: 'example', fields: ['...'], }) ``` @@ -3255,7 +3367,8 @@ const { data } = await client.listSavedViews({ "shared": true, "isFavoritedBy": ["11701"], "created_by": { - "user_id": "10598" + "user_id": "10598", + "org_id": "739224" }, "ui_config": { "filters": { @@ -3297,7 +3410,8 @@ const { data } = await client.createSavedView( shared: true, isFavoritedBy: ['11701'], created_by: { - user_id: '10598' + user_id: '10598', + org_id: '739224' }, ui_config: { filters: { @@ -3332,7 +3446,8 @@ const { data } = await client.createSavedView( "shared": true, "isFavoritedBy": ["11701"], "created_by": { - "user_id": "10598" + "user_id": "10598", + "org_id": "739224" }, "ui_config": { "filters": { @@ -3382,7 +3497,8 @@ const { data } = await client.getSavedView({ "shared": true, "isFavoritedBy": ["11701"], "created_by": { - "user_id": "10598" + "user_id": "10598", + "org_id": "739224" }, "ui_config": { "filters": { @@ -3427,7 +3543,8 @@ const { data } = await client.updateSavedView( shared: true, isFavoritedBy: ['11701'], created_by: { - user_id: '10598' + user_id: '10598', + org_id: '739224' }, ui_config: { filters: { @@ -3462,7 +3579,8 @@ const { data } = await client.updateSavedView( "shared": true, "isFavoritedBy": ["11701"], "created_by": { - "user_id": "10598" + "user_id": "10598", + "org_id": "739224" }, "ui_config": { "filters": { @@ -3504,7 +3622,8 @@ const { data } = await client.patchSavedView( shared: true, isFavoritedBy: ['11701'], created_by: { - user_id: '10598' + user_id: '10598', + org_id: '739224' }, ui_config: { filters: { @@ -3539,7 +3658,8 @@ const { data } = await client.patchSavedView( "shared": true, "isFavoritedBy": ["11701"], "created_by": { - "user_id": "10598" + "user_id": "10598", + "org_id": "739224" }, "ui_config": { "filters": { @@ -3603,7 +3723,8 @@ const { data } = await client.listFavoriteViewsForUser() "shared": true, "isFavoritedBy": ["11701"], "created_by": { - "user_id": "10598" + "user_id": "10598", + "org_id": "739224" }, "ui_config": { "filters": { @@ -4463,6 +4584,7 @@ const { data } = await client.createSchemaAttribute( required: false, readonly: false, deprecated: false, + variant_overridable: false, default_value: {}, group: 'string', order: 0, @@ -4470,6 +4592,7 @@ const { data } = await client.createSchemaAttribute( hide_label: true, icon: 'string', render_condition: 'string', + data_classification: 'public', _purpose: ['taxonomy-slug:classification-slug'], _manifest: ['123e4567-e89b-12d3-a456-426614174000'], constraints: { @@ -4536,6 +4659,7 @@ const { data } = await client.createSchemaAttribute( "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -4543,6 +4667,7 @@ const { data } = await client.createSchemaAttribute( "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": { @@ -4624,6 +4749,7 @@ const { data } = await client.getSchemaAttribute({ "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -4631,6 +4757,7 @@ const { data } = await client.getSchemaAttribute({ "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": { @@ -4707,6 +4834,7 @@ const { data } = await client.putSchemaAttribute( required: false, readonly: false, deprecated: false, + variant_overridable: false, default_value: {}, group: 'string', order: 0, @@ -4714,6 +4842,7 @@ const { data } = await client.putSchemaAttribute( hide_label: true, icon: 'string', render_condition: 'string', + data_classification: 'public', _purpose: ['taxonomy-slug:classification-slug'], _manifest: ['123e4567-e89b-12d3-a456-426614174000'], constraints: { @@ -4780,6 +4909,7 @@ const { data } = await client.putSchemaAttribute( "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -4787,6 +4917,7 @@ const { data } = await client.putSchemaAttribute( "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": { @@ -4868,6 +4999,7 @@ const { data } = await client.deleteSchemaAttribute({ "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -4875,6 +5007,7 @@ const { data } = await client.deleteSchemaAttribute({ "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": { @@ -4954,6 +5087,7 @@ const { data } = await client.createSchemaCapability( required: false, readonly: false, deprecated: false, + variant_overridable: false, default_value: {}, group: 'string', order: 0, @@ -4961,6 +5095,7 @@ const { data } = await client.createSchemaCapability( hide_label: true, icon: 'string', render_condition: 'string', + data_classification: 'public', _purpose: ['taxonomy-slug:classification-slug'], _manifest: ['123e4567-e89b-12d3-a456-426614174000'], constraints: { /* ... */ }, @@ -4993,6 +5128,7 @@ const { data } = await client.createSchemaCapability( required: false, readonly: false, deprecated: false, + variant_overridable: false, default_value: {}, group: 'string', order: 0, @@ -5000,6 +5136,7 @@ const { data } = await client.createSchemaCapability( hide_label: true, icon: 'string', render_condition: 'string', + data_classification: 'public', _purpose: ['taxonomy-slug:classification-slug'], _manifest: ['123e4567-e89b-12d3-a456-426614174000'], constraints: { /* ... */ }, @@ -5080,6 +5217,7 @@ const { data } = await client.createSchemaCapability( "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -5087,6 +5225,7 @@ const { data } = await client.createSchemaCapability( "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": {}, @@ -5119,6 +5258,7 @@ const { data } = await client.createSchemaCapability( "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -5126,6 +5266,7 @@ const { data } = await client.createSchemaCapability( "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": {}, @@ -5220,6 +5361,7 @@ const { data } = await client.getSchemaCapability({ "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -5227,6 +5369,7 @@ const { data } = await client.getSchemaCapability({ "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": {}, @@ -5259,6 +5402,7 @@ const { data } = await client.getSchemaCapability({ "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -5266,6 +5410,7 @@ const { data } = await client.getSchemaCapability({ "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": {}, @@ -5355,6 +5500,7 @@ const { data } = await client.putSchemaCapability( required: false, readonly: false, deprecated: false, + variant_overridable: false, default_value: {}, group: 'string', order: 0, @@ -5362,6 +5508,7 @@ const { data } = await client.putSchemaCapability( hide_label: true, icon: 'string', render_condition: 'string', + data_classification: 'public', _purpose: ['taxonomy-slug:classification-slug'], _manifest: ['123e4567-e89b-12d3-a456-426614174000'], constraints: { /* ... */ }, @@ -5394,6 +5541,7 @@ const { data } = await client.putSchemaCapability( required: false, readonly: false, deprecated: false, + variant_overridable: false, default_value: {}, group: 'string', order: 0, @@ -5401,6 +5549,7 @@ const { data } = await client.putSchemaCapability( hide_label: true, icon: 'string', render_condition: 'string', + data_classification: 'public', _purpose: ['taxonomy-slug:classification-slug'], _manifest: ['123e4567-e89b-12d3-a456-426614174000'], constraints: { /* ... */ }, @@ -5481,6 +5630,7 @@ const { data } = await client.putSchemaCapability( "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -5488,6 +5638,7 @@ const { data } = await client.putSchemaCapability( "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": {}, @@ -5520,6 +5671,7 @@ const { data } = await client.putSchemaCapability( "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -5527,6 +5679,7 @@ const { data } = await client.putSchemaCapability( "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": {}, @@ -5621,6 +5774,7 @@ const { data } = await client.deleteSchemaCapability({ "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -5628,6 +5782,7 @@ const { data } = await client.deleteSchemaCapability({ "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": {}, @@ -5660,6 +5815,7 @@ const { data } = await client.deleteSchemaCapability({ "required": false, "readonly": false, "deprecated": false, + "variant_overridable": false, "default_value": {}, "group": "string", "order": 0, @@ -5667,6 +5823,7 @@ const { data } = await client.deleteSchemaCapability({ "hide_label": true, "icon": "string", "render_condition": "string", + "data_classification": "public", "_purpose": ["taxonomy-slug:classification-slug"], "_manifest": ["123e4567-e89b-12d3-a456-426614174000"], "constraints": {}, @@ -6235,6 +6392,12 @@ type EntitySchema = { sharing?: { show_sharing_button?: { ... } } + grid_layout?: { + id?: { ... } + columns?: { ... } + cells?: { ... } + } + widget_order?: string[] } capabilities: Array<{ id?: string @@ -6251,6 +6414,7 @@ type EntitySchema = { required?: { ... } readonly?: { ... } deprecated?: { ... } + variant_overridable?: { ... } default_value?: { ... } group?: { ... } order?: { ... } @@ -6258,18 +6422,11 @@ type EntitySchema = { hide_label?: { ... } icon?: { ... } render_condition?: { ... } + data_classification?: { ... } _purpose?: { ... } _manifest?: { ... } constraints?: { ... } feature_flag?: { ... } - settings_flag?: { ... } - value_formatter?: { ... } - preview_value_formatter?: { ... } - entity_builder_disable_edit?: { ... } - protected?: { ... } - info_helpers?: { ... } - explicit_searchable?: { ... } - exclude_from_search?: { ... } // ... } ``` @@ -6353,6 +6510,12 @@ type EntitySchemaItem = { sharing?: { show_sharing_button?: { ... } } + grid_layout?: { + id?: { ... } + columns?: { ... } + cells?: { ... } + } + widget_order?: string[] } capabilities: Array<{ id?: string @@ -6369,14 +6532,8 @@ type EntitySchemaItem = { required?: { ... } readonly?: { ... } deprecated?: { ... } + variant_overridable?: { ... } default_value?: { ... } - group?: { ... } - order?: { ... } - layout?: { ... } - hide_label?: { ... } - icon?: { ... } - render_condition?: { ... } - _purpose?: { ... } // ... } ``` @@ -6519,6 +6676,7 @@ type Attribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -6526,6 +6684,7 @@ type Attribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -6580,6 +6739,7 @@ type Attribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -6587,6 +6747,7 @@ type Attribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -6604,10 +6765,6 @@ type Attribute = { hint_text_key?: string hint_custom_component?: string hint_tooltip_placement?: string - } - explicit_searchable?: boolean - exclude_from_search?: boolean - repeatable?: boolean // ... } ``` @@ -6635,6 +6792,7 @@ type BaseAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -6642,6 +6800,7 @@ type BaseAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -6698,6 +6857,7 @@ type TextAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -6705,6 +6865,7 @@ type TextAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -6765,6 +6926,7 @@ type LinkAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -6772,6 +6934,7 @@ type LinkAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -6829,6 +6992,7 @@ type InternalAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -6836,6 +7000,7 @@ type InternalAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -6893,6 +7058,7 @@ type BooleanAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -6900,6 +7066,7 @@ type BooleanAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -6958,6 +7125,7 @@ type DateAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -6965,6 +7133,7 @@ type DateAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -7022,6 +7191,7 @@ type CountryAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -7029,6 +7199,7 @@ type CountryAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -7086,6 +7257,7 @@ type SelectAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -7093,6 +7265,7 @@ type SelectAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -7155,6 +7328,7 @@ type MultiSelectAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -7162,6 +7336,7 @@ type MultiSelectAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -7226,6 +7401,7 @@ type StatusAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -7233,6 +7409,7 @@ type StatusAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -7294,6 +7471,7 @@ type SequenceAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -7301,6 +7479,7 @@ type SequenceAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -7360,6 +7539,7 @@ type FileAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -7367,6 +7547,7 @@ type FileAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -7430,6 +7611,7 @@ type CurrencyAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -7437,6 +7619,7 @@ type CurrencyAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -7525,6 +7708,7 @@ type RelationAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -7532,6 +7716,7 @@ type RelationAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -7617,6 +7802,7 @@ type UserRelationAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -7624,6 +7810,7 @@ type UserRelationAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -7682,6 +7869,7 @@ type PartnerOrganisationAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -7689,6 +7877,7 @@ type PartnerOrganisationAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -7746,6 +7935,7 @@ type PortalAccessAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -7753,6 +7943,7 @@ type PortalAccessAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -7835,6 +8026,7 @@ type AddressAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -7842,6 +8034,7 @@ type AddressAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -7900,6 +8093,7 @@ type AddressRelationAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -7907,6 +8101,7 @@ type AddressRelationAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -7965,6 +8160,7 @@ type PaymentMethodRelationAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -7972,6 +8168,7 @@ type PaymentMethodRelationAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -8029,6 +8226,7 @@ type InvitationEmailAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -8036,6 +8234,7 @@ type InvitationEmailAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -8093,6 +8292,7 @@ type AutomationAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -8100,6 +8300,7 @@ type AutomationAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -8157,6 +8358,7 @@ type InternalUserAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -8164,6 +8366,7 @@ type InternalUserAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -8221,6 +8424,7 @@ type PurposeAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -8228,6 +8432,7 @@ type PurposeAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -8285,6 +8490,7 @@ type RepeatableAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -8292,6 +8498,7 @@ type RepeatableAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -8348,6 +8555,7 @@ type TagsAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -8355,6 +8563,7 @@ type TagsAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -8414,6 +8623,7 @@ type MessageEmailAddressAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -8421,6 +8631,7 @@ type MessageEmailAddressAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -8481,6 +8692,7 @@ type NumberAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -8488,6 +8700,7 @@ type NumberAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -8548,6 +8761,7 @@ type TableAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -8555,6 +8769,7 @@ type TableAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -8627,6 +8842,7 @@ type ConsentAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -8634,6 +8850,7 @@ type ConsentAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -8693,6 +8910,7 @@ type OrderedListAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -8700,6 +8918,7 @@ type OrderedListAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -8757,6 +8976,7 @@ type EmailAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -8764,6 +8984,7 @@ type EmailAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -8821,6 +9042,7 @@ type PhoneAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -8828,6 +9050,7 @@ type PhoneAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -8885,6 +9108,7 @@ type PaymentAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -8892,6 +9116,7 @@ type PaymentAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -8949,6 +9174,7 @@ type PriceComponentAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -8956,6 +9182,7 @@ type PriceComponentAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -9013,6 +9240,7 @@ type ComputedAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -9020,6 +9248,7 @@ type ComputedAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -9080,6 +9309,7 @@ type PartnerStatusAttribute = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -9087,6 +9317,7 @@ type PartnerStatusAttribute = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -9199,6 +9430,79 @@ type GroupHeadlineWithCompositeID = { } ``` +### `BaseConditionDefinition` + +```ts +type BaseConditionDefinition = { + id: string // uuid + name: string + label: string +} +``` + +### `ScalarConditionDefinition` + +```ts +type ScalarConditionDefinition = { + id: string // uuid + name: string + label: string + type: "string" | "number" | "date" | "daterange" | "boolean" +} +``` + +### `SelectConditionDefinition` + +```ts +type SelectConditionDefinition = { + id: string // uuid + name: string + label: string + type: "select" + values?: string[] +} +``` + +### `LocationConditionDefinition` + +```ts +type LocationConditionDefinition = { + id: string // uuid + name: string + label: string + type: "location" + format?: "zipcode" | "zipcode_town" +} +``` + +### `ConditionDefinition` + +One dimension that conditional variants of an entity type are keyed by. `type` +discriminates the variants: only a `select` condition carries `values`, and only a +`location` condition carries `format`. + + +```ts +type ConditionDefinition = { + id: string // uuid + name: string + label: string + type: "string" | "number" | "date" | "daterange" | "boolean" +} | { + id: string // uuid + name: string + label: string + type: "select" + values?: string[] +} | { + id: string // uuid + name: string + label: string + type: "location" + format?: "zipcode" | "zipcode_town" +} +``` + ### `EntitySlug` URL-friendly identifier for the entity schema @@ -9227,6 +9531,7 @@ type EntityCapability = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -9234,6 +9539,7 @@ type EntityCapability = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -9276,6 +9582,7 @@ type EntityCapability = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -9283,6 +9590,7 @@ type EntityCapability = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -9308,10 +9616,6 @@ type EntityCapability = { edit_mode?: "direct" | "external" | "approval" edit_mode_config?: { match_strategy?: { ... } - fuzzy_config?: { ... } - } - type: "link" - } | { // ... } ``` @@ -9334,6 +9638,7 @@ type EntityCapabilityWithCompositeID = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -9341,6 +9646,7 @@ type EntityCapabilityWithCompositeID = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -9383,6 +9689,7 @@ type EntityCapabilityWithCompositeID = { required?: boolean readonly?: boolean deprecated?: boolean + variant_overridable?: boolean default_value?: unknown group?: string order?: number @@ -9390,6 +9697,7 @@ type EntityCapabilityWithCompositeID = { hide_label?: boolean icon?: string render_condition?: string + data_classification?: "public" | "pii" _purpose?: string[] _manifest?: string // uuid[] constraints?: object @@ -9415,10 +9723,6 @@ type EntityCapabilityWithCompositeID = { edit_mode?: "direct" | "external" | "approval" edit_mode_config?: { match_strategy?: { ... } - fuzzy_config?: { ... } - } - type: "link" - } | { // ... } ``` @@ -9987,6 +10291,7 @@ type EntitySearchParams = { from?: number size?: number hydrate?: boolean + anonymize?: boolean fields?: string[] aggs?: object include_deleted?: "true" | "false" | "only" @@ -10063,6 +10368,7 @@ type EntityListParams = { from?: number size?: number hydrate?: boolean + anonymize?: boolean fields?: string[] aggs?: object include_deleted?: "true" | "false" | "only" @@ -10199,6 +10505,7 @@ type EntitySearchOptions = { from?: number size?: number hydrate?: boolean + anonymize?: boolean fields?: string[] aggs?: object include_deleted?: "true" | "false" | "only" @@ -10586,10 +10893,31 @@ type EntityOperation = { _changesets?: { ... } } } - _workflow_origin?: { - workflow_exec_id?: string - flow_template_id?: string - } + source_context?: { + source: "portal" | "epilot" | "erp" | "system" | "api" | "external" | "journey" | "automation" | "unknown" + source_label?: string + source_system?: string + source_reference?: string + actor_type?: "user" | "portal_user" | "api_client" | "automation" | "system" + actor_id?: string + effective_at?: string // date-time + // ... +} +``` + +### `EntityOperationSourceContext` + +Billing and audit source context for the operation event. + +```ts +type EntityOperationSourceContext = { + source: "portal" | "epilot" | "erp" | "system" | "api" | "external" | "journey" | "automation" | "unknown" + source_label?: string + source_system?: string + source_reference?: string + actor_type?: "user" | "portal_user" | "api_client" | "automation" | "system" + actor_id?: string + effective_at?: string // date-time } ``` @@ -10648,10 +10976,20 @@ type ActivityItem = { updated?: { ... } deleted?: { ... } } + source_context?: { + source: { ... } + source_label?: { ... } + source_system?: { ... } + source_reference?: { ... } + actor_type?: { ... } + actor_id?: { ... } + effective_at?: { ... } + } _workflow_origin?: { workflow_exec_id?: { ... } flow_template_id?: { ... } } + _automation_chain?: string[] }> } ``` @@ -10708,6 +11046,7 @@ type SavedViewPartial = { isFavoritedBy?: string[] created_by?: { user_id?: string + org_id?: string } | { source?: "SYSTEM" | "BLUEPRINT" } @@ -10729,6 +11068,7 @@ type SavedView = { isFavoritedBy?: string[] created_by?: { user_id?: string + org_id?: string } | { source?: "SYSTEM" | "BLUEPRINT" } @@ -10754,14 +11094,14 @@ type Taxonomy = { created_by?: string enabled?: boolean order?: number - enabled_locations?: "account" | "contact" | "contract" | "email_template" | "file" | "journey" | "meter_counter" | "meter" | "opportunity" | "order" | "partner" | "price" | "product" | "submission" | "tax" | "message" | "portal_user" | "request" | "comment" | string[] + enabled_locations?: "account" | "contact" | "contract" | "email_template" | "file" | "journey" | "meter_counter" | "meter" | "opportunity" | "order" | "partner" | "price" | "product" | "submission" | "tax" | "message" | "portal_user" | "request" | "comment" | "user" | string[] } ``` ### `TaxonomyLocationId` ```ts -type TaxonomyLocationId = "account" | "contact" | "contract" | "email_template" | "file" | "journey" | "meter_counter" | "meter" | "opportunity" | "order" | "partner" | "price" | "product" | "submission" | "tax" | "message" | "portal_user" | "request" | "comment" +type TaxonomyLocationId = "account" | "contact" | "contract" | "email_template" | "file" | "journey" | "meter_counter" | "meter" | "opportunity" | "order" | "partner" | "price" | "product" | "submission" | "tax" | "message" | "portal_user" | "request" | "comment" | "user" ``` ### `TaxonomySearchIncludeArchivedParam` @@ -10791,7 +11131,7 @@ type TaxonomyClassification = { updated_at?: string // date-time archived?: boolean starred?: boolean - enabled_locations?: "account" | "contact" | "contract" | "email_template" | "file" | "journey" | "meter_counter" | "meter" | "opportunity" | "order" | "partner" | "price" | "product" | "submission" | "tax" | "message" | "portal_user" | "request" | "comment" | string[] + enabled_locations?: "account" | "contact" | "contract" | "email_template" | "file" | "journey" | "meter_counter" | "meter" | "opportunity" | "order" | "partner" | "price" | "product" | "submission" | "tax" | "message" | "portal_user" | "request" | "comment" | "user" | string[] enabled_purposes?: string[] _manifest?: string // uuid[] } @@ -10841,7 +11181,7 @@ type ClassificationsUpdate = { updated_at?: string // date-time archived?: boolean starred?: boolean - enabled_locations?: "account" | "contact" | "contract" | "email_template" | "file" | "journey" | "meter_counter" | "meter" | "opportunity" | "order" | "partner" | "price" | "product" | "submission" | "tax" | "message" | "portal_user" | "request" | "comment" | string[] + enabled_locations?: "account" | "contact" | "contract" | "email_template" | "file" | "journey" | "meter_counter" | "meter" | "opportunity" | "order" | "partner" | "price" | "product" | "submission" | "tax" | "message" | "portal_user" | "request" | "comment" | "user" | string[] enabled_purposes?: string[] _manifest?: string // uuid[] }> @@ -10855,7 +11195,7 @@ type ClassificationsUpdate = { updated_at?: string // date-time archived?: boolean starred?: boolean - enabled_locations?: "account" | "contact" | "contract" | "email_template" | "file" | "journey" | "meter_counter" | "meter" | "opportunity" | "order" | "partner" | "price" | "product" | "submission" | "tax" | "message" | "portal_user" | "request" | "comment" | string[] + enabled_locations?: "account" | "contact" | "contract" | "email_template" | "file" | "journey" | "meter_counter" | "meter" | "opportunity" | "order" | "partner" | "price" | "product" | "submission" | "tax" | "message" | "portal_user" | "request" | "comment" | "user" | string[] enabled_purposes?: string[] _manifest?: string // uuid[] }> diff --git a/packages/epilot-sdk-v2/src/definitions/entity-runtime.json b/packages/epilot-sdk-v2/src/definitions/entity-runtime.json index 617f3b1e..750880c1 100644 --- a/packages/epilot-sdk-v2/src/definitions/entity-runtime.json +++ b/packages/epilot-sdk-v2/src/definitions/entity-runtime.json @@ -1 +1 @@ -{"s":"https://entity.sls.epilot.io","o":[["listSchemas","get","/v1/entity/schemas",[["unpublished","q"],["latest","q"],["exclude","q",false,"form",false],["include","q",false,"form",false]]],["listSchemasV2","get","/v2/entity/schemas",[["full","q"],["unpublished","q"],["latest","q"],["exclude","q",false,"form",false],["include","q",false,"form",false]]],["getSchema","get","/v1/entity/schemas/{slug}",[["EntitySlugPathParam"],["id","q"],["latest","q"]]],["putSchema","put","/v1/entity/schemas/{slug}",[["EntitySlugPathParam"],["draft","q"]],1],["deleteSchema","delete","/v1/entity/schemas/{slug}",[["EntitySlugPathParam"]]],["getJsonSchema","get","/v1/entity/schemas/{slug}/json/schema",[["EntitySlugPathParam"],["dereference","q"]]],["getSchemaExample","get","/v1/entity/schemas/{slug}/json/example",[["EntitySlugPathParam"]]],["getSchemaVersions","get","/v1/entity/schemas/{slug}/versions",[["EntitySlugPathParam"],["versions_from","q"],["versions_size","q"],["drafts_from","q"],["drafts_size","q"],["fields","q",false,"form",false]]],["freezeSchema","post","/v1/entity/schemas/{slug}/freeze",[["EntitySlugPathParam"]],1],["unfreezeSchema","post","/v1/entity/schemas/{slug}/unfreeze",[["EntitySlugPathParam"]]],["listAvailableCapabilities","get","/v1/entity/schemas/{slug}/capabilities/available",[["EntitySlugPathParam"]]],["listSchemaBlueprints","get","/v1/entity/schemas/blueprints"],["searchEntities","post","/v1/entity:search",null,1],["listEntities","post","/v1/entity:list",null,1],["queryEntityGraph","post","/v1/entity:graph",null,1],["createEntity","post","/v1/entity/{slug}",[["EntitySlugPathParam"],["ActivityIdQueryParam"],["FillActivityQueryParam"],["AsyncOperationQueryParam"],["ValidateEntityQueryParam"]],1],["validateEntity","post","/v1/entity/{slug}:validate",[["EntitySlugPathPriceParam"]],1],["validateEntityV2","post","/v2/entity/{slug}:validate",[["EntitySlugPathPriceParam"]],1],["upsertEntity","patch","/v1/entity/{slug}:upsert",[["EntitySlugPathParam"],["ActivityIdQueryParam"],["FillActivityQueryParam"],["DryRunQueryParam"],["AsyncOperationQueryParam"],["ValidateEntityQueryParam"],["strict","q"]],1],["getEntityV2","get","/v2/entity/{slug}/{id}",[["EntityIdPathParam"],["EntitySlugPathParam"],["HydrateEntitiesQueryParam"],["fields","q",false,"form",false],["ApplyChangesetsQueryParam"]]],["restoreEntity","patch","/v1/entity/{slug}/{id}:restore",[["EntityIdPathParam"],["EntitySlugPathParam"],["ActivityIdQueryParam"]],1],["reindexEntity","post","/v1/entity/{slug}/{id}:reindex",[["EntityIdPathParam"],["EntitySlugPathParam"]],1],["getEntity","get","/v1/entity/{slug}/{id}",[["EntityIdPathParam"],["EntitySlugPathParam"],["HydrateEntitiesQueryParam"]]],["updateEntity","put","/v1/entity/{slug}/{id}",[["EntitySlugPathParam"],["EntityIdPathParam"],["ActivityIdQueryParam"],["FillActivityQueryParam"],["AsyncOperationQueryParam"],["ValidateEntityQueryParam"],["DirectQueryParam"]],1],["patchEntity","patch","/v1/entity/{slug}/{id}",[["EntitySlugPathParam"],["EntityIdPathParam"],["ActivityIdQueryParam"],["FillActivityQueryParam"],["DryRunQueryParam"],["AsyncOperationQueryParam"],["ValidateEntityQueryParam"],["DirectQueryParam"]],1],["deleteEntity","delete","/v1/entity/{slug}/{id}",[["EntitySlugPathParam"],["EntityIdPathParam"],["ActivityIdQueryParam"],["purge","q"]]],["autocomplete","get","/v1/entity:autocomplete",[["input","q"],["attribute","q",true],["slug","q"],["size","q"]]],["wipeAllEntities","post","/v1/entity:wipeAllEntities",null,1],["createActivity","post","/v1/entity/activity",[["entities","q",false,"form",false]],1],["getActivity","get","/v1/entity/activity/{id}",[["ActivityIdPathParam"],["operations_size","q"],["operations_from","q"]]],["attachActivity","post","/v1/entity/activity/{id}:attach",[["ActivityIdPathParam"],["entities","q",false,"form",false]]],["applyChangeset","post","/v1/entity/{slug}/{id}/changesets/{attribute}:apply",[["EntitySlugPathParam"],["EntityIdPathParam"],["attribute","p",true]]],["dismissChangeset","post","/v1/entity/{slug}/{id}/changesets/{attribute}:dismiss",[["EntitySlugPathParam"],["EntityIdPathParam"],["attribute","p",true]],1],["listChangesets","get","/v1/entity/{slug}/{id}/changesets",[["EntitySlugPathParam"],["EntityIdPathParam"]]],["getEntityActivityFeed","get","/v1/entity/{slug}/{id}/activity",[["EntitySlugPathParam"],["EntityIdPathParam"],["after","q"],["before","q"],["start_date","q"],["end_date","q"],["preset_range","q"],["FromPageQueryParam"],["size","q"],["type","q",false,"form",false],["include_relations","q"],["exclude_activity_groups","q"]]],["getRelations","get","/v1/entity/{slug}/{id}/relations",[["EntitySlugPathParam"],["EntityIdPathParam"],["HydrateEntitiesQueryParam"],["IncludeReverseQueryParam"],["FromPageQueryParam"],["size","q"],["IncludeSchemasQueryParam"],["ExcludeSchemasQueryParam"]]],["addRelations","post","/v1/entity/{slug}/{id}/relations",[["EntitySlugPathParam"],["EntityIdPathParam"],["AsyncOperationQueryParam"],["ActivityIdQueryParam"]],1],["removeRelations","delete","/v1/entity/{slug}/{id}/relations",[["EntitySlugPathParam"],["EntityIdPathParam"],["AsyncOperationQueryParam"],["ActivityIdQueryParam"]],1],["getRelationsV2","get","/v2/entity/{slug}/{id}/relations",[["EntitySlugPathParam"],["EntityIdPathParam"],["HydrateEntitiesQueryParam"],["query","q"],["IncludeReverseQueryParam"],["FromPageQueryParam"],["size","q"],["fields","q"]]],["getRelationsV3","get","/v3/entity/{slug}/{id}/relations",[["EntitySlugPathParam"],["EntityIdPathParam"],["HydrateEntitiesQueryParam"],["IncludeReverseDeprecatedQueryParam"],["FromPageQueryParam"],["size","q"],["IncludeSchemasQueryParam"],["ExcludeSchemasQueryParam"],["EntityRelationsModeQueryParam"],["fields","q"],["include_deleted","q"]]],["getRelatedEntitiesCount","get","/v2/entity/{slug}/{id}/relations/count",[["EntitySlugPathParam"],["EntityIdPathParam"],["ExcludeSchemasQueryParam"]]],["updateRelation","put","/v1/entity/{slug}/{id}/relations/{attribute}/{entity_id}",[["EntitySlugPathParam"],["EntityIdPathParam"],["attribute","p",true],["entity_id","p",true],["AsyncOperationQueryParam"],["ActivityIdQueryParam"]],1],["deleteRelation","delete","/v1/entity/{slug}/{id}/relations/{attribute}/{entity_id}",[["EntitySlugPathParam"],["EntityIdPathParam"],["attribute","p",true],["entity_id","p",true],["AsyncOperationQueryParam"],["ActivityIdQueryParam"]]],["exportEntities","post","/v1/entity:export",[["job_id","q"],["is_template","q"],["language","q"]],1],["importEntities","post","/v1/entity:import",[["job_id","q"]],1],["listSavedViews","get","/v1/entity/views",[["slug","q"],["sort","q"],["from","q"],["size","q"],["fields","q"]]],["createSavedView","post","/v1/entity/view",null,1],["getSavedView","get","/v1/entity/view/{id}",[["SavedViewIdPathParam"]]],["updateSavedView","put","/v1/entity/view/{id}",[["SavedViewIdPathParam"]],1],["patchSavedView","patch","/v1/entity/view/{id}",[["SavedViewIdPathParam"]],1],["deleteSavedView","delete","/v1/entity/view/{id}",[["SavedViewIdPathParam"]]],["listFavoriteViewsForUser","get","/v1/entity/views/favorites"],["listTaxonomies","get","/v1/entity/taxonomies",[["include_disabled","q"],["type","q"]]],["createTaxonomy","post","/v1/entity/taxonomies",null,1],["getTaxonomy","get","/v1/entity/taxonomies/{taxonomySlug}",[["TaxonomySlugPathParam"]]],["updateTaxonomy","put","/v1/entity/taxonomies/{taxonomySlug}",[["TaxonomySlugPathParam"]],1],["deleteTaxonomy","delete","/v1/entity/taxonomies/{taxonomySlug}",[["TaxonomySlugPathParam"],["permanent","q"]]],["updateClassificationsForTaxonomy","post","/v1/entity/taxonomies/{taxonomySlug}/classifications",[["TaxonomySlugPathParam"]],1],["createTaxonomyClassification","post","/v2/entity/taxonomies/classifications",null,1],["getTaxonomyClassification","get","/v2/entity/taxonomies/classifications/{classificationSlug}",[["TaxonomyClassificationSlugPathParam"]]],["updateTaxonomyClassification","put","/v2/entity/taxonomies/classifications/{classificationSlug}",[["TaxonomyClassificationSlugPathParam"]],1],["deleteTaxonomyClassification","delete","/v2/entity/taxonomies/classifications/{classificationSlug}",[["TaxonomyClassificationSlugPathParam"]]],["taxonomyAutocomplete","get","/v1/entity/taxonomies/{taxonomySlug}:autocomplete",[["TaxonomySlugPathParam"],["query","q"],["size","q"]]],["taxonomiesClassificationsSearch","post","/v1/entity/taxonomies/classifications:search",[["taxonomySlug","q"],["query","q"],["archived","q"],["include_archived","q"],["exclude_types","q"]],1],["listTaxonomyClassificationsForSchema","get","/v1/entity/schemas/{slug}/taxonomy/{taxonomySlug}",[["EntitySlugPathParam"],["TaxonomySlugPathParam"],["query","q"],["size","q"]]],["getTaxonomyBulkActionJobs","get","/v1/entity/taxonomies/bulk-jobs",[["status","q"],["size","q"],["created_after","q"],["sort_pending_first","q"],["scope","q"]]],["getTaxonomyBulkActionJobById","get","/v1/entity/taxonomies/bulk-jobs/{job_id}",[["job_id","p",true]]],["cancelBulkAction","post","/v1/entity/taxonomies/bulk-jobs/{job_id}/cancel",[["job_id","p",true]]],["bulkMoveClassifications","post","/v1/entity/taxonomies/classifications:move",null,1],["bulkMergeClassifications","post","/v1/entity/taxonomies/classifications:merge",null,1],["bulkDeleteClassifications","post","/v1/entity/taxonomies/classifications:delete",null,1],["createSchemaAttribute","post","/v1/entity/schemas/attributes",null,1],["getSchemaAttribute","get","/v1/entity/schemas/attributes/{composite_id}",[["composite_id","p",true]]],["putSchemaAttribute","put","/v1/entity/schemas/attributes/{composite_id}",[["composite_id","p",true]],1],["deleteSchemaAttribute","delete","/v1/entity/schemas/attributes/{composite_id}",[["composite_id","p",true]]],["createSchemaCapability","post","/v1/entity/schemas/capabilities",null,1],["getSchemaCapability","get","/v1/entity/schemas/capabilities/{composite_id}",[["composite_id","p",true]]],["putSchemaCapability","put","/v1/entity/schemas/capabilities/{composite_id}",[["composite_id","p",true]],1],["deleteSchemaCapability","delete","/v1/entity/schemas/capabilities/{composite_id}",[["composite_id","p",true]]],["createSchemaGroup","post","/v1/entity/schemas/group",null,1],["getSchemaGroup","get","/v1/entity/schemas/group/{composite_id}",[["composite_id","p",true]]],["putSchemaGroup","put","/v1/entity/schemas/group/{composite_id}",[["composite_id","p",true]],1],["deleteSchemaGroup","delete","/v1/entity/schemas/group/{composite_id}",[["composite_id","p",true]]],["createSchemaGroupHeadline","post","/v1/entity/schemas/headline",null,1],["getSchemaGroupHeadline","get","/v1/entity/schemas/headline/{composite_id}",[["composite_id","p",true]]],["putSchemaGroupHeadline","put","/v1/entity/schemas/headline/{composite_id}",[["composite_id","p",true]],1],["deleteSchemaGroupHeadline","delete","/v1/entity/schemas/headline/{composite_id}",[["composite_id","p",true]]]],"cp":{"EntityIdPathParam":["id","p",true],"EntitySlugPathParam":["slug","p",true],"EntitySlugPathPriceParam":["slug","p",true],"TaxonomySlugQueryParam":["taxonomySlug","q",true],"TaxonomySlugPathParam":["taxonomySlug","p",true],"TaxonomySlugQueryParamOptional":["taxonomySlug","q"],"TaxonomyClassificationSlugPathParam":["classificationSlug","p",true],"SavedViewIdPathParam":["id","p",true],"AsyncOperationQueryParam":["async","q"],"HydrateEntitiesQueryParam":["hydrate","q"],"ActivityIdQueryParam":["activity_id","q"],"ActivityIdPathParam":["id","p",true],"FromPageQueryParam":["from","q"],"IncludeReverseDeprecatedQueryParam":["include_reverse","q"],"IncludeReverseQueryParam":["include_reverse","q"],"IncludeSchemasQueryParam":["include_schemas","q",false,"form",false],"ExcludeSchemasQueryParam":["exclude_schemas","q",false,"form",false],"EntityRelationsModeQueryParam":["mode","q"],"DryRunQueryParam":["dry_run","q"],"FillActivityQueryParam":["fill_activity","q"],"ValidateEntityQueryParam":["validate","q"],"DirectQueryParam":["direct","q"],"ApplyChangesetsQueryParam":["apply_changesets","q"]}} \ No newline at end of file +{"s":"https://entity.sls.epilot.io","o":[["listSchemas","get","/v1/entity/schemas",[["unpublished","q"],["latest","q"],["exclude","q",false,"form",false],["include","q",false,"form",false]]],["listSchemasV2","get","/v2/entity/schemas",[["full","q"],["unpublished","q"],["latest","q"],["exclude","q",false,"form",false],["include","q",false,"form",false]]],["getSchema","get","/v1/entity/schemas/{slug}",[["EntitySlugPathParam"],["id","q"],["latest","q"]]],["putSchema","put","/v1/entity/schemas/{slug}",[["EntitySlugPathParam"],["draft","q"]],1],["deleteSchema","delete","/v1/entity/schemas/{slug}",[["EntitySlugPathParam"]]],["getJsonSchema","get","/v1/entity/schemas/{slug}/json/schema",[["EntitySlugPathParam"],["dereference","q"]]],["getSchemaExample","get","/v1/entity/schemas/{slug}/json/example",[["EntitySlugPathParam"]]],["getSchemaVersions","get","/v1/entity/schemas/{slug}/versions",[["EntitySlugPathParam"],["versions_from","q"],["versions_size","q"],["drafts_from","q"],["drafts_size","q"],["fields","q",false,"form",false]]],["freezeSchema","post","/v1/entity/schemas/{slug}/freeze",[["EntitySlugPathParam"]],1],["unfreezeSchema","post","/v1/entity/schemas/{slug}/unfreeze",[["EntitySlugPathParam"]]],["listAvailableCapabilities","get","/v1/entity/schemas/{slug}/capabilities/available",[["EntitySlugPathParam"]]],["listSchemaBlueprints","get","/v1/entity/schemas/blueprints"],["searchEntities","post","/v1/entity:search",null,1],["listEntities","post","/v1/entity:list",null,1],["queryEntityGraph","post","/v1/entity:graph",null,1],["createEntity","post","/v1/entity/{slug}",[["EntitySlugPathParam"],["ActivityIdQueryParam"],["FillActivityQueryParam"],["AsyncOperationQueryParam"],["ValidateEntityQueryParam"]],1],["validateEntity","post","/v1/entity/{slug}:validate",[["EntitySlugPathPriceParam"]],1],["validateEntityV2","post","/v2/entity/{slug}:validate",[["EntitySlugPathPriceParam"]],1],["upsertEntity","patch","/v1/entity/{slug}:upsert",[["EntitySlugPathParam"],["ActivityIdQueryParam"],["FillActivityQueryParam"],["DryRunQueryParam"],["AsyncOperationQueryParam"],["ValidateEntityQueryParam"],["strict","q"]],1],["getEntityV2","get","/v2/entity/{slug}/{id}",[["EntityIdPathParam"],["EntitySlugPathParam"],["HydrateEntitiesQueryParam"],["AnonymizeQueryParam"],["fields","q",false,"form",false],["ApplyChangesetsQueryParam"]]],["restoreEntity","patch","/v1/entity/{slug}/{id}:restore",[["EntityIdPathParam"],["EntitySlugPathParam"],["ActivityIdQueryParam"]],1],["reindexEntity","post","/v1/entity/{slug}/{id}:reindex",[["EntityIdPathParam"],["EntitySlugPathParam"]],1],["getEntity","get","/v1/entity/{slug}/{id}",[["EntityIdPathParam"],["EntitySlugPathParam"],["HydrateEntitiesQueryParam"],["AnonymizeQueryParam"]]],["updateEntity","put","/v1/entity/{slug}/{id}",[["EntitySlugPathParam"],["EntityIdPathParam"],["ActivityIdQueryParam"],["FillActivityQueryParam"],["AsyncOperationQueryParam"],["ValidateEntityQueryParam"],["DirectQueryParam"]],1],["patchEntity","patch","/v1/entity/{slug}/{id}",[["EntitySlugPathParam"],["EntityIdPathParam"],["ActivityIdQueryParam"],["FillActivityQueryParam"],["DryRunQueryParam"],["AsyncOperationQueryParam"],["ValidateEntityQueryParam"],["DirectQueryParam"]],1],["deleteEntity","delete","/v1/entity/{slug}/{id}",[["EntitySlugPathParam"],["EntityIdPathParam"],["ActivityIdQueryParam"],["purge","q"]]],["autocomplete","get","/v1/entity:autocomplete",[["AnonymizeQueryParam"],["input","q"],["attribute","q",true],["slug","q"],["size","q"]]],["wipeAllEntities","post","/v1/entity:wipeAllEntities",null,1],["createActivity","post","/v1/entity/activity",[["entities","q",false,"form",false]],1],["getActivity","get","/v1/entity/activity/{id}",[["AnonymizeQueryParam"],["ActivityIdPathParam"],["operations_size","q"],["operations_from","q"]]],["attachActivity","post","/v1/entity/activity/{id}:attach",[["ActivityIdPathParam"],["entities","q",false,"form",false]]],["applyChangeset","post","/v1/entity/{slug}/{id}/changesets/{attribute}:apply",[["EntitySlugPathParam"],["EntityIdPathParam"],["attribute","p",true]]],["dismissChangeset","post","/v1/entity/{slug}/{id}/changesets/{attribute}:dismiss",[["EntitySlugPathParam"],["EntityIdPathParam"],["attribute","p",true]],1],["listChangesets","get","/v1/entity/{slug}/{id}/changesets",[["AnonymizeQueryParam"],["EntitySlugPathParam"],["EntityIdPathParam"]]],["getEntityActivityFeed","get","/v1/entity/{slug}/{id}/activity",[["AnonymizeQueryParam"],["EntitySlugPathParam"],["EntityIdPathParam"],["after","q"],["before","q"],["start_date","q"],["end_date","q"],["preset_range","q"],["FromPageQueryParam"],["size","q"],["type","q",false,"form",false],["include_relations","q"],["exclude_activity_groups","q"]]],["getRelations","get","/v1/entity/{slug}/{id}/relations",[["EntitySlugPathParam"],["EntityIdPathParam"],["HydrateEntitiesQueryParam"],["AnonymizeQueryParam"],["IncludeReverseQueryParam"],["FromPageQueryParam"],["size","q"],["IncludeSchemasQueryParam"],["ExcludeSchemasQueryParam"]]],["addRelations","post","/v1/entity/{slug}/{id}/relations",[["EntitySlugPathParam"],["EntityIdPathParam"],["AsyncOperationQueryParam"],["ActivityIdQueryParam"]],1],["removeRelations","delete","/v1/entity/{slug}/{id}/relations",[["EntitySlugPathParam"],["EntityIdPathParam"],["AsyncOperationQueryParam"],["ActivityIdQueryParam"]],1],["getRelationsV2","get","/v2/entity/{slug}/{id}/relations",[["EntitySlugPathParam"],["EntityIdPathParam"],["HydrateEntitiesQueryParam"],["AnonymizeQueryParam"],["query","q"],["IncludeReverseQueryParam"],["FromPageQueryParam"],["size","q"],["fields","q"]]],["getRelationsV3","get","/v3/entity/{slug}/{id}/relations",[["EntitySlugPathParam"],["EntityIdPathParam"],["HydrateEntitiesQueryParam"],["AnonymizeQueryParam"],["IncludeReverseDeprecatedQueryParam"],["FromPageQueryParam"],["size","q"],["IncludeSchemasQueryParam"],["ExcludeSchemasQueryParam"],["EntityRelationsModeQueryParam"],["fields","q"],["include_deleted","q"]]],["getRelatedEntitiesCount","get","/v2/entity/{slug}/{id}/relations/count",[["EntitySlugPathParam"],["EntityIdPathParam"],["ExcludeSchemasQueryParam"]]],["updateRelation","put","/v1/entity/{slug}/{id}/relations/{attribute}/{entity_id}",[["EntitySlugPathParam"],["EntityIdPathParam"],["attribute","p",true],["entity_id","p",true],["AsyncOperationQueryParam"],["ActivityIdQueryParam"]],1],["deleteRelation","delete","/v1/entity/{slug}/{id}/relations/{attribute}/{entity_id}",[["EntitySlugPathParam"],["EntityIdPathParam"],["attribute","p",true],["entity_id","p",true],["AsyncOperationQueryParam"],["ActivityIdQueryParam"]]],["exportEntities","post","/v1/entity:export",[["job_id","q"],["is_template","q"],["language","q"]],1],["importEntities","post","/v1/entity:import",[["job_id","q"]],1],["abortEntityImport","post","/v1/entity:abortImport",[["job_id","q",true],["schema","q",true]]],["listSavedViews","get","/v1/entity/views",[["slug","q"],["sort","q"],["from","q"],["size","q"],["q","q"],["fields","q"]]],["createSavedView","post","/v1/entity/view",null,1],["getSavedView","get","/v1/entity/view/{id}",[["SavedViewIdPathParam"]]],["updateSavedView","put","/v1/entity/view/{id}",[["SavedViewIdPathParam"]],1],["patchSavedView","patch","/v1/entity/view/{id}",[["SavedViewIdPathParam"]],1],["deleteSavedView","delete","/v1/entity/view/{id}",[["SavedViewIdPathParam"]]],["listFavoriteViewsForUser","get","/v1/entity/views/favorites"],["listTaxonomies","get","/v1/entity/taxonomies",[["include_disabled","q"],["type","q"]]],["createTaxonomy","post","/v1/entity/taxonomies",null,1],["getTaxonomy","get","/v1/entity/taxonomies/{taxonomySlug}",[["TaxonomySlugPathParam"]]],["updateTaxonomy","put","/v1/entity/taxonomies/{taxonomySlug}",[["TaxonomySlugPathParam"]],1],["deleteTaxonomy","delete","/v1/entity/taxonomies/{taxonomySlug}",[["TaxonomySlugPathParam"],["permanent","q"]]],["updateClassificationsForTaxonomy","post","/v1/entity/taxonomies/{taxonomySlug}/classifications",[["TaxonomySlugPathParam"]],1],["createTaxonomyClassification","post","/v2/entity/taxonomies/classifications",null,1],["getTaxonomyClassification","get","/v2/entity/taxonomies/classifications/{classificationSlug}",[["TaxonomyClassificationSlugPathParam"]]],["updateTaxonomyClassification","put","/v2/entity/taxonomies/classifications/{classificationSlug}",[["TaxonomyClassificationSlugPathParam"]],1],["deleteTaxonomyClassification","delete","/v2/entity/taxonomies/classifications/{classificationSlug}",[["TaxonomyClassificationSlugPathParam"]]],["taxonomyAutocomplete","get","/v1/entity/taxonomies/{taxonomySlug}:autocomplete",[["TaxonomySlugPathParam"],["query","q"],["size","q"]]],["taxonomiesClassificationsSearch","post","/v1/entity/taxonomies/classifications:search",[["taxonomySlug","q"],["query","q"],["archived","q"],["include_archived","q"],["exclude_types","q"]],1],["listTaxonomyClassificationsForSchema","get","/v1/entity/schemas/{slug}/taxonomy/{taxonomySlug}",[["EntitySlugPathParam"],["TaxonomySlugPathParam"],["query","q"],["size","q"]]],["getTaxonomyBulkActionJobs","get","/v1/entity/taxonomies/bulk-jobs",[["status","q"],["size","q"],["created_after","q"],["sort_pending_first","q"],["scope","q"]]],["getTaxonomyBulkActionJobById","get","/v1/entity/taxonomies/bulk-jobs/{job_id}",[["job_id","p",true]]],["cancelBulkAction","post","/v1/entity/taxonomies/bulk-jobs/{job_id}/cancel",[["job_id","p",true]]],["bulkMoveClassifications","post","/v1/entity/taxonomies/classifications:move",null,1],["bulkMergeClassifications","post","/v1/entity/taxonomies/classifications:merge",null,1],["bulkDeleteClassifications","post","/v1/entity/taxonomies/classifications:delete",null,1],["createSchemaAttribute","post","/v1/entity/schemas/attributes",null,1],["getSchemaAttribute","get","/v1/entity/schemas/attributes/{composite_id}",[["composite_id","p",true]]],["putSchemaAttribute","put","/v1/entity/schemas/attributes/{composite_id}",[["composite_id","p",true]],1],["deleteSchemaAttribute","delete","/v1/entity/schemas/attributes/{composite_id}",[["composite_id","p",true]]],["createSchemaCapability","post","/v1/entity/schemas/capabilities",null,1],["getSchemaCapability","get","/v1/entity/schemas/capabilities/{composite_id}",[["composite_id","p",true]]],["putSchemaCapability","put","/v1/entity/schemas/capabilities/{composite_id}",[["composite_id","p",true]],1],["deleteSchemaCapability","delete","/v1/entity/schemas/capabilities/{composite_id}",[["composite_id","p",true]]],["createSchemaGroup","post","/v1/entity/schemas/group",null,1],["getSchemaGroup","get","/v1/entity/schemas/group/{composite_id}",[["composite_id","p",true]]],["putSchemaGroup","put","/v1/entity/schemas/group/{composite_id}",[["composite_id","p",true]],1],["deleteSchemaGroup","delete","/v1/entity/schemas/group/{composite_id}",[["composite_id","p",true]]],["createSchemaGroupHeadline","post","/v1/entity/schemas/headline",null,1],["getSchemaGroupHeadline","get","/v1/entity/schemas/headline/{composite_id}",[["composite_id","p",true]]],["putSchemaGroupHeadline","put","/v1/entity/schemas/headline/{composite_id}",[["composite_id","p",true]],1],["deleteSchemaGroupHeadline","delete","/v1/entity/schemas/headline/{composite_id}",[["composite_id","p",true]]]],"cp":{"AnonymizeQueryParam":["anonymize","q"],"EntityIdPathParam":["id","p",true],"EntitySlugPathParam":["slug","p",true],"EntitySlugPathPriceParam":["slug","p",true],"TaxonomySlugQueryParam":["taxonomySlug","q",true],"TaxonomySlugPathParam":["taxonomySlug","p",true],"TaxonomySlugQueryParamOptional":["taxonomySlug","q"],"TaxonomyClassificationSlugPathParam":["classificationSlug","p",true],"SavedViewIdPathParam":["id","p",true],"AsyncOperationQueryParam":["async","q"],"HydrateEntitiesQueryParam":["hydrate","q"],"ActivityIdQueryParam":["activity_id","q"],"ActivityIdPathParam":["id","p",true],"FromPageQueryParam":["from","q"],"IncludeReverseDeprecatedQueryParam":["include_reverse","q"],"IncludeReverseQueryParam":["include_reverse","q"],"IncludeSchemasQueryParam":["include_schemas","q",false,"form",false],"ExcludeSchemasQueryParam":["exclude_schemas","q",false,"form",false],"EntityRelationsModeQueryParam":["mode","q"],"DryRunQueryParam":["dry_run","q"],"FillActivityQueryParam":["fill_activity","q"],"ValidateEntityQueryParam":["validate","q"],"DirectQueryParam":["direct","q"],"ApplyChangesetsQueryParam":["apply_changesets","q"]}} \ No newline at end of file diff --git a/packages/epilot-sdk-v2/src/docs/entity.json b/packages/epilot-sdk-v2/src/docs/entity.json index 75a0e500..f68178a3 100644 --- a/packages/epilot-sdk-v2/src/docs/entity.json +++ b/packages/epilot-sdk-v2/src/docs/entity.json @@ -1 +1 @@ -"# Entity API\n\n- **Base URL:** `https://entity.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/entity](https://docs.epilot.io/api/entity)\n\n## Usage\n\n```ts\nimport { epilot } from '@epilot/sdk'\n\nepilot.authorize(() => '')\nconst { data } = await epilot.entity.listSchemas(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from '@epilot/sdk/entity'\n\nconst entityClient = getClient()\nauthorize(entityClient, () => '')\nconst { data } = await entityClient.listSchemas(...)\n```\n\n## Operations\n\n**Schemas**\n- [`listSchemas`](#listschemas)\n- [`listSchemasV2`](#listschemasv2)\n- [`getSchema`](#getschema)\n- [`putSchema`](#putschema)\n- [`deleteSchema`](#deleteschema)\n- [`getJsonSchema`](#getjsonschema)\n- [`getSchemaExample`](#getschemaexample)\n- [`getSchemaVersions`](#getschemaversions)\n- [`freezeSchema`](#freezeschema)\n- [`unfreezeSchema`](#unfreezeschema)\n- [`listAvailableCapabilities`](#listavailablecapabilities)\n- [`listSchemaBlueprints`](#listschemablueprints)\n- [`listTaxonomyClassificationsForSchema`](#listtaxonomyclassificationsforschema)\n- [`createSchemaAttribute`](#createschemaattribute)\n- [`getSchemaAttribute`](#getschemaattribute)\n- [`putSchemaAttribute`](#putschemaattribute)\n- [`deleteSchemaAttribute`](#deleteschemaattribute)\n- [`createSchemaCapability`](#createschemacapability)\n- [`getSchemaCapability`](#getschemacapability)\n- [`putSchemaCapability`](#putschemacapability)\n- [`deleteSchemaCapability`](#deleteschemacapability)\n- [`createSchemaGroup`](#createschemagroup)\n- [`getSchemaGroup`](#getschemagroup)\n- [`putSchemaGroup`](#putschemagroup)\n- [`deleteSchemaGroup`](#deleteschemagroup)\n- [`createSchemaGroupHeadline`](#createschemagroupheadline)\n- [`getSchemaGroupHeadline`](#getschemagroupheadline)\n- [`putSchemaGroupHeadline`](#putschemagroupheadline)\n- [`deleteSchemaGroupHeadline`](#deleteschemagroupheadline)\n\n**Entities**\n- [`searchEntities`](#searchentities)\n- [`listEntities`](#listentities)\n- [`queryEntityGraph`](#queryentitygraph)\n- [`createEntity`](#createentity)\n- [`validateEntity`](#validateentity)\n- [`validateEntityV2`](#validateentityv2)\n- [`upsertEntity`](#upsertentity)\n- [`getEntityV2`](#getentityv2)\n- [`restoreEntity`](#restoreentity)\n- [`reindexEntity`](#reindexentity)\n- [`getEntity`](#getentity)\n- [`updateEntity`](#updateentity)\n- [`patchEntity`](#patchentity)\n- [`deleteEntity`](#deleteentity)\n- [`autocomplete`](#autocomplete)\n- [`wipeAllEntities`](#wipeallentities)\n- [`applyChangeset`](#applychangeset)\n- [`dismissChangeset`](#dismisschangeset)\n- [`listChangesets`](#listchangesets)\n\n**Activity**\n- [`createActivity`](#createactivity)\n- [`getActivity`](#getactivity)\n- [`attachActivity`](#attachactivity)\n- [`getEntityActivityFeed`](#getentityactivityfeed)\n\n**Relations**\n- [`getRelations`](#getrelations)\n- [`addRelations`](#addrelations)\n- [`removeRelations`](#removerelations)\n- [`getRelationsV2`](#getrelationsv2)\n- [`getRelationsV3`](#getrelationsv3)\n- [`getRelatedEntitiesCount`](#getrelatedentitiescount)\n- [`updateRelation`](#updaterelation)\n- [`deleteRelation`](#deleterelation)\n\n**Import-Export**\n- [`exportEntities`](#exportentities)\n- [`importEntities`](#importentities)\n\n**Saved Views**\n- [`listSavedViews`](#listsavedviews)\n- [`createSavedView`](#createsavedview)\n- [`getSavedView`](#getsavedview)\n- [`updateSavedView`](#updatesavedview)\n- [`patchSavedView`](#patchsavedview)\n- [`deleteSavedView`](#deletesavedview)\n- [`listFavoriteViewsForUser`](#listfavoriteviewsforuser)\n\n**Taxonomy**\n- [`listTaxonomies`](#listtaxonomies)\n- [`createTaxonomy`](#createtaxonomy)\n- [`getTaxonomy`](#gettaxonomy)\n- [`updateTaxonomy`](#updatetaxonomy)\n- [`deleteTaxonomy`](#deletetaxonomy)\n- [`updateClassificationsForTaxonomy`](#updateclassificationsfortaxonomy)\n- [`createTaxonomyClassification`](#createtaxonomyclassification)\n- [`getTaxonomyClassification`](#gettaxonomyclassification)\n- [`updateTaxonomyClassification`](#updatetaxonomyclassification)\n- [`deleteTaxonomyClassification`](#deletetaxonomyclassification)\n- [`taxonomyAutocomplete`](#taxonomyautocomplete)\n- [`taxonomiesClassificationsSearch`](#taxonomiesclassificationssearch)\n- [`getTaxonomyBulkActionJobs`](#gettaxonomybulkactionjobs)\n- [`getTaxonomyBulkActionJobById`](#gettaxonomybulkactionjobbyid)\n- [`cancelBulkAction`](#cancelbulkaction)\n- [`bulkMoveClassifications`](#bulkmoveclassifications)\n- [`bulkMergeClassifications`](#bulkmergeclassifications)\n- [`bulkDeleteClassifications`](#bulkdeleteclassifications)\n\n**Schemas**\n- [`ExportJobId`](#exportjobid)\n- [`Language`](#language)\n- [`IsTemplate`](#istemplate)\n- [`SchemaId`](#schemaid)\n- [`EntitySchema`](#entityschema)\n- [`EntitySchemaItem`](#entityschemaitem)\n- [`GenerateEntityTableAIFiltersRequest`](#generateentitytableaifiltersrequest)\n- [`GenerateEntityTableAIFiltersResponse`](#generateentitytableaifiltersresponse)\n- [`EntityTableFilterSearch`](#entitytablefiltersearch)\n- [`EntityTableFilterOption`](#entitytablefilteroption)\n- [`EntitySchemaGroup`](#entityschemagroup)\n- [`EntitySchemaGroupWithCompositeID`](#entityschemagroupwithcompositeid)\n- [`Attribute`](#attribute)\n- [`AttributeWithCompositeID`](#attributewithcompositeid)\n- [`BaseAttribute`](#baseattribute)\n- [`TextAttribute`](#textattribute)\n- [`LinkAttribute`](#linkattribute)\n- [`InternalAttribute`](#internalattribute)\n- [`BooleanAttribute`](#booleanattribute)\n- [`DateAttribute`](#dateattribute)\n- [`CountryAttribute`](#countryattribute)\n- [`SelectAttribute`](#selectattribute)\n- [`MultiSelectAttribute`](#multiselectattribute)\n- [`StatusAttribute`](#statusattribute)\n- [`SequenceAttribute`](#sequenceattribute)\n- [`FileAttribute`](#fileattribute)\n- [`CurrencyAttribute`](#currencyattribute)\n- [`SummaryField`](#summaryfield)\n- [`EntityAction`](#entityaction)\n- [`RelationAttribute`](#relationattribute)\n- [`UserRelationAttribute`](#userrelationattribute)\n- [`PartnerOrganisationAttribute`](#partnerorganisationattribute)\n- [`PortalAccessAttribute`](#portalaccessattribute)\n- [`DefaultAddressFields`](#defaultaddressfields)\n- [`AddressAttribute`](#addressattribute)\n- [`AddressRelationAttribute`](#addressrelationattribute)\n- [`PaymentMethodRelationAttribute`](#paymentmethodrelationattribute)\n- [`InvitationEmailAttribute`](#invitationemailattribute)\n- [`AutomationAttribute`](#automationattribute)\n- [`InternalUserAttribute`](#internaluserattribute)\n- [`PurposeAttribute`](#purposeattribute)\n- [`RepeatableAttribute`](#repeatableattribute)\n- [`TagsAttribute`](#tagsattribute)\n- [`MessageEmailAddressAttribute`](#messageemailaddressattribute)\n- [`NumberAttribute`](#numberattribute)\n- [`TableAttribute`](#tableattribute)\n- [`ConsentAttribute`](#consentattribute)\n- [`OrderedListAttribute`](#orderedlistattribute)\n- [`EmailAttribute`](#emailattribute)\n- [`PhoneAttribute`](#phoneattribute)\n- [`PaymentAttribute`](#paymentattribute)\n- [`PriceComponentAttribute`](#pricecomponentattribute)\n- [`ComputedAttribute`](#computedattribute)\n- [`PartnerStatusAttribute`](#partnerstatusattribute)\n- [`SummaryAttribute`](#summaryattribute)\n- [`GroupHeadline`](#groupheadline)\n- [`GroupHeadlineWithCompositeID`](#groupheadlinewithcompositeid)\n- [`EntitySlug`](#entityslug)\n- [`EntityCapability`](#entitycapability)\n- [`EntityCapabilityWithCompositeID`](#entitycapabilitywithcompositeid)\n- [`EntityViewDisabled`](#entityviewdisabled)\n- [`EntityDefaultTable`](#entitydefaulttable)\n- [`EntityDefaultCreate`](#entitydefaultcreate)\n- [`EntityDefaultEdit`](#entitydefaultedit)\n- [`RedirectEntityView`](#redirectentityview)\n- [`EntityId`](#entityid)\n- [`BaseEntity`](#baseentity)\n- [`Entity`](#entity)\n- [`NullableEntity`](#nullableentity)\n- [`EntityOwner`](#entityowner)\n- [`EntityAcl`](#entityacl)\n- [`HydratedEntity`](#hydratedentity)\n- [`EntityItem`](#entityitem)\n- [`EntityValidationError`](#entityvalidationerror)\n- [`EntityValidationResultSuccess`](#entityvalidationresultsuccess)\n- [`EntityValidationResultError`](#entityvalidationresulterror)\n- [`EntityValidationResult`](#entityvalidationresult)\n- [`EntityValidationV2Error`](#entityvalidationv2error)\n- [`EntityValidationV2ResultSuccess`](#entityvalidationv2resultsuccess)\n- [`EntityValidationV2ResultError`](#entityvalidationv2resulterror)\n- [`EntityValidationV2Result`](#entityvalidationv2result)\n- [`HydratedEntityItem`](#hydratedentityitem)\n- [`GetRelationsResp`](#getrelationsresp)\n- [`GetRelationsRespWithPagination`](#getrelationsrespwithpagination)\n- [`GetRelatedEntitiesCount`](#getrelatedentitiescount)\n- [`RelationEntity`](#relationentity)\n- [`RelationItem`](#relationitem)\n- [`EntitySearchIncludeDeletedParam`](#entitysearchincludedeletedparam)\n- [`EntitySearchParams`](#entitysearchparams)\n- [`EntityListParams`](#entitylistparams)\n- [`SearchFilter`](#searchfilter)\n- [`SearchFilterValue`](#searchfiltervalue)\n- [`EntitySearchOptions`](#entitysearchoptions)\n- [`FieldsParam`](#fieldsparam)\n- [`EntityImportParams`](#entityimportparams)\n- [`GraphQueryRequest`](#graphqueryrequest)\n- [`GraphSeed`](#graphseed)\n- [`GraphDefinition`](#graphdefinition)\n- [`GraphNode`](#graphnode)\n- [`GraphEdge`](#graphedge)\n- [`GraphQueryResponse`](#graphqueryresponse)\n- [`EntitySearchResults`](#entitysearchresults)\n- [`SearchMappings`](#searchmappings)\n- [`ActivityId`](#activityid)\n- [`ActivityCallerContext`](#activitycallercontext)\n- [`ActivityType`](#activitytype)\n- [`Activity`](#activity)\n- [`EntityOperation`](#entityoperation)\n- [`BaseActivityItem`](#baseactivityitem)\n- [`ActivityItem`](#activityitem)\n- [`BlueprintEntityId`](#blueprintentityid)\n- [`ListSavedViewsResults`](#listsavedviewsresults)\n- [`SavedViewId`](#savedviewid)\n- [`SavedViewItem`](#savedviewitem)\n- [`SavedViewPartial`](#savedviewpartial)\n- [`SavedView`](#savedview)\n- [`Taxonomy`](#taxonomy)\n- [`TaxonomyLocationId`](#taxonomylocationid)\n- [`TaxonomySearchIncludeArchivedParam`](#taxonomysearchincludearchivedparam)\n- [`TaxonomyClassification`](#taxonomyclassification)\n- [`ClassificationId`](#classificationid)\n- [`ClassificationIdOrPattern`](#classificationidorpattern)\n- [`ClassificationSlug`](#classificationslug)\n- [`TaxonomySlug`](#taxonomyslug)\n- [`ClassificationsUpdate`](#classificationsupdate)\n- [`TaxonomyBulkJobTriggerResponse`](#taxonomybulkjobtriggerresponse)\n- [`TaxonomyBulkJobStatus`](#taxonomybulkjobstatus)\n- [`TaxonomyBulkJobActionType`](#taxonomybulkjobactiontype)\n- [`TaxonomyBulkJob`](#taxonomybulkjob)\n- [`ESClusterAssignment`](#esclusterassignment)\n- [`SettingFlag`](#settingflag)\n- [`ErrorObject`](#errorobject)\n- [`ChangesetCreator`](#changesetcreator)\n- [`Changeset`](#changeset)\n- [`ChangesetMap`](#changesetmap)\n- [`MeterReadingChangesetEntry`](#meterreadingchangesetentry)\n- [`EditMode`](#editmode)\n- [`EditModeConfig`](#editmodeconfig)\n- [`FuzzyConfig`](#fuzzyconfig)\n- [`MatchStrategy`](#matchstrategy)\n\n### `listSchemas`\n\nGet the latest versions of all schemas\n\n`GET /v1/entity/schemas`\n\n```ts\nconst { data } = await client.listSchemas({\n unpublished: true,\n latest: true,\n exclude: ['...'],\n include: ['...'],\n})\n```\n\n
\nResponse\n\n```json\n{\n \"results\": [\n {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"comment\": \"string\",\n \"source\": {},\n \"frozen\": true,\n \"latest\": true,\n \"_summary\": true,\n \"slug\": \"contact\",\n \"version\": 1,\n \"blueprint\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"enable_setting\": [\"360_features\"],\n \"name\": \"Contact\",\n \"plural\": \"Contacts\",\n \"description\": \"Example description\",\n \"docs_url\": \"https://docs.epilot.io/docs/pricing/entities\",\n \"category\": \"customer_relations\",\n \"published\": false,\n \"draft\": false,\n \"icon\": \"person\",\n \"title_template\": \"{{first_name}} {{last_name}}\",\n \"ui_config\": {},\n \"capabilities\": [],\n \"group_settings\": [],\n \"layout_settings\": {},\n \"dialog_config\": {},\n \"attributes\": [],\n \"_purpose\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"explicit_search_mappings\": {},\n \"group_headlines\": []\n }\n ]\n}\n```\n\n
\n\n---\n\n### `listSchemasV2`\n\nGet the latest versions of all schemas.\nReturns summary schemas by default (only summary attributes, no capabilities).\nUse ?full=true for complete schemas.\n\n`GET /v2/entity/schemas`\n\n```ts\nconst { data } = await client.listSchemasV2({\n full: true,\n unpublished: true,\n latest: true,\n exclude: ['...'],\n include: ['...'],\n})\n```\n\n
\nResponse\n\n```json\n{\n \"results\": [\n {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"comment\": \"string\",\n \"source\": {},\n \"frozen\": true,\n \"latest\": true,\n \"_summary\": true,\n \"slug\": \"contact\",\n \"version\": 1,\n \"blueprint\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"enable_setting\": [\"360_features\"],\n \"name\": \"Contact\",\n \"plural\": \"Contacts\",\n \"description\": \"Example description\",\n \"docs_url\": \"https://docs.epilot.io/docs/pricing/entities\",\n \"category\": \"customer_relations\",\n \"published\": false,\n \"draft\": false,\n \"icon\": \"person\",\n \"title_template\": \"{{first_name}} {{last_name}}\",\n \"ui_config\": {},\n \"capabilities\": [],\n \"group_settings\": [],\n \"layout_settings\": {},\n \"dialog_config\": {},\n \"attributes\": [],\n \"_purpose\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"explicit_search_mappings\": {},\n \"group_headlines\": []\n }\n ]\n}\n```\n\n
\n\n---\n\n### `getSchema`\n\nBy default gets the current version of the Schema (frozen version if frozen, otherwise latest).\nPass ?latest=true to get the latest version when the schema is frozen.\nPass ?id= to get a specific versi\n\n`GET /v1/entity/schemas/{slug}`\n\n```ts\nconst { data } = await client.getSchema({\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n latest: true,\n})\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"comment\": \"string\",\n \"source\": {\n \"id\": \"string\",\n \"type\": \"string\"\n },\n \"frozen\": true,\n \"latest\": true,\n \"_summary\": true,\n \"slug\": \"contact\",\n \"version\": 1,\n \"blueprint\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"enable_setting\": [\"360_features\"],\n \"name\": \"Contact\",\n \"plural\": \"Contacts\",\n \"description\": \"Example description\",\n \"docs_url\": \"https://docs.epilot.io/docs/pricing/entities\",\n \"category\": \"customer_relations\",\n \"published\": false,\n \"draft\": false,\n \"icon\": \"person\",\n \"title_template\": \"{{first_name}} {{last_name}}\",\n \"ui_config\": {\n \"table_view\": {\n \"view_type\": \"default\",\n \"row_actions\": [\"string\"],\n \"bulk_actions\": [\"string\"],\n \"navbar_actions\": [],\n \"enable_thumbnails\": false\n },\n \"create_view\": {\n \"view_type\": \"default\",\n \"search_params\": {}\n },\n \"edit_view\": {\n \"view_type\": \"default\",\n \"search_params\": {},\n \"summary_attributes\": [\"email\"]\n },\n \"single_view\": {\n \"view_type\": \"default\",\n \"search_params\": {},\n \"summary_attributes\": [\"email\"]\n },\n \"list_item\": {\n \"summary_attributes\": [],\n \"quick_actions\": [],\n \"ui_config\": {}\n },\n \"sharing\": {\n \"show_sharing_button\": true\n }\n },\n \"capabilities\": [\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"customer_messaging\",\n \"title\": \"Messaging\",\n \"attributes\": [],\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"app_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"ui_config\": {},\n \"ui_hooks\": [],\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [],\n \"schemas\": []\n }\n ],\n \"group_settings\": [\n {\n \"id\": \"e18a532b-ae79-4d86-a6a5-e5dbfb579d14\",\n \"label\": \"Contact Details\",\n \"expanded\": true,\n \"order\": 1\n },\n {\n \"id\": \"e9a1ae28-27ba-4fa0-a79c-e279cc5c4a6e\",\n \"label\": \"Address Details\",\n \"expanded\": false,\n \"order\": 2,\n \"info_tooltip_title\": {}\n }\n ],\n \"layout_settings\": {\n \"grid_gap\": \"string\",\n \"grid_template_columns\": \"string\"\n },\n \"dialog_config\": {},\n \"attributes\": [\n {\n \"name\": \"email\",\n \"type\": \"email\",\n \"label\": \"Email\",\n \"required\": true\n },\n {\n \"name\": \"first_name\",\n \"type\": \"string\",\n \"label\": \"First Name\"\n }\n ],\n \"_purpose\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"explicit_search_mappings\": {\n \"image\": {\n \"type\": \"keyword\",\n \"index\": false\n }\n },\n \"group_headlines\": [\n {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"layout\": \"string\",\n \"group\": \"string\",\n \"order\": 0,\n \"type\": \"headline\",\n \"enable_divider\": false,\n \"divider\": \"top_divider\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ]\n}\n```\n\n
\n\n---\n\n### `putSchema`\n\nCreate or update a schema with a new version.\nWhen the schema is frozen, writes update the latest version without affecting the frozen version.\n\n`PUT /v1/entity/schemas/{slug}`\n\n```ts\nconst { data } = await client.putSchema(\n {\n slug: 'example',\n draft: true,\n },\n {\n slug: 'contact',\n version: 1,\n blueprint: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n feature_flag: 'FF_MY_FEATURE_FLAG',\n enable_setting: ['360_features'],\n name: 'Contact',\n plural: 'Contacts',\n description: 'Example description',\n docs_url: 'https://docs.epilot.io/docs/pricing/entities',\n category: 'customer_relations',\n published: false,\n draft: false,\n icon: 'person',\n title_template: '{{first_name}} {{last_name}}',\n ui_config: {\n table_view: {\n view_type: 'default',\n row_actions: ['string'],\n bulk_actions: ['string'],\n navbar_actions: [ /* ... */ ],\n enable_thumbnails: false\n },\n create_view: {\n view_type: 'default',\n search_params: {}\n },\n edit_view: {\n view_type: 'default',\n search_params: {},\n summary_attributes: ['email']\n },\n single_view: {\n view_type: 'default',\n search_params: {},\n summary_attributes: ['email']\n },\n list_item: {\n summary_attributes: [ /* ... */ ],\n quick_actions: [ /* ... */ ],\n ui_config: { /* ... */ }\n },\n sharing: {\n show_sharing_button: true\n }\n },\n capabilities: [\n {\n id: 'd5839b94-ba20-4225-a78e-76951d352bd6',\n name: 'customer_messaging',\n title: 'Messaging',\n attributes: [ /* ... */ ],\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n app_id: '123e4567-e89b-12d3-a456-426614174000',\n ui_config: { /* ... */ },\n ui_hooks: [ /* ... */ ],\n feature_flag: 'FF_MY_FEATURE_FLAG',\n settings_flag: [ /* ... */ ],\n schemas: [ /* ... */ ]\n }\n ],\n group_settings: [\n {\n id: 'e18a532b-ae79-4d86-a6a5-e5dbfb579d14',\n label: 'Contact Details',\n expanded: true,\n order: 1\n },\n {\n id: 'e9a1ae28-27ba-4fa0-a79c-e279cc5c4a6e',\n label: 'Address Details',\n expanded: false,\n order: 2,\n info_tooltip_title: { /* ... */ }\n }\n ],\n layout_settings: {\n grid_gap: 'string',\n grid_template_columns: 'string'\n },\n dialog_config: {},\n attributes: [\n {\n name: 'email',\n type: 'email',\n label: 'Email',\n required: true\n },\n {\n name: 'first_name',\n type: 'string',\n label: 'First Name'\n },\n /* ... 5 more */\n ],\n _purpose: ['string'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n explicit_search_mappings: {\n image: {\n type: 'keyword',\n index: false\n }\n },\n group_headlines: [\n {\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n name: 'string',\n label: 'string',\n layout: 'string',\n group: 'string',\n order: 0,\n type: 'headline',\n enable_divider: false,\n divider: 'top_divider',\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000']\n }\n ]\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"comment\": \"string\",\n \"source\": {\n \"id\": \"string\",\n \"type\": \"string\"\n },\n \"frozen\": true,\n \"latest\": true,\n \"_summary\": true,\n \"slug\": \"contact\",\n \"version\": 1,\n \"blueprint\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"enable_setting\": [\"360_features\"],\n \"name\": \"Contact\",\n \"plural\": \"Contacts\",\n \"description\": \"Example description\",\n \"docs_url\": \"https://docs.epilot.io/docs/pricing/entities\",\n \"category\": \"customer_relations\",\n \"published\": false,\n \"draft\": false,\n \"icon\": \"person\",\n \"title_template\": \"{{first_name}} {{last_name}}\",\n \"ui_config\": {\n \"table_view\": {\n \"view_type\": \"default\",\n \"row_actions\": [\"string\"],\n \"bulk_actions\": [\"string\"],\n \"navbar_actions\": [],\n \"enable_thumbnails\": false\n },\n \"create_view\": {\n \"view_type\": \"default\",\n \"search_params\": {}\n },\n \"edit_view\": {\n \"view_type\": \"default\",\n \"search_params\": {},\n \"summary_attributes\": [\"email\"]\n },\n \"single_view\": {\n \"view_type\": \"default\",\n \"search_params\": {},\n \"summary_attributes\": [\"email\"]\n },\n \"list_item\": {\n \"summary_attributes\": [],\n \"quick_actions\": [],\n \"ui_config\": {}\n },\n \"sharing\": {\n \"show_sharing_button\": true\n }\n },\n \"capabilities\": [\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"customer_messaging\",\n \"title\": \"Messaging\",\n \"attributes\": [],\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"app_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"ui_config\": {},\n \"ui_hooks\": [],\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [],\n \"schemas\": []\n }\n ],\n \"group_settings\": [\n {\n \"id\": \"e18a532b-ae79-4d86-a6a5-e5dbfb579d14\",\n \"label\": \"Contact Details\",\n \"expanded\": true,\n \"order\": 1\n },\n {\n \"id\": \"e9a1ae28-27ba-4fa0-a79c-e279cc5c4a6e\",\n \"label\": \"Address Details\",\n \"expanded\": false,\n \"order\": 2,\n \"info_tooltip_title\": {}\n }\n ],\n \"layout_settings\": {\n \"grid_gap\": \"string\",\n \"grid_template_columns\": \"string\"\n },\n \"dialog_config\": {},\n \"attributes\": [\n {\n \"name\": \"email\",\n \"type\": \"email\",\n \"label\": \"Email\",\n \"required\": true\n },\n {\n \"name\": \"first_name\",\n \"type\": \"string\",\n \"label\": \"First Name\"\n }\n ],\n \"_purpose\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"explicit_search_mappings\": {\n \"image\": {\n \"type\": \"keyword\",\n \"index\": false\n }\n },\n \"group_headlines\": [\n {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"layout\": \"string\",\n \"group\": \"string\",\n \"order\": 0,\n \"type\": \"headline\",\n \"enable_divider\": false,\n \"divider\": \"top_divider\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ]\n}\n```\n\n
\n\n---\n\n### `deleteSchema`\n\nDelete a schema, or a specific version of a schema\n\n`DELETE /v1/entity/schemas/{slug}`\n\n```ts\nconst { data } = await client.deleteSchema({\n slug: 'example',\n})\n```\n\n---\n\n### `getJsonSchema`\n\nGet formal JSON schema definition draft 2020-12 for the given epilot schema\n\n`GET /v1/entity/schemas/{slug}/json/schema`\n\n```ts\nconst { data } = await client.getJsonSchema({\n slug: 'example',\n dereference: true,\n})\n```\n\n
\nResponse\n\n```json\n{\n \"$schema\": \"http://json-schema.org/draft/2020-12/schema\",\n \"type\": \"object\",\n \"properties\": {\n \"_id\": {\n \"type\": \"string\",\n \"format\": \"uuid\",\n \"example\": \"123e4567-e89b-12d3-a456-426614174000\"\n },\n \"_org\": {\n \"type\": \"string\",\n \"description\": \"Organization Id the entity belongs to\",\n \"readOnly\": true\n },\n \"_owners\": {\n \"type\": \"array\",\n \"readOnly\": true,\n \"items\": {}\n },\n \"_schema\": {\n \"readOnly\": true,\n \"type\": \"string\"\n },\n \"_title\": {\n \"readOnly\": true,\n \"type\": \"string\"\n },\n \"_tags\": {\n \"type\": \"array\",\n \"nullable\": true,\n \"items\": {}\n },\n \"_manifest\": {\n \"type\": \"array\",\n \"description\": \"Manifest ID used to create/update the entity\",\n \"items\": {}\n },\n \"_created_at\": {\n \"readOnly\": true,\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"_updated_at\": {\n \"readOnly\": true,\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"_acl\": {\n \"readOnly\": true,\n \"type\": \"object\",\n \"description\": \"Access control list (ACL) for an entity. Defines sharing access to external orgs or users.\",\n \"additionalProperties\": true,\n \"properties\": {}\n },\n \"title\": {\n \"type\": \"string\",\n \"nullable\": true,\n \"enum\": [\"Dr.\", \"Prof.\", \"Prof. Dr.\", null]\n },\n \"salutation\": {\n \"type\": \"string\",\n \"nullable\": true,\n \"enum\": [\"Mr.\", \"Ms. / Mrs.\", \"Company\", \"Contact Person\", \"Company/Contact Person\", \"Spouse\", \"Family\", \"Ownership\", \"Assembly\", \"Other\", null]\n },\n \"first_name\": {\n \"type\": \"string\"\n },\n \"last_name\": {\n \"type\": \"string\"\n },\n \"customer_number\": {\n \"type\": \"string\",\n \"nullable\": true\n },\n \"birthdate\": {\n \"type\": \"string\",\n \"format\": \"date\",\n \"nullable\": true\n },\n \"account\": {\n \"type\": \"object\",\n \"nullable\": true,\n \"properties\": {},\n \"additionalProperties\": true\n },\n \"address\": {\n \"type\": \"array\",\n \"nullable\": true,\n \"description\": \"Addresses as a list of object, the element with index 0 is treated as the primary one.\\n\",\n \"items\": {}\n },\n \"email\": {\n \"type\": \"array\",\n \"nullable\": true,\n \"description\": \"Email addresses as a list of object, the element with index 0 is treated as the primary one.\\n\",\n \"items\": {}\n },\n \"phone\": {\n \"type\": \"array\",\n \"description\": \"Phone numbers as a list of object, the element with index 0 is treated as the primary one.\\n\",\n \"items\": {}\n }\n },\n \"required\": [\"first_name\", \"last_name\", \"_id\", \"_org\", \"_owners\", \"_schema\", \"_title\", \"_tags\", \"_created_at\", \"_updated_at\", \"_acl\"]\n}\n```\n\n
\n\n---\n\n### `getSchemaExample`\n\nGet a full example entity for the given schema\n\n`GET /v1/entity/schemas/{slug}/json/example`\n\n```ts\nconst { data } = await client.getSchemaExample({\n slug: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{}\n```\n\n
\n\n---\n\n### `getSchemaVersions`\n\nGet all versions of this schema ordered by the latest versions including drafts.\n\n`GET /v1/entity/schemas/{slug}/versions`\n\n```ts\nconst { data } = await client.getSchemaVersions({\n slug: 'example',\n versions_from: 1,\n versions_size: 1,\n drafts_from: 1,\n drafts_size: 1,\n fields: ['...'],\n})\n```\n\n
\nResponse\n\n```json\n{\n \"versions\": [\n {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"comment\": \"string\",\n \"source\": {},\n \"frozen\": true,\n \"latest\": true,\n \"_summary\": true,\n \"slug\": \"contact\",\n \"version\": 1,\n \"blueprint\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"enable_setting\": [\"360_features\"],\n \"name\": \"Contact\",\n \"plural\": \"Contacts\",\n \"description\": \"Example description\",\n \"docs_url\": \"https://docs.epilot.io/docs/pricing/entities\",\n \"category\": \"customer_relations\",\n \"published\": false,\n \"draft\": false,\n \"icon\": \"person\",\n \"title_template\": \"{{first_name}} {{last_name}}\",\n \"ui_config\": {},\n \"capabilities\": [],\n \"group_settings\": [],\n \"layout_settings\": {},\n \"dialog_config\": {},\n \"attributes\": [],\n \"_purpose\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"explicit_search_mappings\": {},\n \"group_headlines\": []\n }\n ],\n \"drafts\": [\n {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"comment\": \"string\",\n \"source\": {},\n \"frozen\": true,\n \"latest\": true,\n \"_summary\": true,\n \"slug\": \"contact\",\n \"version\": 1,\n \"blueprint\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"enable_setting\": [\"360_features\"],\n \"name\": \"Contact\",\n \"plural\": \"Contacts\",\n \"description\": \"Example description\",\n \"docs_url\": \"https://docs.epilot.io/docs/pricing/entities\",\n \"category\": \"customer_relations\",\n \"published\": false,\n \"draft\": false,\n \"icon\": \"person\",\n \"title_template\": \"{{first_name}} {{last_name}}\",\n \"ui_config\": {},\n \"capabilities\": [],\n \"group_settings\": [],\n \"layout_settings\": {},\n \"dialog_config\": {},\n \"attributes\": [],\n \"_purpose\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"explicit_search_mappings\": {},\n \"group_headlines\": []\n }\n ],\n \"versions_more\": true,\n \"drafts_more\": true,\n \"frozen_version\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\"\n}\n```\n\n
\n\n---\n\n### `freezeSchema`\n\nFreeze a schema at its current version, or at a specific version.\nWhen frozen, getSchema returns the frozen version by default.\nNew edits via putSchema update the latest version without affecting the \n\n`POST /v1/entity/schemas/{slug}/freeze`\n\n```ts\nconst { data } = await client.freezeSchema(\n {\n slug: 'example',\n },\n {\n version_id: '3fa85f64-5717-4562-b3fc-2c963f66afa6'\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"comment\": \"string\",\n \"source\": {\n \"id\": \"string\",\n \"type\": \"string\"\n },\n \"frozen\": true,\n \"latest\": true,\n \"_summary\": true,\n \"slug\": \"contact\",\n \"version\": 1,\n \"blueprint\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"enable_setting\": [\"360_features\"],\n \"name\": \"Contact\",\n \"plural\": \"Contacts\",\n \"description\": \"Example description\",\n \"docs_url\": \"https://docs.epilot.io/docs/pricing/entities\",\n \"category\": \"customer_relations\",\n \"published\": false,\n \"draft\": false,\n \"icon\": \"person\",\n \"title_template\": \"{{first_name}} {{last_name}}\",\n \"ui_config\": {\n \"table_view\": {\n \"view_type\": \"default\",\n \"row_actions\": [\"string\"],\n \"bulk_actions\": [\"string\"],\n \"navbar_actions\": [],\n \"enable_thumbnails\": false\n },\n \"create_view\": {\n \"view_type\": \"default\",\n \"search_params\": {}\n },\n \"edit_view\": {\n \"view_type\": \"default\",\n \"search_params\": {},\n \"summary_attributes\": [\"email\"]\n },\n \"single_view\": {\n \"view_type\": \"default\",\n \"search_params\": {},\n \"summary_attributes\": [\"email\"]\n },\n \"list_item\": {\n \"summary_attributes\": [],\n \"quick_actions\": [],\n \"ui_config\": {}\n },\n \"sharing\": {\n \"show_sharing_button\": true\n }\n },\n \"capabilities\": [\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"customer_messaging\",\n \"title\": \"Messaging\",\n \"attributes\": [],\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"app_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"ui_config\": {},\n \"ui_hooks\": [],\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [],\n \"schemas\": []\n }\n ],\n \"group_settings\": [\n {\n \"id\": \"e18a532b-ae79-4d86-a6a5-e5dbfb579d14\",\n \"label\": \"Contact Details\",\n \"expanded\": true,\n \"order\": 1\n },\n {\n \"id\": \"e9a1ae28-27ba-4fa0-a79c-e279cc5c4a6e\",\n \"label\": \"Address Details\",\n \"expanded\": false,\n \"order\": 2,\n \"info_tooltip_title\": {}\n }\n ],\n \"layout_settings\": {\n \"grid_gap\": \"string\",\n \"grid_template_columns\": \"string\"\n },\n \"dialog_config\": {},\n \"attributes\": [\n {\n \"name\": \"email\",\n \"type\": \"email\",\n \"label\": \"Email\",\n \"required\": true\n },\n {\n \"name\": \"first_name\",\n \"type\": \"string\",\n \"label\": \"First Name\"\n }\n ],\n \"_purpose\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"explicit_search_mappings\": {\n \"image\": {\n \"type\": \"keyword\",\n \"index\": false\n }\n },\n \"group_headlines\": [\n {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"layout\": \"string\",\n \"group\": \"string\",\n \"order\": 0,\n \"type\": \"headline\",\n \"enable_divider\": false,\n \"divider\": \"top_divider\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ]\n}\n```\n\n
\n\n---\n\n### `unfreezeSchema`\n\nUnfreeze a schema. Promotes the latest version to the current version for all users.\n\n`POST /v1/entity/schemas/{slug}/unfreeze`\n\n```ts\nconst { data } = await client.unfreezeSchema({\n slug: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"comment\": \"string\",\n \"source\": {\n \"id\": \"string\",\n \"type\": \"string\"\n },\n \"frozen\": true,\n \"latest\": true,\n \"_summary\": true,\n \"slug\": \"contact\",\n \"version\": 1,\n \"blueprint\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"enable_setting\": [\"360_features\"],\n \"name\": \"Contact\",\n \"plural\": \"Contacts\",\n \"description\": \"Example description\",\n \"docs_url\": \"https://docs.epilot.io/docs/pricing/entities\",\n \"category\": \"customer_relations\",\n \"published\": false,\n \"draft\": false,\n \"icon\": \"person\",\n \"title_template\": \"{{first_name}} {{last_name}}\",\n \"ui_config\": {\n \"table_view\": {\n \"view_type\": \"default\",\n \"row_actions\": [\"string\"],\n \"bulk_actions\": [\"string\"],\n \"navbar_actions\": [],\n \"enable_thumbnails\": false\n },\n \"create_view\": {\n \"view_type\": \"default\",\n \"search_params\": {}\n },\n \"edit_view\": {\n \"view_type\": \"default\",\n \"search_params\": {},\n \"summary_attributes\": [\"email\"]\n },\n \"single_view\": {\n \"view_type\": \"default\",\n \"search_params\": {},\n \"summary_attributes\": [\"email\"]\n },\n \"list_item\": {\n \"summary_attributes\": [],\n \"quick_actions\": [],\n \"ui_config\": {}\n },\n \"sharing\": {\n \"show_sharing_button\": true\n }\n },\n \"capabilities\": [\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"customer_messaging\",\n \"title\": \"Messaging\",\n \"attributes\": [],\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"app_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"ui_config\": {},\n \"ui_hooks\": [],\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [],\n \"schemas\": []\n }\n ],\n \"group_settings\": [\n {\n \"id\": \"e18a532b-ae79-4d86-a6a5-e5dbfb579d14\",\n \"label\": \"Contact Details\",\n \"expanded\": true,\n \"order\": 1\n },\n {\n \"id\": \"e9a1ae28-27ba-4fa0-a79c-e279cc5c4a6e\",\n \"label\": \"Address Details\",\n \"expanded\": false,\n \"order\": 2,\n \"info_tooltip_title\": {}\n }\n ],\n \"layout_settings\": {\n \"grid_gap\": \"string\",\n \"grid_template_columns\": \"string\"\n },\n \"dialog_config\": {},\n \"attributes\": [\n {\n \"name\": \"email\",\n \"type\": \"email\",\n \"label\": \"Email\",\n \"required\": true\n },\n {\n \"name\": \"first_name\",\n \"type\": \"string\",\n \"label\": \"First Name\"\n }\n ],\n \"_purpose\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"explicit_search_mappings\": {\n \"image\": {\n \"type\": \"keyword\",\n \"index\": false\n }\n },\n \"group_headlines\": [\n {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"layout\": \"string\",\n \"group\": \"string\",\n \"order\": 0,\n \"type\": \"headline\",\n \"enable_divider\": false,\n \"divider\": \"top_divider\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ]\n}\n```\n\n
\n\n---\n\n### `listAvailableCapabilities`\n\nList available capabilities for schema\n\n`GET /v1/entity/schemas/{slug}/capabilities/available`\n\n```ts\nconst { data } = await client.listAvailableCapabilities({\n slug: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"results\": [\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"customer_messaging\",\n \"title\": \"Messaging\",\n \"attributes\": [],\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"app_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"ui_config\": {},\n \"ui_hooks\": [],\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [],\n \"schemas\": []\n }\n ]\n}\n```\n\n
\n\n---\n\n### `listSchemaBlueprints`\n\nList canonical versions of all available schemas\n\n`GET /v1/entity/schemas/blueprints`\n\n```ts\nconst { data } = await client.listSchemaBlueprints()\n```\n\n
\nResponse\n\n```json\n{\n \"results\": [\n {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"comment\": \"string\",\n \"source\": {},\n \"frozen\": true,\n \"latest\": true,\n \"_summary\": true,\n \"slug\": \"contact\",\n \"version\": 1,\n \"blueprint\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"enable_setting\": [\"360_features\"],\n \"name\": \"Contact\",\n \"plural\": \"Contacts\",\n \"description\": \"Example description\",\n \"docs_url\": \"https://docs.epilot.io/docs/pricing/entities\",\n \"category\": \"customer_relations\",\n \"published\": false,\n \"draft\": false,\n \"icon\": \"person\",\n \"title_template\": \"{{first_name}} {{last_name}}\",\n \"ui_config\": {},\n \"capabilities\": [],\n \"group_settings\": [],\n \"layout_settings\": {},\n \"dialog_config\": {},\n \"attributes\": [],\n \"_purpose\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"explicit_search_mappings\": {},\n \"group_headlines\": []\n }\n ]\n}\n```\n\n
\n\n---\n\n### `searchEntities`\n\nSearch for entities. Supports ordering and pagination. [Lucene query syntax](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html#query-string-syntax) supp\n\n`POST /v1/entity:search`\n\n```ts\nconst { data } = await client.searchEntities(\n null,\n {\n q: '_schema:contact AND status:active',\n include_scores: false,\n sort: 'string',\n from: 0,\n size: 10,\n hydrate: false,\n fields: ['_id', '_title', 'first_name', 'account', '!account.*._files', '**._product'],\n aggs: {\n 'contact-count-per-tag': {\n terms: {\n field: '_tags.keyword'\n }\n }\n },\n include_deleted: 'false',\n highlight: {},\n stable_for: 0,\n stable_query_id: 'string',\n search_after: ['string']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"hits\": 1,\n \"results\": [\n {\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ],\n \"aggregations\": {\n \"contact-count-per-tag\": {\n \"doc_count_error_upper_bound\": 0,\n \"sum_other_doc_count\": 23,\n \"buckets\": [\n {\n \"key\": \"automation\",\n \"doc_count\": 108\n },\n {\n \"key\": \"primary\",\n \"doc_count\": 66\n }\n ]\n }\n },\n \"stable_query_id\": \"string\",\n \"sort_end\": [1747905443332, \"0.000023312468\"]\n}\n```\n\n
\n\n---\n\n### `listEntities`\n\nList entities that meet the specified conditions.\n\n`POST /v1/entity:list`\n\n```ts\nconst { data } = await client.listEntities(\n null,\n {\n query: {\n query_string: {\n query: 'status:active',\n fields: ['_title', '_tags', 'status'],\n default_operator: 'OR',\n lenient: true\n }\n },\n filter: [\n {\n term: {\n _schema: 'contact'\n }\n },\n {\n terms: {\n status: ['active']\n }\n }\n ],\n allow_targeting_all_schemas: false,\n sort: 'string',\n from: 0,\n size: 10,\n hydrate: false,\n fields: ['_id', '_title', 'first_name', 'account', '!account.*._files', '**._product'],\n aggs: {\n 'contact-count-per-tag': {\n terms: {\n field: '_tags.keyword'\n }\n }\n },\n include_deleted: 'false',\n include_scores: false,\n highlight: {},\n stable_for: 0,\n stable_query_id: 'string',\n search_after: ['string']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"hits\": 1,\n \"results\": [\n {\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ],\n \"aggregations\": {\n \"contact-count-per-tag\": {\n \"doc_count_error_upper_bound\": 0,\n \"sum_other_doc_count\": 23,\n \"buckets\": [\n {\n \"key\": \"automation\",\n \"doc_count\": 108\n },\n {\n \"key\": \"primary\",\n \"doc_count\": 66\n }\n ]\n }\n },\n \"stable_query_id\": \"string\",\n \"sort_end\": [1747905443332, \"0.000023312468\"]\n}\n```\n\n
\n\n---\n\n### `queryEntityGraph`\n\nTraverse an entity relationship graph starting from a seed entity.\n\n`POST /v1/entity:graph`\n\n```ts\nconst { data } = await client.queryEntityGraph(\n null,\n {\n seed: {\n entity_id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n node_id: 'contact'\n },\n graph: {\n nodes: [\n {\n id: 'portal_user',\n schema: 'portal_user',\n cardinality: 'one'\n },\n {\n id: 'contact',\n schema: 'contact',\n cardinality: 'one'\n },\n /* ... 1 more */\n ],\n edges: [\n {\n from: 'portal_user',\n to: 'contact'\n },\n {\n from: 'contact',\n to: 'billing_accounts'\n }\n ]\n },\n hydrate: false,\n apply_changesets: false\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"nodes\": {\n \"portal_user\": [\"550e8400-e29b-41d4-a716-446655440001\"],\n \"contact\": [\"550e8400-e29b-41d4-a716-446655440002\"],\n \"billing_accounts\": [\"550e8400-e29b-41d4-a716-446655440003\", \"550e8400-e29b-41d4-a716-446655440004\"]\n },\n \"entityNodes\": {\n \"portal_user\": {\n \"_id\": \"550e8400-e29b-41d4-a716-446655440001\",\n \"_schema\": \"portal_user\"\n },\n \"contact\": {\n \"_id\": \"550e8400-e29b-41d4-a716-446655440002\",\n \"_schema\": \"contact\"\n },\n \"billing_accounts\": [\n {\n \"_id\": \"550e8400-e29b-41d4-a716-446655440003\",\n \"_schema\": \"billing_account\"\n },\n {\n \"_id\": \"550e8400-e29b-41d4-a716-446655440004\",\n \"_schema\": \"billing_account\"\n }\n ]\n },\n \"edges\": [\n {\n \"from\": \"portal_user\",\n \"to\": \"contact\"\n },\n {\n \"from\": \"contact\",\n \"to\": \"billing_accounts\"\n }\n ]\n}\n```\n\n
\n\n---\n\n### `createEntity`\n\nCreates a new entity using a key.\n\n`POST /v1/entity/{slug}`\n\n```ts\nconst { data } = await client.createEntity(\n {\n slug: 'example',\n activity_id: 'example',\n fill_activity: true,\n async: true,\n validate: true,\n },\n {\n _id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n _org: '123',\n _owners: [\n {\n org_id: '123',\n user_id: '123'\n }\n ],\n _schema: 'contact',\n _tags: ['example', 'mock'],\n _created_at: '2021-02-09T12:41:43.662Z',\n _updated_at: '2021-02-09T12:41:43.662Z',\n _acl: {\n view: ['org:456', 'org:789'],\n edit: ['org:456'],\n delete: ['org:456']\n },\n _manifest: ['123e4567-e89b-12d3-a456-426614174000']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n}\n```\n\n
\n\n---\n\n### `validateEntity`\n\nValidates an entity against the schema.\n\n`POST /v1/entity/{slug}:validate`\n\n```ts\nconst { data } = await client.validateEntity(\n {\n slug: 'example',\n },\n {\n _id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n _org: '123',\n _owners: [\n {\n org_id: '123',\n user_id: '123'\n }\n ],\n _schema: 'contact',\n _tags: ['example', 'mock'],\n _created_at: '2021-02-09T12:41:43.662Z',\n _updated_at: '2021-02-09T12:41:43.662Z',\n _acl: {\n view: ['org:456', 'org:789'],\n edit: ['org:456'],\n delete: ['org:456']\n },\n _manifest: ['123e4567-e89b-12d3-a456-426614174000']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"status\": \"success\",\n \"errors\": [\n {\n \"code\": \"custom\",\n \"params\": {\n \"type\": \"missing_field\"\n },\n \"path\": [\"first_name\"],\n \"message\": \"Invalid input\"\n }\n ]\n}\n```\n\n
\n\n---\n\n### `validateEntityV2`\n\nValidates an entity against the schema.\n\n`POST /v2/entity/{slug}:validate`\n\n```ts\nconst { data } = await client.validateEntityV2(\n {\n slug: 'example',\n },\n {\n _id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n _org: '123',\n _owners: [\n {\n org_id: '123',\n user_id: '123'\n }\n ],\n _schema: 'contact',\n _tags: ['example', 'mock'],\n _created_at: '2021-02-09T12:41:43.662Z',\n _updated_at: '2021-02-09T12:41:43.662Z',\n _acl: {\n view: ['org:456', 'org:789'],\n edit: ['org:456'],\n delete: ['org:456']\n },\n _manifest: ['123e4567-e89b-12d3-a456-426614174000']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"status\": \"success\",\n \"errors\": [\n {\n \"keyword\": \"string\",\n \"instance_path\": \"string\",\n \"schema_path\": \"string\",\n \"params\": {},\n \"property_name\": \"string\",\n \"message\": \"string\",\n \"schema\": {},\n \"parent_schema\": {},\n \"data\": {}\n }\n ]\n}\n```\n\n
\n\n---\n\n### `upsertEntity`\n\nCreate or update an entity using `unique_key`\n\n`PATCH /v1/entity/{slug}:upsert`\n\n```ts\nconst { data } = await client.upsertEntity(\n {\n slug: 'example',\n activity_id: 'example',\n fill_activity: true,\n dry_run: true,\n async: true,\n validate: true,\n strict: true,\n },\n {\n unique_key: ['_id'],\n entity: {\n _id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n _org: '123',\n _owners: [\n {\n org_id: '123',\n user_id: '123'\n }\n ],\n _schema: 'contact',\n _tags: ['example', 'mock'],\n _created_at: '2021-02-09T12:41:43.662Z',\n _updated_at: '2021-02-09T12:41:43.662Z',\n _acl: {\n view: ['org:456', 'org:789'],\n edit: ['org:456'],\n delete: ['org:456']\n },\n _manifest: ['123e4567-e89b-12d3-a456-426614174000']\n }\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n}\n```\n\n
\n\n---\n\n### `getEntityV2`\n\nGets Entity by id.\n\n`GET /v2/entity/{slug}/{id}`\n\n```ts\nconst { data } = await client.getEntityV2({\n id: '123e4567-e89b-12d3-a456-426614174000',\n slug: 'example',\n hydrate: true,\n fields: ['...'],\n apply_changesets: true,\n})\n```\n\n
\nResponse\n\n```json\n{\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n}\n```\n\n
\n\n---\n\n### `restoreEntity`\n\nRestores an entity by id\n\n`PATCH /v1/entity/{slug}/{id}:restore`\n\n```ts\nconst { data } = await client.restoreEntity(\n {\n id: '123e4567-e89b-12d3-a456-426614174000',\n slug: 'example',\n activity_id: 'example',\n },\n {},\n)\n```\n\n
\nResponse\n\n```json\n{\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n}\n```\n\n
\n\n---\n\n### `reindexEntity`\n\nTriggers a reindex for the Entity for search.\n\n`POST /v1/entity/{slug}/{id}:reindex`\n\n```ts\nconst { data } = await client.reindexEntity(\n {\n id: '123e4567-e89b-12d3-a456-426614174000',\n slug: 'example',\n },\n {},\n)\n```\n\n
\nResponse\n\n```json\n{\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n}\n```\n\n
\n\n---\n\n### `getEntity`\n\nGets Entity and relations by id.\n\n`GET /v1/entity/{slug}/{id}`\n\n```ts\nconst { data } = await client.getEntity({\n id: '123e4567-e89b-12d3-a456-426614174000',\n slug: 'example',\n hydrate: true,\n})\n```\n\n
\nResponse\n\n```json\n{\n \"entity\": {\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n },\n \"relations\": [\n {\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ]\n}\n```\n\n
\n\n---\n\n### `updateEntity`\n\nUpdates an Entity\n\n`PUT /v1/entity/{slug}/{id}`\n\n```ts\nconst { data } = await client.updateEntity(\n {\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n activity_id: 'example',\n fill_activity: true,\n async: true,\n validate: true,\n direct: true,\n },\n {\n _id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n _org: '123',\n _owners: [\n {\n org_id: '123',\n user_id: '123'\n }\n ],\n _schema: 'contact',\n _tags: ['example', 'mock'],\n _created_at: '2021-02-09T12:41:43.662Z',\n _updated_at: '2021-02-09T12:41:43.662Z',\n _acl: {\n view: ['org:456', 'org:789'],\n edit: ['org:456'],\n delete: ['org:456']\n },\n _manifest: ['123e4567-e89b-12d3-a456-426614174000']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n}\n```\n\n
\n\n---\n\n### `patchEntity`\n\nPartially updates an entity with the passed in entity data.\n\n`PATCH /v1/entity/{slug}/{id}`\n\n```ts\nconst { data } = await client.patchEntity(\n {\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n activity_id: 'example',\n fill_activity: true,\n dry_run: true,\n async: true,\n validate: true,\n direct: true,\n },\n {\n _id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n _org: '123',\n _owners: [\n {\n org_id: '123',\n user_id: '123'\n }\n ],\n _schema: 'contact',\n _tags: ['example', 'mock'],\n _created_at: '2021-02-09T12:41:43.662Z',\n _updated_at: '2021-02-09T12:41:43.662Z',\n _acl: {\n view: ['org:456', 'org:789'],\n edit: ['org:456'],\n delete: ['org:456']\n },\n _manifest: ['123e4567-e89b-12d3-a456-426614174000']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n}\n```\n\n
\n\n---\n\n### `deleteEntity`\n\nDeletes an Entity\n\n`DELETE /v1/entity/{slug}/{id}`\n\n```ts\nconst { data } = await client.deleteEntity({\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n activity_id: 'example',\n purge: true,\n})\n```\n\n---\n\n### `autocomplete`\n\nAutocomplete entity attributes\n\n`GET /v1/entity:autocomplete`\n\n```ts\nconst { data } = await client.autocomplete({\n input: 'example',\n attribute: 'example',\n slug: 'example',\n size: 1,\n})\n```\n\n
\nResponse\n\n```json\n{\n \"hits\": 1,\n \"results\": [\"value\"]\n}\n```\n\n
\n\n---\n\n### `wipeAllEntities`\n\nCreates a request to queue the deletion of all entities in the system. This is a destructive operation and should only be used in sandbox environments.\n\n`POST /v1/entity:wipeAllEntities`\n\n```ts\nconst { data } = await client.wipeAllEntities(\n null,\n {\n schemas: ['contact']\n },\n)\n```\n\n---\n\n### `createActivity`\n\nCreate an activity that can be displayed in activity feeds.\n\n`POST /v1/entity/activity`\n\n```ts\nconst { data } = await client.createActivity(\n {\n entities: ['...'],\n },\n {\n type: 'string',\n title: 'My custom activity',\n message: '{{caller}} did something with {{entity payload.entity.id}}.',\n payload: {\n entity: {\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n schema: 'contact'\n }\n },\n pending: false\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"_id\": \"01F130Q52Q6MWSNS8N2AVXV4JN\",\n \"timestamp\": \"1970-01-01T00:00:00.000Z\",\n \"type\": \"string\",\n \"title\": \"My custom activity\",\n \"message\": \"{{caller}} did something with {{entity payload.entity.id}}.\",\n \"payload\": {\n \"entity\": {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"schema\": \"contact\"\n }\n },\n \"pending\": false,\n \"caller\": {\n \"EpilotAuth\": {\n \"token\": {\n \"sub\": \"476e9b48-42f4-4234-a2b0-4668b34626ce\",\n \"cognito:groups\": [\"Administrator\"],\n \"cognito:preferred_role\": \"arn:aws:iam::912468240823:role/base-administrator-role\",\n \"iss\": \"https://cognito-idp.eu-central-1.amazonaws.com/eu-central-1_6lZSgmU6D\",\n \"custom:ivy_org_id\": \"739224\",\n \"cognito:username\": \"n.ahmad@epilot.cloud\",\n \"custom:ivy_user_id\": \"10006129\",\n \"cognito:roles\": [\"arn:aws:iam::912468240823:role/base-administrator-role\"],\n \"aud\": \"6e0jbdnger7nmoktaaflarue1l\",\n \"event_id\": \"cd5f5583-d90c-4db5-8e99-5f5dd29a4d75\",\n \"token_use\": \"id\",\n \"auth_time\": 1614333023,\n \"exp\": 1614336623,\n \"iat\": 1614333023,\n \"email\": \"n.ahmad@epilot.cloud\"\n }\n }\n }\n}\n```\n\n
\n\n---\n\n### `getActivity`\n\nGet activity by id\n\n`GET /v1/entity/activity/{id}`\n\n```ts\nconst { data } = await client.getActivity({\n id: '123e4567-e89b-12d3-a456-426614174000',\n operations_size: 1,\n operations_from: 1,\n})\n```\n\n
\nResponse\n\n```json\n{\n \"_id\": \"01F130Q52Q6MWSNS8N2AVXV4JN\",\n \"timestamp\": \"1970-01-01T00:00:00.000Z\",\n \"type\": \"string\",\n \"title\": \"My custom activity\",\n \"message\": \"{{caller}} did something with {{entity payload.entity.id}}.\",\n \"payload\": {\n \"entity\": {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"schema\": \"contact\"\n }\n },\n \"pending\": false,\n \"caller\": {\n \"EpilotAuth\": {\n \"token\": {}\n }\n },\n \"operations_total\": 1,\n \"operations\": [\n {\n \"entity\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"org\": \"123\",\n \"activity_id\": \"01F130Q52Q6MWSNS8N2AVXV4JN\",\n \"activity_type\": \"string\",\n \"operation\": \"createEntity\",\n \"params\": {},\n \"payload\": {},\n \"diff\": {},\n \"_workflow_origin\": {}\n }\n ]\n}\n```\n\n
\n\n---\n\n### `attachActivity`\n\nAttach existing activity to entity activity feeds\n\n`POST /v1/entity/activity/{id}:attach`\n\n```ts\nconst { data } = await client.attachActivity({\n id: '123e4567-e89b-12d3-a456-426614174000',\n entities: ['...'],\n})\n```\n\n
\nResponse\n\n```json\n{\n \"_id\": \"01F130Q52Q6MWSNS8N2AVXV4JN\",\n \"timestamp\": \"1970-01-01T00:00:00.000Z\",\n \"type\": \"string\",\n \"title\": \"My custom activity\",\n \"message\": \"{{caller}} did something with {{entity payload.entity.id}}.\",\n \"payload\": {\n \"entity\": {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"schema\": \"contact\"\n }\n },\n \"pending\": false,\n \"caller\": {\n \"EpilotAuth\": {\n \"token\": {\n \"sub\": \"476e9b48-42f4-4234-a2b0-4668b34626ce\",\n \"cognito:groups\": [\"Administrator\"],\n \"cognito:preferred_role\": \"arn:aws:iam::912468240823:role/base-administrator-role\",\n \"iss\": \"https://cognito-idp.eu-central-1.amazonaws.com/eu-central-1_6lZSgmU6D\",\n \"custom:ivy_org_id\": \"739224\",\n \"cognito:username\": \"n.ahmad@epilot.cloud\",\n \"custom:ivy_user_id\": \"10006129\",\n \"cognito:roles\": [\"arn:aws:iam::912468240823:role/base-administrator-role\"],\n \"aud\": \"6e0jbdnger7nmoktaaflarue1l\",\n \"event_id\": \"cd5f5583-d90c-4db5-8e99-5f5dd29a4d75\",\n \"token_use\": \"id\",\n \"auth_time\": 1614333023,\n \"exp\": 1614336623,\n \"iat\": 1614333023,\n \"email\": \"n.ahmad@epilot.cloud\"\n }\n }\n }\n}\n```\n\n
\n\n---\n\n### `applyChangeset`\n\nApplies the proposed value from a pending changeset to the entity attribute\nand removes the changeset. Used for human approval of pending changes.\n\n`POST /v1/entity/{slug}/{id}/changesets/{attribute}:apply`\n\n```ts\nconst { data } = await client.applyChangeset({\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n attribute: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n}\n```\n\n
\n\n---\n\n### `dismissChangeset`\n\nRemoves a pending changeset without applying it. The attribute value remains unchanged.\n\n`POST /v1/entity/{slug}/{id}/changesets/{attribute}:dismiss`\n\n```ts\nconst { data } = await client.dismissChangeset(\n {\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n attribute: 'example',\n },\n {\n reason: 'string'\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n}\n```\n\n
\n\n---\n\n### `listChangesets`\n\nReturns all pending changesets for an entity.\n\n`GET /v1/entity/{slug}/{id}/changesets`\n\n```ts\nconst { data } = await client.listChangesets({\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n})\n```\n\n
\nResponse\n\n```json\n{}\n```\n\n
\n\n---\n\n### `getEntityActivityFeed`\n\nGet activity feed for an entity\n\n`GET /v1/entity/{slug}/{id}/activity`\n\n```ts\nconst { data } = await client.getEntityActivityFeed({\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n after: 'example',\n before: 'example',\n start_date: 'example',\n end_date: 'example',\n preset_range: 'example',\n from: 1,\n size: 1,\n type: ['...'],\n include_relations: true,\n exclude_activity_groups: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"total\": 1,\n \"results\": [\n {\n \"_id\": \"01F130Q52Q6MWSNS8N2AVXV4JN\",\n \"timestamp\": \"1970-01-01T00:00:00.000Z\",\n \"type\": \"string\",\n \"title\": \"My custom activity\",\n \"message\": \"{{caller}} did something with {{entity payload.entity.id}}.\",\n \"payload\": {},\n \"pending\": false,\n \"caller\": {},\n \"operations_total\": 1,\n \"operations\": []\n }\n ]\n}\n```\n\n
\n\n---\n\n### `getRelations`\n\nReturns 1st level direct relations for an entity.\n\n`GET /v1/entity/{slug}/{id}/relations`\n\n```ts\nconst { data } = await client.getRelations({\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n hydrate: true,\n include_reverse: true,\n from: 1,\n size: 1,\n include_schemas: ['...'],\n exclude_schemas: ['...'],\n})\n```\n\n
\nResponse\n\n```json\n[\n {\n \"entity_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"org_id\": \"string\",\n \"_schema\": \"contact\",\n \"attribute\": \"string\",\n \"_tags\": [\"string\"],\n \"reverse\": true\n },\n {\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n]\n```\n\n
\n\n---\n\n### `addRelations`\n\nRelates one or more entities to parent entity by adding items to a relation attribute\n\n`POST /v1/entity/{slug}/{id}/relations`\n\n```ts\nconst { data } = await client.addRelations(\n {\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n async: true,\n activity_id: 'example',\n },\n [\n {\n entity_id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n org_id: 'string',\n _schema: 'contact',\n attribute: 'string',\n _tags: ['string'],\n reverse: true\n }\n ],\n)\n```\n\n
\nResponse\n\n```json\n{\n \"entity_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"org_id\": \"string\",\n \"_schema\": \"contact\",\n \"attribute\": \"string\",\n \"_tags\": [\"string\"],\n \"reverse\": true\n}\n```\n\n
\n\n---\n\n### `removeRelations`\n\nDisassociate one or more entities to parent entity by removing items to a relation attribute\n\n`DELETE /v1/entity/{slug}/{id}/relations`\n\n```ts\nconst { data } = await client.removeRelations(\n {\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n async: true,\n activity_id: 'example',\n },\n [\n {\n entity_id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n org_id: 'string',\n _schema: 'contact',\n attribute: 'string',\n _tags: ['string'],\n reverse: true\n }\n ],\n)\n```\n\n---\n\n### `getRelationsV2`\n\nReturns 1st level direct relations for an entity with pagination.\n\n`GET /v2/entity/{slug}/{id}/relations`\n\n```ts\nconst { data } = await client.getRelationsV2({\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n hydrate: true,\n query: 'example',\n include_reverse: true,\n from: 1,\n size: 1,\n fields: ['...'],\n})\n```\n\n
\nResponse\n\n```json\n{\n \"hits\": 1,\n \"relations\": [\n {\n \"entity_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"org_id\": \"string\",\n \"_schema\": \"contact\",\n \"attribute\": \"string\",\n \"_tags\": [\"string\"],\n \"reverse\": true\n },\n {\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ]\n}\n```\n\n
\n\n---\n\n### `getRelationsV3`\n\nReturns 1st level direct relations for an entity with pagination.\n\n`GET /v3/entity/{slug}/{id}/relations`\n\n```ts\nconst { data } = await client.getRelationsV3({\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n hydrate: true,\n include_reverse: true,\n from: 1,\n size: 1,\n include_schemas: ['...'],\n exclude_schemas: ['...'],\n mode: 'example',\n fields: ['...'],\n include_deleted: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"hits\": 1,\n \"relations\": [\n {\n \"entity_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"org_id\": \"string\",\n \"_schema\": \"contact\",\n \"attribute\": \"string\",\n \"_tags\": [\"string\"],\n \"reverse\": true\n },\n {\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ]\n}\n```\n\n
\n\n---\n\n### `getRelatedEntitiesCount`\n\nReturns the amount of unique related entities for an entity - includes direct and reverse relations.\n\n`GET /v2/entity/{slug}/{id}/relations/count`\n\n```ts\nconst { data } = await client.getRelatedEntitiesCount({\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n exclude_schemas: ['...'],\n})\n```\n\n
\nResponse\n\n```json\n{\n \"hits\": 1\n}\n```\n\n
\n\n---\n\n### `updateRelation`\n\nUpdates an existing relation between two entities.\n\n`PUT /v1/entity/{slug}/{id}/relations/{attribute}/{entity_id}`\n\n```ts\nconst { data } = await client.updateRelation(\n {\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n attribute: 'example',\n entity_id: 'example',\n async: true,\n activity_id: 'example',\n },\n {\n _tags: ['string']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"entity_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"org_id\": \"string\",\n \"_schema\": \"contact\",\n \"attribute\": \"string\",\n \"_tags\": [\"string\"],\n \"reverse\": true\n}\n```\n\n
\n\n---\n\n### `deleteRelation`\n\nRemoves relation between two entities\n\n`DELETE /v1/entity/{slug}/{id}/relations/{attribute}/{entity_id}`\n\n```ts\nconst { data } = await client.deleteRelation({\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n attribute: 'example',\n entity_id: 'example',\n async: true,\n activity_id: 'example',\n})\n```\n\n---\n\n### `exportEntities`\n\nExport entity data in a CSV-format. The export will export data as close as possible to what is visible on Entity UI tables.\nThe values exported as in some cases, transformed to human-readable values.\n\n`POST /v1/entity:export`\n\n```ts\nconst { data } = await client.exportEntities(\n {\n job_id: 'example',\n is_template: true,\n language: 'example',\n },\n {\n q: '_schema:contact AND status:active',\n include_scores: false,\n sort: 'string',\n from: 0,\n size: 10,\n hydrate: false,\n fields: ['_id', '_title', 'first_name', 'account', '!account.*._files', '**._product'],\n aggs: {\n 'contact-count-per-tag': {\n terms: {\n field: '_tags.keyword'\n }\n }\n },\n include_deleted: 'false',\n highlight: {},\n stable_for: 0,\n stable_query_id: 'string',\n search_after: ['string']\n },\n)\n```\n\n---\n\n### `importEntities`\n\nImport Entities\n\n`POST /v1/entity:import`\n\n```ts\nconst { data } = await client.importEntities(\n {\n job_id: 'example',\n },\n {\n S3Reference: {\n bucket: 'my-bucket',\n key: 'imports/my-import.json'\n },\n schema: 'contact'\n },\n)\n```\n\n---\n\n### `listSavedViews`\n\nGet the Saved Views based on the schema\n\n`GET /v1/entity/views`\n\n```ts\nconst { data } = await client.listSavedViews({\n slug: 'example',\n sort: 'example',\n from: 1,\n size: 1,\n fields: ['...'],\n})\n```\n\n
\nResponse\n\n```json\n{\n \"hits\": 1,\n \"results\": [\n {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"slug\": [\"contact\"],\n \"name\": \"View listing German\",\n \"org\": \"66\",\n \"shared\": true,\n \"isFavoritedBy\": [\"11701\"],\n \"created_by\": {\n \"user_id\": \"10598\"\n },\n \"ui_config\": {\n \"filters\": {\n \"customer_name\": \"suresh test\",\n \"_tags\": \"360\"\n },\n \"table_layout\": {\n \"opportunity\": {\n \"page\": 1,\n \"sort\": \"_created_at:desc\",\n \"pageSize\": 25,\n \"columnSettings\": []\n }\n }\n },\n \"shared_with\": [\"112233\"]\n }\n ]\n}\n```\n\n
\n\n---\n\n### `createSavedView`\n\nCreates a new saved view\n\n`POST /v1/entity/view`\n\n```ts\nconst { data } = await client.createSavedView(\n null,\n {\n slug: ['contact'],\n name: 'View listing German',\n org: '66',\n shared: true,\n isFavoritedBy: ['11701'],\n created_by: {\n user_id: '10598'\n },\n ui_config: {\n filters: {\n customer_name: 'suresh test',\n _tags: '360'\n },\n table_layout: {\n opportunity: {\n page: 1,\n sort: '_created_at:desc',\n pageSize: 25,\n columnSettings: []\n }\n }\n },\n shared_with: ['112233']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"slug\": [\"contact\"],\n \"name\": \"View listing German\",\n \"org\": \"66\",\n \"shared\": true,\n \"isFavoritedBy\": [\"11701\"],\n \"created_by\": {\n \"user_id\": \"10598\"\n },\n \"ui_config\": {\n \"filters\": {\n \"customer_name\": \"suresh test\",\n \"_tags\": \"360\"\n },\n \"table_layout\": {\n \"opportunity\": {\n \"page\": 1,\n \"sort\": \"_created_at:desc\",\n \"pageSize\": 25,\n \"columnSettings\": []\n }\n }\n },\n \"shared_with\": [\"112233\"]\n}\n```\n\n
\n\n---\n\n### `getSavedView`\n\nGets Saved View configuration by id.\n\n`GET /v1/entity/view/{id}`\n\n```ts\nconst { data } = await client.getSavedView({\n id: '123e4567-e89b-12d3-a456-426614174000',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"slug\": [\"contact\"],\n \"name\": \"View listing German\",\n \"org\": \"66\",\n \"shared\": true,\n \"isFavoritedBy\": [\"11701\"],\n \"created_by\": {\n \"user_id\": \"10598\"\n },\n \"ui_config\": {\n \"filters\": {\n \"customer_name\": \"suresh test\",\n \"_tags\": \"360\"\n },\n \"table_layout\": {\n \"opportunity\": {\n \"page\": 1,\n \"sort\": \"_created_at:desc\",\n \"pageSize\": 25,\n \"columnSettings\": []\n }\n }\n },\n \"shared_with\": [\"112233\"]\n}\n```\n\n
\n\n---\n\n### `updateSavedView`\n\nUpdates a saved view\n\n`PUT /v1/entity/view/{id}`\n\n```ts\nconst { data } = await client.updateSavedView(\n {\n id: '123e4567-e89b-12d3-a456-426614174000',\n },\n {\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n created_at: 'string',\n updated_at: 'string',\n slug: ['contact'],\n name: 'View listing German',\n org: '66',\n shared: true,\n isFavoritedBy: ['11701'],\n created_by: {\n user_id: '10598'\n },\n ui_config: {\n filters: {\n customer_name: 'suresh test',\n _tags: '360'\n },\n table_layout: {\n opportunity: {\n page: 1,\n sort: '_created_at:desc',\n pageSize: 25,\n columnSettings: []\n }\n }\n },\n shared_with: ['112233']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"slug\": [\"contact\"],\n \"name\": \"View listing German\",\n \"org\": \"66\",\n \"shared\": true,\n \"isFavoritedBy\": [\"11701\"],\n \"created_by\": {\n \"user_id\": \"10598\"\n },\n \"ui_config\": {\n \"filters\": {\n \"customer_name\": \"suresh test\",\n \"_tags\": \"360\"\n },\n \"table_layout\": {\n \"opportunity\": {\n \"page\": 1,\n \"sort\": \"_created_at:desc\",\n \"pageSize\": 25,\n \"columnSettings\": []\n }\n }\n },\n \"shared_with\": [\"112233\"]\n}\n```\n\n
\n\n---\n\n### `patchSavedView`\n\nPartially updates a saved view with the provided payload. If an updated_at is passed and the server contains a newer version of the view a `409` error is returned\n\n`PATCH /v1/entity/view/{id}`\n\n```ts\nconst { data } = await client.patchSavedView(\n {\n id: '123e4567-e89b-12d3-a456-426614174000',\n },\n {\n slug: ['contact'],\n name: 'View listing German',\n org: '66',\n shared: true,\n isFavoritedBy: ['11701'],\n created_by: {\n user_id: '10598'\n },\n ui_config: {\n filters: {\n customer_name: 'suresh test',\n _tags: '360'\n },\n table_layout: {\n opportunity: {\n page: 1,\n sort: '_created_at:desc',\n pageSize: 25,\n columnSettings: []\n }\n }\n },\n shared_with: ['112233']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"slug\": [\"contact\"],\n \"name\": \"View listing German\",\n \"org\": \"66\",\n \"shared\": true,\n \"isFavoritedBy\": [\"11701\"],\n \"created_by\": {\n \"user_id\": \"10598\"\n },\n \"ui_config\": {\n \"filters\": {\n \"customer_name\": \"suresh test\",\n \"_tags\": \"360\"\n },\n \"table_layout\": {\n \"opportunity\": {\n \"page\": 1,\n \"sort\": \"_created_at:desc\",\n \"pageSize\": 25,\n \"columnSettings\": []\n }\n }\n },\n \"shared_with\": [\"112233\"]\n}\n```\n\n
\n\n---\n\n### `deleteSavedView`\n\nDeletes a saved view\n\n`DELETE /v1/entity/view/{id}`\n\n```ts\nconst { data } = await client.deleteSavedView({\n id: '123e4567-e89b-12d3-a456-426614174000',\n})\n```\n\n---\n\n### `listFavoriteViewsForUser`\n\nGet the Favorite Saved Views for user based on the schema\n\n`GET /v1/entity/views/favorites`\n\n```ts\nconst { data } = await client.listFavoriteViewsForUser()\n```\n\n
\nResponse\n\n```json\n{\n \"results\": [\n {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"slug\": [\"contact\"],\n \"name\": \"View listing German\",\n \"org\": \"66\",\n \"shared\": true,\n \"isFavoritedBy\": [\"11701\"],\n \"created_by\": {\n \"user_id\": \"10598\"\n },\n \"ui_config\": {\n \"filters\": {\n \"customer_name\": \"suresh test\",\n \"_tags\": \"360\"\n },\n \"table_layout\": {\n \"opportunity\": {\n \"page\": 1,\n \"sort\": \"_created_at:desc\",\n \"pageSize\": 25,\n \"columnSettings\": []\n }\n }\n },\n \"shared_with\": [\"112233\"]\n }\n ]\n}\n```\n\n
\n\n---\n\n### `listTaxonomies`\n\nList taxonomies in an organization\n\n`GET /v1/entity/taxonomies`\n\n```ts\nconst { data } = await client.listTaxonomies({\n include_disabled: true,\n type: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"results\": [\n {\n \"slug\": \"purpose\",\n \"name\": \"Purpose\",\n \"plural\": \"Purposes\",\n \"kind\": \"system\",\n \"type\": \"entity\",\n \"icon\": \"purpose\",\n \"color\": \"#FF5733\",\n \"created_at\": \"1970-01-01T00:00:00.000Z\",\n \"updated_at\": \"1970-01-01T00:00:00.000Z\",\n \"deleted_at\": \"1970-01-01T00:00:00.000Z\",\n \"created_by\": \"10598\",\n \"enabled\": true,\n \"order\": 10,\n \"enabled_locations\": [\"account\", \"string\"]\n }\n ]\n}\n```\n\n
\n\n---\n\n### `createTaxonomy`\n\nCreate a new taxonomy\n\n`POST /v1/entity/taxonomies`\n\n```ts\nconst { data } = await client.createTaxonomy(\n null,\n {\n slug: 'purpose',\n name: 'Purpose',\n plural: 'Purposes',\n kind: 'system',\n type: 'entity',\n icon: 'purpose',\n color: '#FF5733',\n created_at: '1970-01-01T00:00:00.000Z',\n updated_at: '1970-01-01T00:00:00.000Z',\n deleted_at: '1970-01-01T00:00:00.000Z',\n created_by: '10598',\n enabled: true,\n order: 10,\n enabled_locations: ['account', 'string']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"slug\": \"purpose\",\n \"name\": \"Purpose\",\n \"plural\": \"Purposes\",\n \"kind\": \"system\",\n \"type\": \"entity\",\n \"icon\": \"purpose\",\n \"color\": \"#FF5733\",\n \"created_at\": \"1970-01-01T00:00:00.000Z\",\n \"updated_at\": \"1970-01-01T00:00:00.000Z\",\n \"deleted_at\": \"1970-01-01T00:00:00.000Z\",\n \"created_by\": \"10598\",\n \"enabled\": true,\n \"order\": 10,\n \"enabled_locations\": [\"account\", \"string\"]\n}\n```\n\n
\n\n---\n\n### `getTaxonomy`\n\nGet taxonomy by slug\n\n`GET /v1/entity/taxonomies/{taxonomySlug}`\n\n```ts\nconst { data } = await client.getTaxonomy({\n taxonomySlug: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"slug\": \"purpose\",\n \"name\": \"Purpose\",\n \"plural\": \"Purposes\",\n \"kind\": \"system\",\n \"type\": \"entity\",\n \"icon\": \"purpose\",\n \"color\": \"#FF5733\",\n \"created_at\": \"1970-01-01T00:00:00.000Z\",\n \"updated_at\": \"1970-01-01T00:00:00.000Z\",\n \"deleted_at\": \"1970-01-01T00:00:00.000Z\",\n \"created_by\": \"10598\",\n \"enabled\": true,\n \"order\": 10,\n \"enabled_locations\": [\"account\", \"string\"]\n}\n```\n\n
\n\n---\n\n### `updateTaxonomy`\n\nUpdate a taxonomy\n\n`PUT /v1/entity/taxonomies/{taxonomySlug}`\n\n```ts\nconst { data } = await client.updateTaxonomy(\n {\n taxonomySlug: 'example',\n },\n {\n slug: 'purpose',\n name: 'Purpose',\n plural: 'Purposes',\n kind: 'system',\n type: 'entity',\n icon: 'purpose',\n color: '#FF5733',\n created_at: '1970-01-01T00:00:00.000Z',\n updated_at: '1970-01-01T00:00:00.000Z',\n deleted_at: '1970-01-01T00:00:00.000Z',\n created_by: '10598',\n enabled: true,\n order: 10,\n enabled_locations: ['account', 'string']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"slug\": \"purpose\",\n \"name\": \"Purpose\",\n \"plural\": \"Purposes\",\n \"kind\": \"system\",\n \"type\": \"entity\",\n \"icon\": \"purpose\",\n \"color\": \"#FF5733\",\n \"created_at\": \"1970-01-01T00:00:00.000Z\",\n \"updated_at\": \"1970-01-01T00:00:00.000Z\",\n \"deleted_at\": \"1970-01-01T00:00:00.000Z\",\n \"created_by\": \"10598\",\n \"enabled\": true,\n \"order\": 10,\n \"enabled_locations\": [\"account\", \"string\"]\n}\n```\n\n
\n\n---\n\n### `deleteTaxonomy`\n\nDelete a taxonomy\n\n`DELETE /v1/entity/taxonomies/{taxonomySlug}`\n\n```ts\nconst { data } = await client.deleteTaxonomy({\n taxonomySlug: 'example',\n permanent: true,\n})\n```\n\n---\n\n### `updateClassificationsForTaxonomy`\n\nUpdate the classifications for a taxonomy\n\n`POST /v1/entity/taxonomies/{taxonomySlug}/classifications`\n\n```ts\nconst { data } = await client.updateClassificationsForTaxonomy(\n {\n taxonomySlug: 'example',\n },\n {\n create: [\n {\n id: 'taxonomy-slug:classification-slug',\n slug: 'wallbox-pv',\n name: 'Wallbox PV',\n parents: ['taxonomy-slug:classification-slug'],\n color: '#FF5733',\n created_at: '1970-01-01T00:00:00.000Z',\n updated_at: '1970-01-01T00:00:00.000Z',\n archived: false,\n starred: false,\n enabled_locations: ['account', 'string'],\n enabled_purposes: ['string'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000']\n }\n ],\n update: [\n {\n id: 'taxonomy-slug:classification-slug',\n slug: 'wallbox-pv',\n name: 'Wallbox PV',\n parents: ['taxonomy-slug:classification-slug'],\n color: '#FF5733',\n created_at: '1970-01-01T00:00:00.000Z',\n updated_at: '1970-01-01T00:00:00.000Z',\n archived: false,\n starred: false,\n enabled_locations: ['account', 'string'],\n enabled_purposes: ['string'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000']\n }\n ],\n delete: ['taxonomy-slug:classification-slug', 'taxonomy-slug:classification-slug']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"created\": [\n {\n \"id\": \"taxonomy-slug:classification-slug\",\n \"slug\": \"wallbox-pv\",\n \"name\": \"Wallbox PV\",\n \"parents\": [\"taxonomy-slug:classification-slug\"],\n \"color\": \"#FF5733\",\n \"created_at\": \"1970-01-01T00:00:00.000Z\",\n \"updated_at\": \"1970-01-01T00:00:00.000Z\",\n \"archived\": false,\n \"starred\": false,\n \"enabled_locations\": [\"account\", \"string\"],\n \"enabled_purposes\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ],\n \"updated\": [\n {\n \"id\": \"taxonomy-slug:classification-slug\",\n \"slug\": \"wallbox-pv\",\n \"name\": \"Wallbox PV\",\n \"parents\": [\"taxonomy-slug:classification-slug\"],\n \"color\": \"#FF5733\",\n \"created_at\": \"1970-01-01T00:00:00.000Z\",\n \"updated_at\": \"1970-01-01T00:00:00.000Z\",\n \"archived\": false,\n \"starred\": false,\n \"enabled_locations\": [\"account\", \"string\"],\n \"enabled_purposes\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ],\n \"deleted\": [\"taxonomy-slug:classification-slug\"]\n}\n```\n\n
\n\n---\n\n### `createTaxonomyClassification`\n\nCreate a new classification for a taxonomy\n\n`POST /v2/entity/taxonomies/classifications`\n\n```ts\nconst { data } = await client.createTaxonomyClassification(\n null,\n {\n id: 'taxonomy-slug:classification-slug',\n slug: 'wallbox-pv',\n name: 'Wallbox PV',\n parents: ['taxonomy-slug:classification-slug'],\n color: '#FF5733',\n created_at: '1970-01-01T00:00:00.000Z',\n updated_at: '1970-01-01T00:00:00.000Z',\n archived: false,\n starred: false,\n enabled_locations: ['account', 'string'],\n enabled_purposes: ['string'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"taxonomy-slug:classification-slug\",\n \"slug\": \"wallbox-pv\",\n \"name\": \"Wallbox PV\",\n \"parents\": [\"taxonomy-slug:classification-slug\"],\n \"color\": \"#FF5733\",\n \"created_at\": \"1970-01-01T00:00:00.000Z\",\n \"updated_at\": \"1970-01-01T00:00:00.000Z\",\n \"archived\": false,\n \"starred\": false,\n \"enabled_locations\": [\"account\", \"string\"],\n \"enabled_purposes\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n}\n```\n\n
\n\n---\n\n### `getTaxonomyClassification`\n\nGet a classification for a taxonomy by slug\n\n`GET /v2/entity/taxonomies/classifications/{classificationSlug}`\n\n```ts\nconst { data } = await client.getTaxonomyClassification({\n classificationSlug: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"taxonomy-slug:classification-slug\",\n \"slug\": \"wallbox-pv\",\n \"name\": \"Wallbox PV\",\n \"parents\": [\"taxonomy-slug:classification-slug\"],\n \"color\": \"#FF5733\",\n \"created_at\": \"1970-01-01T00:00:00.000Z\",\n \"updated_at\": \"1970-01-01T00:00:00.000Z\",\n \"archived\": false,\n \"starred\": false,\n \"enabled_locations\": [\"account\", \"string\"],\n \"enabled_purposes\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n}\n```\n\n
\n\n---\n\n### `updateTaxonomyClassification`\n\nUpdate a classification for a taxonomy\n\n`PUT /v2/entity/taxonomies/classifications/{classificationSlug}`\n\n```ts\nconst { data } = await client.updateTaxonomyClassification(\n {\n classificationSlug: 'example',\n },\n {\n id: 'taxonomy-slug:classification-slug',\n slug: 'wallbox-pv',\n name: 'Wallbox PV',\n parents: ['taxonomy-slug:classification-slug'],\n color: '#FF5733',\n created_at: '1970-01-01T00:00:00.000Z',\n updated_at: '1970-01-01T00:00:00.000Z',\n archived: false,\n starred: false,\n enabled_locations: ['account', 'string'],\n enabled_purposes: ['string'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"taxonomy-slug:classification-slug\",\n \"slug\": \"wallbox-pv\",\n \"name\": \"Wallbox PV\",\n \"parents\": [\"taxonomy-slug:classification-slug\"],\n \"color\": \"#FF5733\",\n \"created_at\": \"1970-01-01T00:00:00.000Z\",\n \"updated_at\": \"1970-01-01T00:00:00.000Z\",\n \"archived\": false,\n \"starred\": false,\n \"enabled_locations\": [\"account\", \"string\"],\n \"enabled_purposes\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n}\n```\n\n
\n\n---\n\n### `deleteTaxonomyClassification`\n\nDelete a classification for a taxonomy\n\n`DELETE /v2/entity/taxonomies/classifications/{classificationSlug}`\n\n```ts\nconst { data } = await client.deleteTaxonomyClassification({\n classificationSlug: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"taxonomy-slug:classification-slug\",\n \"slug\": \"wallbox-pv\",\n \"name\": \"Wallbox PV\",\n \"parents\": [\"taxonomy-slug:classification-slug\"],\n \"color\": \"#FF5733\",\n \"created_at\": \"1970-01-01T00:00:00.000Z\",\n \"updated_at\": \"1970-01-01T00:00:00.000Z\",\n \"archived\": false,\n \"starred\": false,\n \"enabled_locations\": [\"account\", \"string\"],\n \"enabled_purposes\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n}\n```\n\n
\n\n---\n\n### `taxonomyAutocomplete`\n\nTaxonomies autocomplete\n\n`GET /v1/entity/taxonomies/{taxonomySlug}:autocomplete`\n\n```ts\nconst { data } = await client.taxonomyAutocomplete({\n taxonomySlug: 'example',\n query: 'example',\n size: 1,\n})\n```\n\n
\nResponse\n\n```json\n{\n \"results\": [\n {\n \"id\": \"taxonomy-slug:classification-slug\",\n \"slug\": \"wallbox-pv\",\n \"name\": \"Wallbox PV\",\n \"parents\": [\"taxonomy-slug:classification-slug\"],\n \"color\": \"#FF5733\",\n \"created_at\": \"1970-01-01T00:00:00.000Z\",\n \"updated_at\": \"1970-01-01T00:00:00.000Z\",\n \"archived\": false,\n \"starred\": false,\n \"enabled_locations\": [\"account\", \"string\"],\n \"enabled_purposes\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ]\n}\n```\n\n
\n\n---\n\n### `taxonomiesClassificationsSearch`\n\nList taxonomy classifications in an organization based on taxonomy slug\n\n`POST /v1/entity/taxonomies/classifications:search`\n\n```ts\nconst { data } = await client.taxonomiesClassificationsSearch(\n {\n taxonomySlug: ['...'],\n query: 'example',\n archived: true,\n include_archived: 'example',\n exclude_types: ['...'],\n },\n {\n classificationIds: [\n 'taxonomy-slug:classification-slug',\n {\n pattern: 'taxonomy-slug:*'\n }\n ]\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"results\": [\n {\n \"id\": \"taxonomy-slug:classification-slug\",\n \"slug\": \"wallbox-pv\",\n \"name\": \"Wallbox PV\",\n \"parents\": [\"taxonomy-slug:classification-slug\"],\n \"color\": \"#FF5733\",\n \"created_at\": \"1970-01-01T00:00:00.000Z\",\n \"updated_at\": \"1970-01-01T00:00:00.000Z\",\n \"archived\": false,\n \"starred\": false,\n \"enabled_locations\": [\"account\", \"string\"],\n \"enabled_purposes\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ],\n \"hits\": 10\n}\n```\n\n
\n\n---\n\n### `listTaxonomyClassificationsForSchema`\n\nList taxonomy classifications for a given schema\n\n`GET /v1/entity/schemas/{slug}/taxonomy/{taxonomySlug}`\n\n```ts\nconst { data } = await client.listTaxonomyClassificationsForSchema({\n slug: 'example',\n taxonomySlug: 'example',\n query: 'example',\n size: 1,\n})\n```\n\n
\nResponse\n\n```json\n{\n \"results\": [\n {\n \"id\": \"taxonomy-slug:classification-slug\",\n \"slug\": \"wallbox-pv\",\n \"name\": \"Wallbox PV\",\n \"parents\": [\"taxonomy-slug:classification-slug\"],\n \"color\": \"#FF5733\",\n \"created_at\": \"1970-01-01T00:00:00.000Z\",\n \"updated_at\": \"1970-01-01T00:00:00.000Z\",\n \"archived\": false,\n \"starred\": false,\n \"enabled_locations\": [\"account\", \"string\"],\n \"enabled_purposes\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ]\n}\n```\n\n
\n\n---\n\n### `getTaxonomyBulkActionJobs`\n\nGets bulk actions jobs by job status:\n- ```` = all active jobs\n- PENDING = all active jobs\n- FAILED = all failed jobs\n- COMPLETED = all completed jobs\n\n`GET /v1/entity/taxonomies/bulk-jobs`\n\n```ts\nconst { data } = await client.getTaxonomyBulkActionJobs({\n status: ['...'],\n size: 1,\n created_after: 'example',\n sort_pending_first: true,\n scope: 'example',\n})\n```\n\n
\nResponse\n\n```json\n[\n {\n \"job_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"status\": \"PENDING\",\n \"action_type\": \"MOVE_CLASSIFICATIONS\",\n \"created_by\": \"10598\",\n \"created_at\": \"2024-01-01T00:00:00.000Z\",\n \"updated_at\": \"2024-01-01T00:00:00.000Z\",\n \"org\": \"66\"\n }\n]\n```\n\n
\n\n---\n\n### `getTaxonomyBulkActionJobById`\n\nGets a bulk action job by job id\n\n`GET /v1/entity/taxonomies/bulk-jobs/{job_id}`\n\n```ts\nconst { data } = await client.getTaxonomyBulkActionJobById({\n job_id: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"job_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"status\": \"PENDING\",\n \"action_type\": \"MOVE_CLASSIFICATIONS\",\n \"created_by\": \"10598\",\n \"created_at\": \"2024-01-01T00:00:00.000Z\",\n \"updated_at\": \"2024-01-01T00:00:00.000Z\",\n \"org\": \"66\"\n}\n```\n\n
\n\n---\n\n### `cancelBulkAction`\n\nCancels a running bulk action job. The job status will be updated to CANCELLED\nand the job will be stopped.\n\n`POST /v1/entity/taxonomies/bulk-jobs/{job_id}/cancel`\n\n```ts\nconst { data } = await client.cancelBulkAction({\n job_id: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"job_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"status\": \"PENDING\",\n \"action_type\": \"MOVE_CLASSIFICATIONS\",\n \"created_by\": \"10598\",\n \"created_at\": \"2024-01-01T00:00:00.000Z\",\n \"updated_at\": \"2024-01-01T00:00:00.000Z\",\n \"org\": \"66\"\n}\n```\n\n
\n\n---\n\n### `bulkMoveClassifications`\n\nMoves classifications from one taxonomy to another, through a bulk async operation which\nalso updates all references from the old classification to the new one under the target taxonomy.\n\n`POST /v1/entity/taxonomies/classifications:move`\n\n```ts\nconst { data } = await client.bulkMoveClassifications(\n null,\n {\n job_id: 'string',\n target_taxonomy: 'purpose',\n classification_ids: ['taxonomy-slug:classification-slug']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"job_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"status\": \"PENDING\"\n}\n```\n\n
\n\n---\n\n### `bulkMergeClassifications`\n\nMerges classifications from one taxonomy into one individual classification, through a bulk async operation which\nalso updates all references from the old Classifications to the new one.\n\n`POST /v1/entity/taxonomies/classifications:merge`\n\n```ts\nconst { data } = await client.bulkMergeClassifications(\n null,\n {\n job_id: 'string',\n target_classification: 'purpose',\n classification_ids: ['taxonomy-slug:classification-slug']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"job_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"status\": \"PENDING\"\n}\n```\n\n
\n\n---\n\n### `bulkDeleteClassifications`\n\nPermanently deletes taxonomy classifications. The classifications are deleted through a bulk\nasync operation which also deletes all references of the deleted classifications from the entities\nreferenc\n\n`POST /v1/entity/taxonomies/classifications:delete`\n\n```ts\nconst { data } = await client.bulkDeleteClassifications(\n null,\n {\n job_id: 'string',\n classification_ids: ['taxonomy-slug:classification-slug']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"job_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"status\": \"PENDING\"\n}\n```\n\n
\n\n---\n\n### `createSchemaAttribute`\n\nCreate a schema attribute\n\n`POST /v1/entity/schemas/attributes`\n\n```ts\nconst { data } = await client.createSchemaAttribute(\n null,\n {\n id: 'd5839b94-ba20-4225-a78e-76951d352bd6',\n name: 'string',\n label: 'string',\n placeholder: 'string',\n hidden: false,\n show_in_table: true,\n sortable: true,\n required: false,\n readonly: false,\n deprecated: false,\n default_value: {},\n group: 'string',\n order: 0,\n layout: 'full_width',\n hide_label: true,\n icon: 'string',\n render_condition: 'string',\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n constraints: {\n disablePast: true\n },\n feature_flag: 'FF_MY_FEATURE_FLAG',\n settings_flag: [\n {\n name: 'string',\n enabled: true\n }\n ],\n value_formatter: 'string',\n preview_value_formatter: 'string',\n entity_builder_disable_edit: false,\n protected: true,\n info_helpers: {\n hint_text: 'string',\n hint_text_key: 'string',\n hint_custom_component: 'string',\n hint_tooltip_placement: 'top'\n },\n explicit_searchable: false,\n exclude_from_search: false,\n repeatable: true,\n has_primary: true,\n edit_mode: 'direct',\n edit_mode_config: {\n match_strategy: 'exact',\n fuzzy_config: {\n type: 'suffix',\n suffix_length: 0,\n fields_to_ignore: ['string'],\n regex_flags: 'string',\n country_code: 'string',\n match_on: 'string',\n key: 'string',\n mode: 'subset',\n ordered: true,\n require_tags_match: true,\n pattern: 'string'\n }\n },\n type: 'string',\n multiline: true,\n rich_text: true,\n rows: 3\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"placeholder\": \"string\",\n \"hidden\": false,\n \"show_in_table\": true,\n \"sortable\": true,\n \"required\": false,\n \"readonly\": false,\n \"deprecated\": false,\n \"default_value\": {},\n \"group\": \"string\",\n \"order\": 0,\n \"layout\": \"full_width\",\n \"hide_label\": true,\n \"icon\": \"string\",\n \"render_condition\": \"string\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"constraints\": {\n \"disablePast\": true\n },\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [\n {\n \"name\": \"string\",\n \"enabled\": true\n }\n ],\n \"value_formatter\": \"string\",\n \"preview_value_formatter\": \"string\",\n \"entity_builder_disable_edit\": false,\n \"protected\": true,\n \"info_helpers\": {\n \"hint_text\": \"string\",\n \"hint_text_key\": \"string\",\n \"hint_custom_component\": \"string\",\n \"hint_tooltip_placement\": \"top\"\n },\n \"explicit_searchable\": false,\n \"exclude_from_search\": false,\n \"repeatable\": true,\n \"has_primary\": true,\n \"edit_mode\": \"direct\",\n \"edit_mode_config\": {\n \"match_strategy\": \"exact\",\n \"fuzzy_config\": {\n \"type\": \"suffix\",\n \"suffix_length\": 0,\n \"fields_to_ignore\": [\"string\"],\n \"regex_flags\": \"string\",\n \"country_code\": \"string\",\n \"match_on\": \"string\",\n \"key\": \"string\",\n \"mode\": \"subset\",\n \"ordered\": true,\n \"require_tags_match\": true,\n \"pattern\": \"string\"\n }\n },\n \"type\": \"string\",\n \"multiline\": true,\n \"rich_text\": true,\n \"rows\": 3\n}\n```\n\n
\n\n---\n\n### `getSchemaAttribute`\n\nGet a schema attribute from given attribute ID\n\n`GET /v1/entity/schemas/attributes/{composite_id}`\n\n```ts\nconst { data } = await client.getSchemaAttribute({\n composite_id: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"placeholder\": \"string\",\n \"hidden\": false,\n \"show_in_table\": true,\n \"sortable\": true,\n \"required\": false,\n \"readonly\": false,\n \"deprecated\": false,\n \"default_value\": {},\n \"group\": \"string\",\n \"order\": 0,\n \"layout\": \"full_width\",\n \"hide_label\": true,\n \"icon\": \"string\",\n \"render_condition\": \"string\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"constraints\": {\n \"disablePast\": true\n },\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [\n {\n \"name\": \"string\",\n \"enabled\": true\n }\n ],\n \"value_formatter\": \"string\",\n \"preview_value_formatter\": \"string\",\n \"entity_builder_disable_edit\": false,\n \"protected\": true,\n \"info_helpers\": {\n \"hint_text\": \"string\",\n \"hint_text_key\": \"string\",\n \"hint_custom_component\": \"string\",\n \"hint_tooltip_placement\": \"top\"\n },\n \"explicit_searchable\": false,\n \"exclude_from_search\": false,\n \"repeatable\": true,\n \"has_primary\": true,\n \"edit_mode\": \"direct\",\n \"edit_mode_config\": {\n \"match_strategy\": \"exact\",\n \"fuzzy_config\": {\n \"type\": \"suffix\",\n \"suffix_length\": 0,\n \"fields_to_ignore\": [\"string\"],\n \"regex_flags\": \"string\",\n \"country_code\": \"string\",\n \"match_on\": \"string\",\n \"key\": \"string\",\n \"mode\": \"subset\",\n \"ordered\": true,\n \"require_tags_match\": true,\n \"pattern\": \"string\"\n }\n },\n \"type\": \"string\",\n \"multiline\": true,\n \"rich_text\": true,\n \"rows\": 3\n}\n```\n\n
\n\n---\n\n### `putSchemaAttribute`\n\nUpdates an attribute in the schema\n\n`PUT /v1/entity/schemas/attributes/{composite_id}`\n\n```ts\nconst { data } = await client.putSchemaAttribute(\n {\n composite_id: 'example',\n },\n {\n id: 'd5839b94-ba20-4225-a78e-76951d352bd6',\n name: 'string',\n label: 'string',\n placeholder: 'string',\n hidden: false,\n show_in_table: true,\n sortable: true,\n required: false,\n readonly: false,\n deprecated: false,\n default_value: {},\n group: 'string',\n order: 0,\n layout: 'full_width',\n hide_label: true,\n icon: 'string',\n render_condition: 'string',\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n constraints: {\n disablePast: true\n },\n feature_flag: 'FF_MY_FEATURE_FLAG',\n settings_flag: [\n {\n name: 'string',\n enabled: true\n }\n ],\n value_formatter: 'string',\n preview_value_formatter: 'string',\n entity_builder_disable_edit: false,\n protected: true,\n info_helpers: {\n hint_text: 'string',\n hint_text_key: 'string',\n hint_custom_component: 'string',\n hint_tooltip_placement: 'top'\n },\n explicit_searchable: false,\n exclude_from_search: false,\n repeatable: true,\n has_primary: true,\n edit_mode: 'direct',\n edit_mode_config: {\n match_strategy: 'exact',\n fuzzy_config: {\n type: 'suffix',\n suffix_length: 0,\n fields_to_ignore: ['string'],\n regex_flags: 'string',\n country_code: 'string',\n match_on: 'string',\n key: 'string',\n mode: 'subset',\n ordered: true,\n require_tags_match: true,\n pattern: 'string'\n }\n },\n type: 'string',\n multiline: true,\n rich_text: true,\n rows: 3\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"placeholder\": \"string\",\n \"hidden\": false,\n \"show_in_table\": true,\n \"sortable\": true,\n \"required\": false,\n \"readonly\": false,\n \"deprecated\": false,\n \"default_value\": {},\n \"group\": \"string\",\n \"order\": 0,\n \"layout\": \"full_width\",\n \"hide_label\": true,\n \"icon\": \"string\",\n \"render_condition\": \"string\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"constraints\": {\n \"disablePast\": true\n },\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [\n {\n \"name\": \"string\",\n \"enabled\": true\n }\n ],\n \"value_formatter\": \"string\",\n \"preview_value_formatter\": \"string\",\n \"entity_builder_disable_edit\": false,\n \"protected\": true,\n \"info_helpers\": {\n \"hint_text\": \"string\",\n \"hint_text_key\": \"string\",\n \"hint_custom_component\": \"string\",\n \"hint_tooltip_placement\": \"top\"\n },\n \"explicit_searchable\": false,\n \"exclude_from_search\": false,\n \"repeatable\": true,\n \"has_primary\": true,\n \"edit_mode\": \"direct\",\n \"edit_mode_config\": {\n \"match_strategy\": \"exact\",\n \"fuzzy_config\": {\n \"type\": \"suffix\",\n \"suffix_length\": 0,\n \"fields_to_ignore\": [\"string\"],\n \"regex_flags\": \"string\",\n \"country_code\": \"string\",\n \"match_on\": \"string\",\n \"key\": \"string\",\n \"mode\": \"subset\",\n \"ordered\": true,\n \"require_tags_match\": true,\n \"pattern\": \"string\"\n }\n },\n \"type\": \"string\",\n \"multiline\": true,\n \"rich_text\": true,\n \"rows\": 3\n}\n```\n\n
\n\n---\n\n### `deleteSchemaAttribute`\n\nDeletes an attribute from a schema\n\n`DELETE /v1/entity/schemas/attributes/{composite_id}`\n\n```ts\nconst { data } = await client.deleteSchemaAttribute({\n composite_id: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"placeholder\": \"string\",\n \"hidden\": false,\n \"show_in_table\": true,\n \"sortable\": true,\n \"required\": false,\n \"readonly\": false,\n \"deprecated\": false,\n \"default_value\": {},\n \"group\": \"string\",\n \"order\": 0,\n \"layout\": \"full_width\",\n \"hide_label\": true,\n \"icon\": \"string\",\n \"render_condition\": \"string\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"constraints\": {\n \"disablePast\": true\n },\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [\n {\n \"name\": \"string\",\n \"enabled\": true\n }\n ],\n \"value_formatter\": \"string\",\n \"preview_value_formatter\": \"string\",\n \"entity_builder_disable_edit\": false,\n \"protected\": true,\n \"info_helpers\": {\n \"hint_text\": \"string\",\n \"hint_text_key\": \"string\",\n \"hint_custom_component\": \"string\",\n \"hint_tooltip_placement\": \"top\"\n },\n \"explicit_searchable\": false,\n \"exclude_from_search\": false,\n \"repeatable\": true,\n \"has_primary\": true,\n \"edit_mode\": \"direct\",\n \"edit_mode_config\": {\n \"match_strategy\": \"exact\",\n \"fuzzy_config\": {\n \"type\": \"suffix\",\n \"suffix_length\": 0,\n \"fields_to_ignore\": [\"string\"],\n \"regex_flags\": \"string\",\n \"country_code\": \"string\",\n \"match_on\": \"string\",\n \"key\": \"string\",\n \"mode\": \"subset\",\n \"ordered\": true,\n \"require_tags_match\": true,\n \"pattern\": \"string\"\n }\n },\n \"type\": \"string\",\n \"multiline\": true,\n \"rich_text\": true,\n \"rows\": 3\n}\n```\n\n
\n\n---\n\n### `createSchemaCapability`\n\nCreate a schema capability\n\n`POST /v1/entity/schemas/capabilities`\n\n```ts\nconst { data } = await client.createSchemaCapability(\n null,\n {\n id: 'd5839b94-ba20-4225-a78e-76951d352bd6',\n name: 'customer_messaging',\n title: 'Messaging',\n attributes: [\n {\n id: 'd5839b94-ba20-4225-a78e-76951d352bd6',\n name: 'string',\n label: 'string',\n placeholder: 'string',\n hidden: false,\n show_in_table: true,\n sortable: true,\n required: false,\n readonly: false,\n deprecated: false,\n default_value: {},\n group: 'string',\n order: 0,\n layout: 'full_width',\n hide_label: true,\n icon: 'string',\n render_condition: 'string',\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n constraints: { /* ... */ },\n feature_flag: 'FF_MY_FEATURE_FLAG',\n settings_flag: [ /* ... */ ],\n value_formatter: 'string',\n preview_value_formatter: 'string',\n entity_builder_disable_edit: false,\n protected: true,\n info_helpers: { /* ... */ },\n explicit_searchable: false,\n exclude_from_search: false,\n repeatable: true,\n has_primary: true,\n edit_mode: 'direct',\n edit_mode_config: { /* ... */ },\n type: 'string',\n multiline: true,\n rich_text: true,\n rows: 3\n },\n {\n id: 'd5839b94-ba20-4225-a78e-76951d352bd6',\n name: 'string',\n label: 'string',\n placeholder: 'string',\n hidden: false,\n show_in_table: true,\n sortable: true,\n required: false,\n readonly: false,\n deprecated: false,\n default_value: {},\n group: 'string',\n order: 0,\n layout: 'full_width',\n hide_label: true,\n icon: 'string',\n render_condition: 'string',\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n constraints: { /* ... */ },\n feature_flag: 'FF_MY_FEATURE_FLAG',\n settings_flag: [ /* ... */ ],\n value_formatter: 'string',\n preview_value_formatter: 'string',\n entity_builder_disable_edit: false,\n protected: true,\n info_helpers: { /* ... */ },\n explicit_searchable: false,\n exclude_from_search: false,\n repeatable: true,\n has_primary: true,\n edit_mode: 'direct',\n edit_mode_config: { /* ... */ },\n type: 'link'\n },\n /* ... 33 more */\n ],\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n app_id: '123e4567-e89b-12d3-a456-426614174000',\n ui_config: {\n is_filterable: true\n },\n ui_hooks: [\n {\n hook: 'EntityDetailsV2:Tab',\n render_condition: '_is_composite_price = \"false\"',\n order: 10,\n title: 'Notes',\n group_expanded: true,\n import: '@epilot360/notes',\n component: 'PricingItems',\n route: 'notes',\n icon: 'email',\n disabled: true,\n header: true,\n requiredPermission: { /* ... */ }\n }\n ],\n feature_flag: 'FF_MY_FEATURE_FLAG',\n settings_flag: [\n {\n name: 'string',\n enabled: true\n }\n ],\n schemas: [\n {\n schema: 'contact'\n }\n ],\n composite_id: 'contact:97644baa-083f-4e49-9188-fcff2ecaad7d',\n schema: 'contact'\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"customer_messaging\",\n \"title\": \"Messaging\",\n \"attributes\": [\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"placeholder\": \"string\",\n \"hidden\": false,\n \"show_in_table\": true,\n \"sortable\": true,\n \"required\": false,\n \"readonly\": false,\n \"deprecated\": false,\n \"default_value\": {},\n \"group\": \"string\",\n \"order\": 0,\n \"layout\": \"full_width\",\n \"hide_label\": true,\n \"icon\": \"string\",\n \"render_condition\": \"string\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"constraints\": {},\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [],\n \"value_formatter\": \"string\",\n \"preview_value_formatter\": \"string\",\n \"entity_builder_disable_edit\": false,\n \"protected\": true,\n \"info_helpers\": {},\n \"explicit_searchable\": false,\n \"exclude_from_search\": false,\n \"repeatable\": true,\n \"has_primary\": true,\n \"edit_mode\": \"direct\",\n \"edit_mode_config\": {},\n \"type\": \"string\",\n \"multiline\": true,\n \"rich_text\": true,\n \"rows\": 3\n },\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"placeholder\": \"string\",\n \"hidden\": false,\n \"show_in_table\": true,\n \"sortable\": true,\n \"required\": false,\n \"readonly\": false,\n \"deprecated\": false,\n \"default_value\": {},\n \"group\": \"string\",\n \"order\": 0,\n \"layout\": \"full_width\",\n \"hide_label\": true,\n \"icon\": \"string\",\n \"render_condition\": \"string\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"constraints\": {},\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [],\n \"value_formatter\": \"string\",\n \"preview_value_formatter\": \"string\",\n \"entity_builder_disable_edit\": false,\n \"protected\": true,\n \"info_helpers\": {},\n \"explicit_searchable\": false,\n \"exclude_from_search\": false,\n \"repeatable\": true,\n \"has_primary\": true,\n \"edit_mode\": \"direct\",\n \"edit_mode_config\": {},\n \"type\": \"link\"\n }\n ],\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"app_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"ui_config\": {\n \"is_filterable\": true\n },\n \"ui_hooks\": [\n {\n \"hook\": \"EntityDetailsV2:Tab\",\n \"render_condition\": \"_is_composite_price = \\\"false\\\"\",\n \"order\": 10,\n \"title\": \"Notes\",\n \"group_expanded\": true,\n \"import\": \"@epilot360/notes\",\n \"component\": \"PricingItems\",\n \"route\": \"notes\",\n \"icon\": \"email\",\n \"disabled\": true,\n \"header\": true,\n \"requiredPermission\": {}\n }\n ],\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [\n {\n \"name\": \"string\",\n \"enabled\": true\n }\n ],\n \"schemas\": [\n {\n \"schema\": \"contact\"\n }\n ],\n \"composite_id\": \"contact:97644baa-083f-4e49-9188-fcff2ecaad7d\",\n \"schema\": \"contact\"\n}\n```\n\n
\n\n---\n\n### `getSchemaCapability`\n\nGet a schema capability from given capability ID\n\n`GET /v1/entity/schemas/capabilities/{composite_id}`\n\n```ts\nconst { data } = await client.getSchemaCapability({\n composite_id: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"customer_messaging\",\n \"title\": \"Messaging\",\n \"attributes\": [\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"placeholder\": \"string\",\n \"hidden\": false,\n \"show_in_table\": true,\n \"sortable\": true,\n \"required\": false,\n \"readonly\": false,\n \"deprecated\": false,\n \"default_value\": {},\n \"group\": \"string\",\n \"order\": 0,\n \"layout\": \"full_width\",\n \"hide_label\": true,\n \"icon\": \"string\",\n \"render_condition\": \"string\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"constraints\": {},\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [],\n \"value_formatter\": \"string\",\n \"preview_value_formatter\": \"string\",\n \"entity_builder_disable_edit\": false,\n \"protected\": true,\n \"info_helpers\": {},\n \"explicit_searchable\": false,\n \"exclude_from_search\": false,\n \"repeatable\": true,\n \"has_primary\": true,\n \"edit_mode\": \"direct\",\n \"edit_mode_config\": {},\n \"type\": \"string\",\n \"multiline\": true,\n \"rich_text\": true,\n \"rows\": 3\n },\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"placeholder\": \"string\",\n \"hidden\": false,\n \"show_in_table\": true,\n \"sortable\": true,\n \"required\": false,\n \"readonly\": false,\n \"deprecated\": false,\n \"default_value\": {},\n \"group\": \"string\",\n \"order\": 0,\n \"layout\": \"full_width\",\n \"hide_label\": true,\n \"icon\": \"string\",\n \"render_condition\": \"string\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"constraints\": {},\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [],\n \"value_formatter\": \"string\",\n \"preview_value_formatter\": \"string\",\n \"entity_builder_disable_edit\": false,\n \"protected\": true,\n \"info_helpers\": {},\n \"explicit_searchable\": false,\n \"exclude_from_search\": false,\n \"repeatable\": true,\n \"has_primary\": true,\n \"edit_mode\": \"direct\",\n \"edit_mode_config\": {},\n \"type\": \"link\"\n }\n ],\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"app_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"ui_config\": {\n \"is_filterable\": true\n },\n \"ui_hooks\": [\n {\n \"hook\": \"EntityDetailsV2:Tab\",\n \"render_condition\": \"_is_composite_price = \\\"false\\\"\",\n \"order\": 10,\n \"title\": \"Notes\",\n \"group_expanded\": true,\n \"import\": \"@epilot360/notes\",\n \"component\": \"PricingItems\",\n \"route\": \"notes\",\n \"icon\": \"email\",\n \"disabled\": true,\n \"header\": true,\n \"requiredPermission\": {}\n }\n ],\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [\n {\n \"name\": \"string\",\n \"enabled\": true\n }\n ],\n \"schemas\": [\n {\n \"schema\": \"contact\"\n }\n ],\n \"composite_id\": \"contact:97644baa-083f-4e49-9188-fcff2ecaad7d\",\n \"schema\": \"contact\"\n}\n```\n\n
\n\n---\n\n### `putSchemaCapability`\n\nAdds or updates an capability in the schema\n\n`PUT /v1/entity/schemas/capabilities/{composite_id}`\n\n```ts\nconst { data } = await client.putSchemaCapability(\n {\n composite_id: 'example',\n },\n {\n id: 'd5839b94-ba20-4225-a78e-76951d352bd6',\n name: 'customer_messaging',\n title: 'Messaging',\n attributes: [\n {\n id: 'd5839b94-ba20-4225-a78e-76951d352bd6',\n name: 'string',\n label: 'string',\n placeholder: 'string',\n hidden: false,\n show_in_table: true,\n sortable: true,\n required: false,\n readonly: false,\n deprecated: false,\n default_value: {},\n group: 'string',\n order: 0,\n layout: 'full_width',\n hide_label: true,\n icon: 'string',\n render_condition: 'string',\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n constraints: { /* ... */ },\n feature_flag: 'FF_MY_FEATURE_FLAG',\n settings_flag: [ /* ... */ ],\n value_formatter: 'string',\n preview_value_formatter: 'string',\n entity_builder_disable_edit: false,\n protected: true,\n info_helpers: { /* ... */ },\n explicit_searchable: false,\n exclude_from_search: false,\n repeatable: true,\n has_primary: true,\n edit_mode: 'direct',\n edit_mode_config: { /* ... */ },\n type: 'string',\n multiline: true,\n rich_text: true,\n rows: 3\n },\n {\n id: 'd5839b94-ba20-4225-a78e-76951d352bd6',\n name: 'string',\n label: 'string',\n placeholder: 'string',\n hidden: false,\n show_in_table: true,\n sortable: true,\n required: false,\n readonly: false,\n deprecated: false,\n default_value: {},\n group: 'string',\n order: 0,\n layout: 'full_width',\n hide_label: true,\n icon: 'string',\n render_condition: 'string',\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n constraints: { /* ... */ },\n feature_flag: 'FF_MY_FEATURE_FLAG',\n settings_flag: [ /* ... */ ],\n value_formatter: 'string',\n preview_value_formatter: 'string',\n entity_builder_disable_edit: false,\n protected: true,\n info_helpers: { /* ... */ },\n explicit_searchable: false,\n exclude_from_search: false,\n repeatable: true,\n has_primary: true,\n edit_mode: 'direct',\n edit_mode_config: { /* ... */ },\n type: 'link'\n },\n /* ... 33 more */\n ],\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n app_id: '123e4567-e89b-12d3-a456-426614174000',\n ui_config: {\n is_filterable: true\n },\n ui_hooks: [\n {\n hook: 'EntityDetailsV2:Tab',\n render_condition: '_is_composite_price = \"false\"',\n order: 10,\n title: 'Notes',\n group_expanded: true,\n import: '@epilot360/notes',\n component: 'PricingItems',\n route: 'notes',\n icon: 'email',\n disabled: true,\n header: true,\n requiredPermission: { /* ... */ }\n }\n ],\n feature_flag: 'FF_MY_FEATURE_FLAG',\n settings_flag: [\n {\n name: 'string',\n enabled: true\n }\n ],\n schemas: [\n {\n schema: 'contact'\n }\n ],\n composite_id: 'contact:97644baa-083f-4e49-9188-fcff2ecaad7d',\n schema: 'contact'\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"customer_messaging\",\n \"title\": \"Messaging\",\n \"attributes\": [\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"placeholder\": \"string\",\n \"hidden\": false,\n \"show_in_table\": true,\n \"sortable\": true,\n \"required\": false,\n \"readonly\": false,\n \"deprecated\": false,\n \"default_value\": {},\n \"group\": \"string\",\n \"order\": 0,\n \"layout\": \"full_width\",\n \"hide_label\": true,\n \"icon\": \"string\",\n \"render_condition\": \"string\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"constraints\": {},\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [],\n \"value_formatter\": \"string\",\n \"preview_value_formatter\": \"string\",\n \"entity_builder_disable_edit\": false,\n \"protected\": true,\n \"info_helpers\": {},\n \"explicit_searchable\": false,\n \"exclude_from_search\": false,\n \"repeatable\": true,\n \"has_primary\": true,\n \"edit_mode\": \"direct\",\n \"edit_mode_config\": {},\n \"type\": \"string\",\n \"multiline\": true,\n \"rich_text\": true,\n \"rows\": 3\n },\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"placeholder\": \"string\",\n \"hidden\": false,\n \"show_in_table\": true,\n \"sortable\": true,\n \"required\": false,\n \"readonly\": false,\n \"deprecated\": false,\n \"default_value\": {},\n \"group\": \"string\",\n \"order\": 0,\n \"layout\": \"full_width\",\n \"hide_label\": true,\n \"icon\": \"string\",\n \"render_condition\": \"string\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"constraints\": {},\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [],\n \"value_formatter\": \"string\",\n \"preview_value_formatter\": \"string\",\n \"entity_builder_disable_edit\": false,\n \"protected\": true,\n \"info_helpers\": {},\n \"explicit_searchable\": false,\n \"exclude_from_search\": false,\n \"repeatable\": true,\n \"has_primary\": true,\n \"edit_mode\": \"direct\",\n \"edit_mode_config\": {},\n \"type\": \"link\"\n }\n ],\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"app_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"ui_config\": {\n \"is_filterable\": true\n },\n \"ui_hooks\": [\n {\n \"hook\": \"EntityDetailsV2:Tab\",\n \"render_condition\": \"_is_composite_price = \\\"false\\\"\",\n \"order\": 10,\n \"title\": \"Notes\",\n \"group_expanded\": true,\n \"import\": \"@epilot360/notes\",\n \"component\": \"PricingItems\",\n \"route\": \"notes\",\n \"icon\": \"email\",\n \"disabled\": true,\n \"header\": true,\n \"requiredPermission\": {}\n }\n ],\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [\n {\n \"name\": \"string\",\n \"enabled\": true\n }\n ],\n \"schemas\": [\n {\n \"schema\": \"contact\"\n }\n ],\n \"composite_id\": \"contact:97644baa-083f-4e49-9188-fcff2ecaad7d\",\n \"schema\": \"contact\"\n}\n```\n\n
\n\n---\n\n### `deleteSchemaCapability`\n\nDeletes a Capability from a schema\n\n`DELETE /v1/entity/schemas/capabilities/{composite_id}`\n\n```ts\nconst { data } = await client.deleteSchemaCapability({\n composite_id: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"customer_messaging\",\n \"title\": \"Messaging\",\n \"attributes\": [\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"placeholder\": \"string\",\n \"hidden\": false,\n \"show_in_table\": true,\n \"sortable\": true,\n \"required\": false,\n \"readonly\": false,\n \"deprecated\": false,\n \"default_value\": {},\n \"group\": \"string\",\n \"order\": 0,\n \"layout\": \"full_width\",\n \"hide_label\": true,\n \"icon\": \"string\",\n \"render_condition\": \"string\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"constraints\": {},\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [],\n \"value_formatter\": \"string\",\n \"preview_value_formatter\": \"string\",\n \"entity_builder_disable_edit\": false,\n \"protected\": true,\n \"info_helpers\": {},\n \"explicit_searchable\": false,\n \"exclude_from_search\": false,\n \"repeatable\": true,\n \"has_primary\": true,\n \"edit_mode\": \"direct\",\n \"edit_mode_config\": {},\n \"type\": \"string\",\n \"multiline\": true,\n \"rich_text\": true,\n \"rows\": 3\n },\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"placeholder\": \"string\",\n \"hidden\": false,\n \"show_in_table\": true,\n \"sortable\": true,\n \"required\": false,\n \"readonly\": false,\n \"deprecated\": false,\n \"default_value\": {},\n \"group\": \"string\",\n \"order\": 0,\n \"layout\": \"full_width\",\n \"hide_label\": true,\n \"icon\": \"string\",\n \"render_condition\": \"string\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"constraints\": {},\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [],\n \"value_formatter\": \"string\",\n \"preview_value_formatter\": \"string\",\n \"entity_builder_disable_edit\": false,\n \"protected\": true,\n \"info_helpers\": {},\n \"explicit_searchable\": false,\n \"exclude_from_search\": false,\n \"repeatable\": true,\n \"has_primary\": true,\n \"edit_mode\": \"direct\",\n \"edit_mode_config\": {},\n \"type\": \"link\"\n }\n ],\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"app_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"ui_config\": {\n \"is_filterable\": true\n },\n \"ui_hooks\": [\n {\n \"hook\": \"EntityDetailsV2:Tab\",\n \"render_condition\": \"_is_composite_price = \\\"false\\\"\",\n \"order\": 10,\n \"title\": \"Notes\",\n \"group_expanded\": true,\n \"import\": \"@epilot360/notes\",\n \"component\": \"PricingItems\",\n \"route\": \"notes\",\n \"icon\": \"email\",\n \"disabled\": true,\n \"header\": true,\n \"requiredPermission\": {}\n }\n ],\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [\n {\n \"name\": \"string\",\n \"enabled\": true\n }\n ],\n \"schemas\": [\n {\n \"schema\": \"contact\"\n }\n ],\n \"composite_id\": \"contact:97644baa-083f-4e49-9188-fcff2ecaad7d\",\n \"schema\": \"contact\"\n}\n```\n\n
\n\n---\n\n### `createSchemaGroup`\n\nCreate a schema group\n\n`POST /v1/entity/schemas/group`\n\n```ts\nconst { data } = await client.createSchemaGroup(\n null,\n {\n label: 'Contact Details',\n id: 'e18a532b-ae79-4d86-a6a5-e5dbfb579d14',\n order: 0,\n expanded: false,\n render_condition: '_is_composite_price = \"false\"',\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n feature_flag: 'FF_MY_FEATURE_FLAG',\n settings_flag: [\n {\n name: 'string',\n enabled: true\n }\n ],\n info_tooltip_title: {\n key: 'string',\n default: 'string'\n },\n composite_id: 'contact:e18a532b-ae79-4d86-a6a5-e5dbfb579d14',\n schema: 'contact'\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"label\": \"Contact Details\",\n \"id\": \"e18a532b-ae79-4d86-a6a5-e5dbfb579d14\",\n \"order\": 0,\n \"expanded\": false,\n \"render_condition\": \"_is_composite_price = \\\"false\\\"\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [\n {\n \"name\": \"string\",\n \"enabled\": true\n }\n ],\n \"info_tooltip_title\": {\n \"key\": \"string\",\n \"default\": \"string\"\n },\n \"composite_id\": \"contact:e18a532b-ae79-4d86-a6a5-e5dbfb579d14\",\n \"schema\": \"contact\"\n}\n```\n\n
\n\n---\n\n### `getSchemaGroup`\n\nGet a schema group from given group composite ID\n\n`GET /v1/entity/schemas/group/{composite_id}`\n\n```ts\nconst { data } = await client.getSchemaGroup({\n composite_id: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"label\": \"Contact Details\",\n \"id\": \"e18a532b-ae79-4d86-a6a5-e5dbfb579d14\",\n \"order\": 0,\n \"expanded\": false,\n \"render_condition\": \"_is_composite_price = \\\"false\\\"\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [\n {\n \"name\": \"string\",\n \"enabled\": true\n }\n ],\n \"info_tooltip_title\": {\n \"key\": \"string\",\n \"default\": \"string\"\n },\n \"composite_id\": \"contact:e18a532b-ae79-4d86-a6a5-e5dbfb579d14\",\n \"schema\": \"contact\"\n}\n```\n\n
\n\n---\n\n### `putSchemaGroup`\n\nAdds or updates an capability in the schema\n\n`PUT /v1/entity/schemas/group/{composite_id}`\n\n```ts\nconst { data } = await client.putSchemaGroup(\n {\n composite_id: 'example',\n },\n {\n label: 'Contact Details',\n id: 'e18a532b-ae79-4d86-a6a5-e5dbfb579d14',\n order: 0,\n expanded: false,\n render_condition: '_is_composite_price = \"false\"',\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n feature_flag: 'FF_MY_FEATURE_FLAG',\n settings_flag: [\n {\n name: 'string',\n enabled: true\n }\n ],\n info_tooltip_title: {\n key: 'string',\n default: 'string'\n },\n composite_id: 'contact:e18a532b-ae79-4d86-a6a5-e5dbfb579d14',\n schema: 'contact'\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"label\": \"Contact Details\",\n \"id\": \"e18a532b-ae79-4d86-a6a5-e5dbfb579d14\",\n \"order\": 0,\n \"expanded\": false,\n \"render_condition\": \"_is_composite_price = \\\"false\\\"\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [\n {\n \"name\": \"string\",\n \"enabled\": true\n }\n ],\n \"info_tooltip_title\": {\n \"key\": \"string\",\n \"default\": \"string\"\n },\n \"composite_id\": \"contact:e18a532b-ae79-4d86-a6a5-e5dbfb579d14\",\n \"schema\": \"contact\"\n}\n```\n\n
\n\n---\n\n### `deleteSchemaGroup`\n\nDeletes a Capability from a schema\n\n`DELETE /v1/entity/schemas/group/{composite_id}`\n\n```ts\nconst { data } = await client.deleteSchemaGroup({\n composite_id: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"label\": \"Contact Details\",\n \"id\": \"e18a532b-ae79-4d86-a6a5-e5dbfb579d14\",\n \"order\": 0,\n \"expanded\": false,\n \"render_condition\": \"_is_composite_price = \\\"false\\\"\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [\n {\n \"name\": \"string\",\n \"enabled\": true\n }\n ],\n \"info_tooltip_title\": {\n \"key\": \"string\",\n \"default\": \"string\"\n },\n \"composite_id\": \"contact:e18a532b-ae79-4d86-a6a5-e5dbfb579d14\",\n \"schema\": \"contact\"\n}\n```\n\n
\n\n---\n\n### `createSchemaGroupHeadline`\n\nCreate a headline in a schema group\n\n`POST /v1/entity/schemas/headline`\n\n```ts\nconst { data } = await client.createSchemaGroupHeadline(\n null,\n {\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n name: 'string',\n label: 'string',\n layout: 'string',\n group: 'string',\n order: 0,\n type: 'headline',\n enable_divider: false,\n divider: 'top_divider',\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n composite_id: 'contact:97644baa-083f-4e49-9188-fcff2ecaad7d',\n schema: 'contact'\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"layout\": \"string\",\n \"group\": \"string\",\n \"order\": 0,\n \"type\": \"headline\",\n \"enable_divider\": false,\n \"divider\": \"top_divider\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"composite_id\": \"contact:97644baa-083f-4e49-9188-fcff2ecaad7d\",\n \"schema\": \"contact\"\n}\n```\n\n
\n\n---\n\n### `getSchemaGroupHeadline`\n\nGet a group headline from schema from given headline composite ID\n\n`GET /v1/entity/schemas/headline/{composite_id}`\n\n```ts\nconst { data } = await client.getSchemaGroupHeadline({\n composite_id: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"layout\": \"string\",\n \"group\": \"string\",\n \"order\": 0,\n \"type\": \"headline\",\n \"enable_divider\": false,\n \"divider\": \"top_divider\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"composite_id\": \"contact:97644baa-083f-4e49-9188-fcff2ecaad7d\",\n \"schema\": \"contact\"\n}\n```\n\n
\n\n---\n\n### `putSchemaGroupHeadline`\n\nAdds or updates a group headline in the schema\n\n`PUT /v1/entity/schemas/headline/{composite_id}`\n\n```ts\nconst { data } = await client.putSchemaGroupHeadline(\n {\n composite_id: 'example',\n },\n {\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n name: 'string',\n label: 'string',\n layout: 'string',\n group: 'string',\n order: 0,\n type: 'headline',\n enable_divider: false,\n divider: 'top_divider',\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n composite_id: 'contact:97644baa-083f-4e49-9188-fcff2ecaad7d',\n schema: 'contact'\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"layout\": \"string\",\n \"group\": \"string\",\n \"order\": 0,\n \"type\": \"headline\",\n \"enable_divider\": false,\n \"divider\": \"top_divider\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"composite_id\": \"contact:97644baa-083f-4e49-9188-fcff2ecaad7d\",\n \"schema\": \"contact\"\n}\n```\n\n
\n\n---\n\n### `deleteSchemaGroupHeadline`\n\nDeletes a group headline from a schema\n\n`DELETE /v1/entity/schemas/headline/{composite_id}`\n\n```ts\nconst { data } = await client.deleteSchemaGroupHeadline({\n composite_id: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"layout\": \"string\",\n \"group\": \"string\",\n \"order\": 0,\n \"type\": \"headline\",\n \"enable_divider\": false,\n \"divider\": \"top_divider\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"composite_id\": \"contact:97644baa-083f-4e49-9188-fcff2ecaad7d\",\n \"schema\": \"contact\"\n}\n```\n\n
\n\n---\n\n## Schemas\n\n### `ExportJobId`\n\nThe unique identifier of the import job.\n\n```ts\ntype ExportJobId = string\n```\n\n### `Language`\n\nExport headers translation Language\n\n```ts\ntype Language = string\n```\n\n### `IsTemplate`\n\nPass 'true' to generate import template\n\n```ts\ntype IsTemplate = boolean\n```\n\n### `SchemaId`\n\nGenerated uuid for schema\n\n```ts\ntype SchemaId = string // uuid\n```\n\n### `EntitySchema`\n\nThe \"type\" of an Entity. Describes the shape. Includes Entity Attributes, Relations and Capabilities.\n\n```ts\ntype EntitySchema = {\n slug: string\n version?: number\n blueprint?: string // uuid\n feature_flag?: string\n enable_setting?: string[]\n name: string\n plural: string\n description?: string\n docs_url?: string // uri\n category?: string\n published?: boolean\n draft?: boolean\n icon?: string\n title_template?: string\n ui_config?: {\n table_view?: {\n view_type?: { ... }\n row_actions?: { ... }\n bulk_actions?: { ... }\n navbar_actions?: { ... }\n enable_thumbnails?: { ... }\n } | {\n view_type?: { ... }\n route?: { ... }\n } | {\n view_type?: { ... }\n }\n create_view?: {\n view_type?: { ... }\n search_params?: { ... }\n } | {\n view_type?: { ... }\n route?: { ... }\n } | {\n view_type?: { ... }\n }\n edit_view?: {\n view_type?: { ... }\n search_params?: { ... }\n summary_attributes?: { ... }\n } | {\n view_type?: { ... }\n route?: { ... }\n } | {\n view_type?: { ... }\n }\n single_view?: {\n view_type?: { ... }\n search_params?: { ... }\n summary_attributes?: { ... }\n } | {\n view_type?: { ... }\n route?: { ... }\n } | {\n view_type?: { ... }\n }\n list_item?: {\n summary_attributes?: { ... }\n quick_actions?: { ... }\n ui_config?: { ... }\n }\n sharing?: {\n show_sharing_button?: { ... }\n }\n }\n capabilities: Array<{\n id?: string\n name: string\n title?: string\n attributes?: Array<{\n id?: { ... }\n name: { ... }\n label: { ... }\n placeholder?: { ... }\n hidden?: { ... }\n show_in_table?: { ... }\n sortable?: { ... }\n required?: { ... }\n readonly?: { ... }\n deprecated?: { ... }\n default_value?: { ... }\n group?: { ... }\n order?: { ... }\n layout?: { ... }\n hide_label?: { ... }\n icon?: { ... }\n render_condition?: { ... }\n _purpose?: { ... }\n _manifest?: { ... }\n constraints?: { ... }\n feature_flag?: { ... }\n settings_flag?: { ... }\n value_formatter?: { ... }\n preview_value_formatter?: { ... }\n entity_builder_disable_edit?: { ... }\n protected?: { ... }\n info_helpers?: { ... }\n explicit_searchable?: { ... }\n exclude_from_search?: { ... }\n // ...\n}\n```\n\n### `EntitySchemaItem`\n\n```ts\ntype EntitySchemaItem = {\n id?: string // uuid\n created_at?: string\n updated_at?: string\n comment?: string\n source?: {\n id?: string\n type?: string\n }\n frozen?: boolean\n latest?: boolean\n _summary?: boolean\n slug: string\n version?: number\n blueprint?: string // uuid\n feature_flag?: string\n enable_setting?: string[]\n name: string\n plural: string\n description?: string\n docs_url?: string // uri\n category?: string\n published?: boolean\n draft?: boolean\n icon?: string\n title_template?: string\n ui_config?: {\n table_view?: {\n view_type?: { ... }\n row_actions?: { ... }\n bulk_actions?: { ... }\n navbar_actions?: { ... }\n enable_thumbnails?: { ... }\n } | {\n view_type?: { ... }\n route?: { ... }\n } | {\n view_type?: { ... }\n }\n create_view?: {\n view_type?: { ... }\n search_params?: { ... }\n } | {\n view_type?: { ... }\n route?: { ... }\n } | {\n view_type?: { ... }\n }\n edit_view?: {\n view_type?: { ... }\n search_params?: { ... }\n summary_attributes?: { ... }\n } | {\n view_type?: { ... }\n route?: { ... }\n } | {\n view_type?: { ... }\n }\n single_view?: {\n view_type?: { ... }\n search_params?: { ... }\n summary_attributes?: { ... }\n } | {\n view_type?: { ... }\n route?: { ... }\n } | {\n view_type?: { ... }\n }\n list_item?: {\n summary_attributes?: { ... }\n quick_actions?: { ... }\n ui_config?: { ... }\n }\n sharing?: {\n show_sharing_button?: { ... }\n }\n }\n capabilities: Array<{\n id?: string\n name: string\n title?: string\n attributes?: Array<{\n id?: { ... }\n name: { ... }\n label: { ... }\n placeholder?: { ... }\n hidden?: { ... }\n show_in_table?: { ... }\n sortable?: { ... }\n required?: { ... }\n readonly?: { ... }\n deprecated?: { ... }\n default_value?: { ... }\n group?: { ... }\n order?: { ... }\n layout?: { ... }\n hide_label?: { ... }\n icon?: { ... }\n render_condition?: { ... }\n _purpose?: { ... }\n // ...\n}\n```\n\n### `GenerateEntityTableAIFiltersRequest`\n\n```ts\ntype GenerateEntityTableAIFiltersRequest = {\n prompt: string\n main_entity_slug: string\n filter_options: Array<{\n type?: \"search\" | \"filter\"\n label: string\n label_type?: string\n name?: string\n group?: string\n allowedSchemas?: string[]\n relatedOptions?: Array<{\n type?: { ... }\n label: { ... }\n label_type?: { ... }\n name?: { ... }\n group?: { ... }\n allowedSchemas?: { ... }\n relatedOptions?: { ... }\n }>\n }>\n}\n```\n\n### `GenerateEntityTableAIFiltersResponse`\n\n```ts\ntype GenerateEntityTableAIFiltersResponse = Array<{\n label: string\n type: string\n value: string\n}>\n```\n\n### `EntityTableFilterSearch`\n\n```ts\ntype EntityTableFilterSearch = {\n label: string\n type: string\n value: string\n}\n```\n\n### `EntityTableFilterOption`\n\n```ts\ntype EntityTableFilterOption = {\n type?: \"search\" | \"filter\"\n label: string\n label_type?: string\n name?: string\n group?: string\n allowedSchemas?: string[]\n relatedOptions?: Array<{\n type?: \"search\" | \"filter\"\n label: string\n label_type?: string\n name?: string\n group?: string\n allowedSchemas?: string[]\n relatedOptions?: Array<{\n type?: { ... }\n label: { ... }\n label_type?: { ... }\n name?: { ... }\n group?: { ... }\n allowedSchemas?: { ... }\n relatedOptions?: { ... }\n }>\n }>\n}\n```\n\n### `EntitySchemaGroup`\n\n```ts\ntype EntitySchemaGroup = {\n label: string\n id?: string\n order?: number\n expanded?: boolean\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n info_tooltip_title?: {\n key?: string\n default?: string\n }\n}\n```\n\n### `EntitySchemaGroupWithCompositeID`\n\n```ts\ntype EntitySchemaGroupWithCompositeID = {\n label: string\n id?: string\n order?: number\n expanded?: boolean\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n info_tooltip_title?: {\n key?: string\n default?: string\n }\n composite_id?: string\n schema?: string\n}\n```\n\n### `Attribute`\n\n```ts\ntype Attribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"string\"\n multiline?: boolean\n rich_text?: boolean\n rows?: number | string\n} | {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n // ...\n}\n```\n\n### `AttributeWithCompositeID`\n\n```ts\ntype AttributeWithCompositeID = {\n composite_id?: string\n schema?: string\n}\n```\n\n### `BaseAttribute`\n\n```ts\ntype BaseAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n}\n```\n\n### `TextAttribute`\n\n```ts\ntype TextAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"string\"\n multiline?: boolean\n rich_text?: boolean\n rows?: number | string\n}\n```\n\n### `LinkAttribute`\n\n```ts\ntype LinkAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"link\"\n}\n```\n\n### `InternalAttribute`\n\n```ts\ntype InternalAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"internal\"\n}\n```\n\n### `BooleanAttribute`\n\n```ts\ntype BooleanAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"boolean\"\n display_type?: \"switch\" | \"checkbox\"\n}\n```\n\n### `DateAttribute`\n\n```ts\ntype DateAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"date\" | \"datetime\"\n}\n```\n\n### `CountryAttribute`\n\n```ts\ntype CountryAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"country\"\n}\n```\n\n### `SelectAttribute`\n\n```ts\ntype SelectAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"select\" | \"radio\"\n options?: Array<{\n value: string\n title?: string\n } | string>\n allow_any?: boolean\n}\n```\n\n### `MultiSelectAttribute`\n\n```ts\ntype MultiSelectAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"multiselect\" | \"checkbox\"\n disable_case_sensitive?: boolean\n allow_extra_options?: boolean\n options?: Array\n allow_any?: boolean\n}\n```\n\n### `StatusAttribute`\n\n```ts\ntype StatusAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"status\"\n options?: Array\n}\n```\n\n### `SequenceAttribute`\n\n```ts\ntype SequenceAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"sequence\"\n prefix?: string\n start_number?: number\n}\n```\n\n### `FileAttribute`\n\n```ts\ntype FileAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"image\" | \"file\"\n multiple?: boolean\n allowed_extensions?: string[]\n display_images_landscaped?: boolean\n enable_description?: boolean\n default_access_control?: \"public-read\" | \"private\"\n file_size_bytes?: number\n}\n```\n\n### `CurrencyAttribute`\n\n```ts\ntype CurrencyAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"currency\"\n currency_selector_only?: boolean\n currency: Array<{\n code: string\n description: string\n symbol: string\n flag?: string\n }>\n}\n```\n\n### `SummaryField`\n\nSummary Fields are displayed inside list view as a resume of the relation entity.\n\n```ts\ntype SummaryField = {\n field?: string\n display_as?: string\n}\n```\n\n### `EntityAction`\n\nAn entity action configured from the entity schema\n\n```ts\ntype EntityAction = {\n action: string\n label: string\n icon?: string\n permission?: string\n}\n```\n\n### `RelationAttribute`\n\n```ts\ntype RelationAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"list-view\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"relation\"\n relation_type?: \"has_many\" | \"has_one\"\n reverse_attributes?: Record\n relation_affinity_mode?: \"weak\" | \"strong\"\n enable_relation_picker?: boolean\n details_view_mode_enabled?: boolean\n relation_picker_filter?: {\n q: string\n }\n actions?: Array<{\n action_type?: \"add_existing\" | \"create_new\" | \"create_from_existing\"\n label?: string\n default?: boolean\n feature_flag?: string\n settings_flag?: Array<{\n name?: { ... }\n enabled?: { ... }\n }>\n new_entity_item?: Record\n }>\n drawer_size?: \"small\" | \"medium\" | \"large\"\n summary_fields?: Array\n allowedSchemas?: string[]\n enable_relation_tags?: boolean\n add_button_label?: string\n search_placeholder?: string\n}\n```\n\n### `UserRelationAttribute`\n\n```ts\ntype UserRelationAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"relation_user\"\n multiple?: boolean\n}\n```\n\n### `PartnerOrganisationAttribute`\n\n```ts\ntype PartnerOrganisationAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"partner_organisation\"\n}\n```\n\n### `PortalAccessAttribute`\n\n```ts\ntype PortalAccessAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"portal_access\"\n}\n```\n\n### `DefaultAddressFields`\n\nDefault fields visible on addresses\n\nValid values are:\n - postal_code (default)\n - city (default)\n - street (default)\n - street_number (default)\n - plot_area\n - plot_of_land\n - suburb\n - country\n - postbox\n - additional_info\n - coordinates\n - start_date\n - end_date\n - salutation\n - ti\n\n```ts\ntype DefaultAddressFields = string[]\n```\n\n### `AddressAttribute`\n\n```ts\ntype AddressAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"address\"\n default_address_fields?: string[]\n}\n```\n\n### `AddressRelationAttribute`\n\n```ts\ntype AddressRelationAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"relation_address\"\n default_address_fields?: string[]\n}\n```\n\n### `PaymentMethodRelationAttribute`\n\n```ts\ntype PaymentMethodRelationAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"relation_payment_method\"\n}\n```\n\n### `InvitationEmailAttribute`\n\n```ts\ntype InvitationEmailAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"invitation_email\"\n}\n```\n\n### `AutomationAttribute`\n\n```ts\ntype AutomationAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"automation\"\n}\n```\n\n### `InternalUserAttribute`\n\n```ts\ntype InternalUserAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"internal_user\"\n}\n```\n\n### `PurposeAttribute`\n\n```ts\ntype PurposeAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"purpose\"\n}\n```\n\n### `RepeatableAttribute`\n\n```ts\ntype RepeatableAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n}\n```\n\n### `TagsAttribute`\n\n```ts\ntype TagsAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"tags\"\n options?: string[]\n suggestions?: string[]\n}\n```\n\n### `MessageEmailAddressAttribute`\n\n```ts\ntype MessageEmailAddressAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"message_email_address\"\n address?: string\n send_status?: string\n email_type?: string\n}\n```\n\n### `NumberAttribute`\n\n```ts\ntype NumberAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"number\"\n data_type?: \"number\" | \"string\"\n format?: string\n show_separator?: boolean\n}\n```\n\n### `TableAttribute`\n\n```ts\ntype TableAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"table\"\n columns?: Array<{\n name: string\n label: string\n type?: \"string\" | \"number\" | \"date\" | \"boolean\"\n width?: string\n required?: boolean\n bold?: boolean\n }>\n min_rows?: number\n max_rows?: number\n transposed?: boolean\n column_header?: {\n template?: string\n start?: number\n }\n}\n```\n\n### `ConsentAttribute`\n\n```ts\ntype ConsentAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"consent\"\n topic: string\n identifiers?: string[]\n}\n```\n\n### `OrderedListAttribute`\n\n```ts\ntype OrderedListAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"ordered_list\"\n}\n```\n\n### `EmailAttribute`\n\n```ts\ntype EmailAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"email\"\n}\n```\n\n### `PhoneAttribute`\n\n```ts\ntype PhoneAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"phone\"\n}\n```\n\n### `PaymentAttribute`\n\n```ts\ntype PaymentAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"payment\"\n}\n```\n\n### `PriceComponentAttribute`\n\n```ts\ntype PriceComponentAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"price_component\"\n}\n```\n\n### `ComputedAttribute`\n\n```ts\ntype ComputedAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"computed\"\n computed?: boolean\n amount_field?: string\n currency_field?: string\n}\n```\n\n### `PartnerStatusAttribute`\n\n```ts\ntype PartnerStatusAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"partner_status\"\n}\n```\n\n### `SummaryAttribute`\n\nRepresents an expanded version of an attribute to be displayed in the list item summary.\nThis configuration can be used in the following way:\n```js\n{\n \"label\": \"Price components\"\n \"value\": \"{{item.prices.length}} price components\"\n \"show_as_tag\": true\n \"render_condition\": \"is_composite_price = \"\n\n```ts\ntype SummaryAttribute = {\n label: string\n value: string\n show_as_tag?: boolean\n tag_color?: string\n render_condition?: string\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n display_mode?: \"inline\" | \"block\"\n content_line_cap?: number\n content_wrap?: \"normal\" | \"nowrap\" | \"pre\" | \"pre-wrap\"\n hide_label?: boolean\n highlight_container?: boolean\n}\n```\n\n### `GroupHeadline`\n\n```ts\ntype GroupHeadline = {\n id?: string // uuid\n name: string\n label: string\n layout?: string\n group: string\n order?: number\n type: \"headline\"\n enable_divider?: boolean\n divider?: \"top_divider\" | \"bottom_divider\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n}\n```\n\n### `GroupHeadlineWithCompositeID`\n\n```ts\ntype GroupHeadlineWithCompositeID = {\n id?: string // uuid\n name: string\n label: string\n layout?: string\n group: string\n order?: number\n type: \"headline\"\n enable_divider?: boolean\n divider?: \"top_divider\" | \"bottom_divider\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n composite_id?: string\n schema?: string\n}\n```\n\n### `EntitySlug`\n\nURL-friendly identifier for the entity schema\n\n```ts\ntype EntitySlug = string\n```\n\n### `EntityCapability`\n\nCapabilities the Entity has. Turn features on/off for entities.\n\n```ts\ntype EntityCapability = {\n id?: string\n name: string\n title?: string\n attributes?: Array<{\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: { ... }\n enabled?: { ... }\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: { ... }\n hint_text_key?: { ... }\n hint_custom_component?: { ... }\n hint_tooltip_placement?: { ... }\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: { ... }\n fuzzy_config?: { ... }\n }\n type: \"string\"\n multiline?: boolean\n rich_text?: boolean\n rows?: number | string\n } | {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: { ... }\n enabled?: { ... }\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: { ... }\n hint_text_key?: { ... }\n hint_custom_component?: { ... }\n hint_tooltip_placement?: { ... }\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: { ... }\n fuzzy_config?: { ... }\n }\n type: \"link\"\n } | {\n // ...\n}\n```\n\n### `EntityCapabilityWithCompositeID`\n\n```ts\ntype EntityCapabilityWithCompositeID = {\n id?: string\n name: string\n title?: string\n attributes?: Array<{\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: { ... }\n enabled?: { ... }\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: { ... }\n hint_text_key?: { ... }\n hint_custom_component?: { ... }\n hint_tooltip_placement?: { ... }\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: { ... }\n fuzzy_config?: { ... }\n }\n type: \"string\"\n multiline?: boolean\n rich_text?: boolean\n rows?: number | string\n } | {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: { ... }\n enabled?: { ... }\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: { ... }\n hint_text_key?: { ... }\n hint_custom_component?: { ... }\n hint_tooltip_placement?: { ... }\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: { ... }\n fuzzy_config?: { ... }\n }\n type: \"link\"\n } | {\n // ...\n}\n```\n\n### `EntityViewDisabled`\n\n```ts\ntype EntityViewDisabled = {\n view_type?: \"disabled\"\n}\n```\n\n### `EntityDefaultTable`\n\n```ts\ntype EntityDefaultTable = {\n view_type?: \"default\"\n row_actions?: Array\n bulk_actions?: Array\n navbar_actions?: Array<{\n type: string\n options?: Array<{\n label: { ... }\n params?: { ... }\n }>\n }>\n enable_thumbnails?: boolean\n}\n```\n\n### `EntityDefaultCreate`\n\n```ts\ntype EntityDefaultCreate = {\n view_type?: \"default\"\n search_params?: Record\n}\n```\n\n### `EntityDefaultEdit`\n\n```ts\ntype EntityDefaultEdit = {\n view_type?: \"default\"\n search_params?: Record\n summary_attributes?: string[]\n}\n```\n\n### `RedirectEntityView`\n\n```ts\ntype RedirectEntityView = {\n view_type?: \"redirect\"\n route?: string\n}\n```\n\n### `EntityId`\n\n```ts\ntype EntityId = string // uuid\n```\n\n### `BaseEntity`\n\n```ts\ntype BaseEntity = {\n _id: object\n _org: string\n _owners?: Array<{\n org_id: string\n user_id?: string\n }>\n _schema: string\n _title: string\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n _deleted_at?: string // date-time\n _acl?: {\n view?: string[]\n edit?: string[]\n delete?: string[]\n }\n _purpose?: string[]\n _purpose_name?: string[]\n _manifest?: string // uuid[]\n _changesets?: Record\n }>\n}\n```\n\n### `Entity`\n\n```ts\ntype Entity = {\n _id?: object\n _org?: string\n _owners?: Array<{\n org_id: string\n user_id?: string\n }>\n _schema?: string\n _title?: string\n _tags?: string[]\n _created_at?: string // date-time\n _updated_at?: string // date-time\n _deleted_at?: string // date-time\n _acl?: {\n view?: string[]\n edit?: string[]\n delete?: string[]\n }\n _purpose?: string[]\n _purpose_name?: string[]\n _manifest?: string // uuid[]\n _changesets?: Record\n }>\n}\n```\n\n### `NullableEntity`\n\n```ts\ntype NullableEntity = {\n _id?: object\n _org?: string\n _owners?: Array<{\n org_id: string\n user_id?: string\n }>\n _schema?: string\n _title?: string\n _tags?: string[]\n _created_at?: string // date-time\n _updated_at?: string // date-time\n _deleted_at?: string // date-time\n _acl?: {\n view?: string[]\n edit?: string[]\n delete?: string[]\n }\n _purpose?: string[]\n _purpose_name?: string[]\n _manifest?: string // uuid[]\n _changesets?: Record\n }>\n}\n```\n\n### `EntityOwner`\n\nThe user / organization owning this entity.\n\nNote: Owner implicitly has access to the entity regardless of ACLs.\n\n\n```ts\ntype EntityOwner = {\n org_id: string\n user_id?: string\n}\n```\n\n### `EntityAcl`\n\nAccess control list (ACL) for an entity. Defines sharing access to external orgs or users.\n\n```ts\ntype EntityAcl = {\n view?: string[]\n edit?: string[]\n delete?: string[]\n}\n```\n\n### `HydratedEntity`\n\nEntity with relation data resolved into the attribute values\n\n```ts\ntype HydratedEntity = {\n _relations: Array<{\n entity_id: string // uuid\n }>\n}\n```\n\n### `EntityItem`\n\n```ts\ntype EntityItem = {\n _id?: object\n _org?: string\n _owners?: Array<{\n org_id: string\n user_id?: string\n }>\n _schema?: string\n _title?: string\n _tags?: string[]\n _created_at?: string // date-time\n _updated_at?: string // date-time\n _deleted_at?: string // date-time\n _acl?: {\n view?: string[]\n edit?: string[]\n delete?: string[]\n }\n _purpose?: string[]\n _purpose_name?: string[]\n _manifest?: string // uuid[]\n _changesets?: Record\n }>\n}\n```\n\n### `EntityValidationError`\n\nValidation error for an entity attribute\n\n```ts\ntype EntityValidationError = {\n code: string\n params: {\n type?: string\n }\n path: string[]\n message: string\n}\n```\n\n### `EntityValidationResultSuccess`\n\nValidation result for a successful validation\n\n```ts\ntype EntityValidationResultSuccess = {\n status: \"success\"\n errors: Array<{\n code: string\n params: {\n type?: { ... }\n }\n path: string[]\n message: string\n }>\n}\n```\n\n### `EntityValidationResultError`\n\nValidation result for a failed validation\n\n```ts\ntype EntityValidationResultError = {\n status: \"error\"\n errors: Array<{\n code: string\n params: {\n type?: { ... }\n }\n path: string[]\n message: string\n }>\n}\n```\n\n### `EntityValidationResult`\n\n```ts\ntype EntityValidationResult = {\n status: \"success\"\n errors: Array<{\n code: string\n params: {\n type?: { ... }\n }\n path: string[]\n message: string\n }>\n} | {\n status: \"error\"\n errors: Array<{\n code: string\n params: {\n type?: { ... }\n }\n path: string[]\n message: string\n }>\n}\n```\n\n### `EntityValidationV2Error`\n\n```ts\ntype EntityValidationV2Error = {\n keyword: string\n instance_path: string\n schema_path: string\n params: Record\n property_name?: string\n message?: string\n schema?: object\n parent_schema?: Record\n data?: Record\n}\n```\n\n### `EntityValidationV2ResultSuccess`\n\nValidation result for a successful validation\n\n```ts\ntype EntityValidationV2ResultSuccess = {\n status: \"success\"\n errors: Array<{\n keyword: string\n instance_path: string\n schema_path: string\n params: Record\n property_name?: string\n message?: string\n schema?: object\n parent_schema?: Record\n data?: Record\n }>\n}\n```\n\n### `EntityValidationV2ResultError`\n\nValidation result for a failed validation\n\n```ts\ntype EntityValidationV2ResultError = {\n status: \"error\"\n errors: Array<{\n keyword: string\n instance_path: string\n schema_path: string\n params: Record\n property_name?: string\n message?: string\n schema?: object\n parent_schema?: Record\n data?: Record\n }>\n}\n```\n\n### `EntityValidationV2Result`\n\n```ts\ntype EntityValidationV2Result = {\n status: \"success\"\n errors: Array<{\n keyword: string\n instance_path: string\n schema_path: string\n params: Record\n property_name?: string\n message?: string\n schema?: object\n parent_schema?: Record\n data?: Record\n }>\n} | {\n status: \"error\"\n errors: Array<{\n keyword: string\n instance_path: string\n schema_path: string\n params: Record\n property_name?: string\n message?: string\n schema?: object\n parent_schema?: Record\n data?: Record\n }>\n}\n```\n\n### `HydratedEntityItem`\n\n```ts\ntype HydratedEntityItem = {\n _relations: Array<{\n entity_id: string // uuid\n }>\n}\n```\n\n### `GetRelationsResp`\n\n```ts\ntype GetRelationsResp = Array<{\n entity_id: string // uuid\n org_id?: string\n _schema?: string\n attribute: string\n _tags?: string[]\n reverse?: boolean\n} | {\n $relation?: {\n entity_id: string // uuid\n org_id?: string\n _schema?: string\n attribute: string\n _tags?: string[]\n reverse?: boolean\n }\n}>\n```\n\n### `GetRelationsRespWithPagination`\n\n```ts\ntype GetRelationsRespWithPagination = {\n hits?: number\n relations?: Array<{\n entity_id: string // uuid\n org_id?: string\n _schema?: string\n attribute: string\n _tags?: string[]\n reverse?: boolean\n } | {\n $relation?: {\n entity_id: { ... }\n org_id?: { ... }\n _schema?: { ... }\n attribute: { ... }\n _tags?: { ... }\n reverse?: { ... }\n }\n }>\n}\n```\n\n### `GetRelatedEntitiesCount`\n\n```ts\ntype GetRelatedEntitiesCount = {\n hits?: number\n}\n```\n\n### `RelationEntity`\n\n```ts\ntype RelationEntity = {\n $relation?: {\n entity_id: string // uuid\n org_id?: string\n _schema?: string\n attribute: string\n _tags?: string[]\n reverse?: boolean\n }\n}\n```\n\n### `RelationItem`\n\n```ts\ntype RelationItem = {\n entity_id: string // uuid\n org_id?: string\n _schema?: string\n attribute: string\n _tags?: string[]\n reverse?: boolean\n}\n```\n\n### `EntitySearchIncludeDeletedParam`\n\nWhether to include deleted entities in the search results\n- `true`: include deleted entities\n- `false`: exclude deleted entities\n- `only`: include only deleted entities\n\nBy default, no deleted entities are included in the search results.\n\n\n```ts\ntype EntitySearchIncludeDeletedParam = \"true\" | \"false\" | \"only\"\n```\n\n### `EntitySearchParams`\n\n```ts\ntype EntitySearchParams = {\n q: string\n include_scores?: boolean\n sort?: string | string[]\n from?: number\n size?: number\n hydrate?: boolean\n fields?: string[]\n aggs?: object\n include_deleted?: \"true\" | \"false\" | \"only\"\n highlight?: unknown\n stable_for?: number\n stable_query_id?: string\n search_after?: string | number[]\n}\n```\n\n### `EntityListParams`\n\n```ts\ntype EntityListParams = {\n query?: {\n query_string: {\n query: { ... }\n fields?: { ... }\n default_operator?: { ... }\n lenient?: { ... }\n }\n }\n filter: Array<{\n term?: Record\n terms?: Record\n ids?: {\n values?: { ... }\n }\n range?: Record\n exists?: {\n field: { ... }\n }\n $and?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n $or?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n $not?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n }>\n allow_targeting_all_schemas?: boolean\n sort?: string | string[]\n from?: number\n size?: number\n hydrate?: boolean\n fields?: string[]\n aggs?: object\n include_deleted?: \"true\" | \"false\" | \"only\"\n include_scores?: boolean\n highlight?: unknown\n stable_for?: number\n stable_query_id?: string\n search_after?: string | number[]\n}\n```\n\n### `SearchFilter`\n\nA subset of simplified Elasticsearch query clauses. The default operator is a logical AND. Use nested $and, $or, $not to combine filters using different logical operators.\n\n```ts\ntype SearchFilter = Array<{\n term?: Record\n terms?: Record\n ids?: {\n values?: string[]\n }\n range?: Record\n exists?: {\n field: string\n }\n $and?: Array<{\n term?: Record\n terms?: Record\n ids?: {\n values?: { ... }\n }\n range?: Record\n exists?: {\n field: { ... }\n }\n $and?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n $or?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n $not?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n }>\n $or?: Array<{\n term?: Record\n terms?: Record\n ids?: {\n values?: { ... }\n }\n range?: Record\n exists?: {\n field: { ... }\n }\n $and?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n $or?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n // ...\n}\n```\n\n### `SearchFilterValue`\n\nA filter field value.\n\n```ts\ntype SearchFilterValue = string | number | boolean\n```\n\n### `EntitySearchOptions`\n\n```ts\ntype EntitySearchOptions = {\n sort?: string | string[]\n from?: number\n size?: number\n hydrate?: boolean\n fields?: string[]\n aggs?: object\n include_deleted?: \"true\" | \"false\" | \"only\"\n include_scores?: boolean\n stable_for?: number\n stable_query_id?: string\n search_after?: string | number[]\n}\n```\n\n### `FieldsParam`\n\nList of entity fields to include or exclude in the response\n\nUse ! to exclude fields, e.g. `!_id` to exclude the `_id` field.\n\nGlobbing and globstart (**) is supported for nested fields.\n\n\n```ts\ntype FieldsParam = string[]\n```\n\n### `EntityImportParams`\n\nThe parameters for importing entities.\n\n```ts\ntype EntityImportParams = {\n S3Reference: {\n bucket: string\n key: string\n }\n schema: string\n}\n```\n\n### `GraphQueryRequest`\n\n```ts\ntype GraphQueryRequest = {\n seed: {\n entity_id: string // uuid\n node_id: string\n }\n graph: {\n nodes: Array<{\n id: { ... }\n schema: { ... }\n cardinality?: { ... }\n fields?: { ... }\n }>\n edges: Array<{\n from: { ... }\n to: { ... }\n }>\n }\n hydrate?: boolean\n apply_changesets?: boolean\n}\n```\n\n### `GraphSeed`\n\n```ts\ntype GraphSeed = {\n entity_id: string // uuid\n node_id: string\n}\n```\n\n### `GraphDefinition`\n\n```ts\ntype GraphDefinition = {\n nodes: Array<{\n id: string\n schema: string\n cardinality?: \"one\" | \"many\"\n fields?: object\n }>\n edges: Array<{\n from: string\n to: string\n }>\n}\n```\n\n### `GraphNode`\n\n```ts\ntype GraphNode = {\n id: string\n schema: string\n cardinality?: \"one\" | \"many\"\n fields?: object\n}\n```\n\n### `GraphEdge`\n\n```ts\ntype GraphEdge = {\n from: string\n to: string\n}\n```\n\n### `GraphQueryResponse`\n\n```ts\ntype GraphQueryResponse = {\n nodes?: Record\n entityNodes?: Record\n _schema?: string\n _title?: string\n _tags?: string[]\n _created_at?: string // date-time\n _updated_at?: string // date-time\n _deleted_at?: string // date-time\n _acl?: {\n view?: { ... }\n edit?: { ... }\n delete?: { ... }\n }\n _purpose?: string[]\n _purpose_name?: string[]\n _manifest?: string // uuid[]\n _changesets?: Record\n } | Array<{\n _id?: object\n _org?: string\n _owners?: Array<{\n org_id: { ... }\n user_id?: { ... }\n }>\n _schema?: string\n _title?: string\n _tags?: string[]\n _created_at?: string // date-time\n _updated_at?: string // date-time\n _deleted_at?: string // date-time\n _acl?: {\n view?: { ... }\n edit?: { ... }\n delete?: { ... }\n }\n _purpose?: string[]\n _purpose_name?: string[]\n _manifest?: string // uuid[]\n _changesets?: Record\n }>>\n edges: Array<{\n from: string\n to: string\n }>\n}\n```\n\n### `EntitySearchResults`\n\n```ts\ntype EntitySearchResults = {\n hits?: number\n results?: Array<{\n _id?: object\n _org?: string\n _owners?: Array<{\n org_id: { ... }\n user_id?: { ... }\n }>\n _schema?: string\n _title?: string\n _tags?: string[]\n _created_at?: string // date-time\n _updated_at?: string // date-time\n _deleted_at?: string // date-time\n _acl?: {\n view?: { ... }\n edit?: { ... }\n delete?: { ... }\n }\n _purpose?: string[]\n _purpose_name?: string[]\n _manifest?: string // uuid[]\n _changesets?: Record\n }>\n aggregations?: object\n stable_query_id?: string\n sort_end?: string | number[]\n}\n```\n\n### `SearchMappings`\n\nAdvanced: explicit Elasticsearch index mapping definitions for entity data\n\n\n```ts\ntype SearchMappings = Record\n```\n\n### `ActivityId`\n\nSee https://github.com/ulid/spec\n\n```ts\ntype ActivityId = string // ulid\n```\n\n### `ActivityCallerContext`\n\n```ts\ntype ActivityCallerContext = {\n EpilotAuth?: {\n token?: {\n sub?: { ... }\n email?: { ... }\n cognito:username?: { ... }\n custom:ivy_user_id?: { ... }\n }\n }\n}\n```\n\n### `ActivityType`\n\nA type for the activity. Used to categorize activities in the activity feed and for event subscriptions.\n\nBuilt-in entity activity types (custom activities can be defined as well):\n- EntityCreated\n- EntityUpdated\n- EntityDeleted\n- EntitySoftDeleted\n- EntityRestored\n- RelationsAdded\n- RelationsRemove\n\n```ts\ntype ActivityType = string\n```\n\n### `Activity`\n\n```ts\ntype Activity = {\n type: string\n title: string\n message: string\n payload?: Record\n pending?: boolean\n}\n```\n\n### `EntityOperation`\n\n```ts\ntype EntityOperation = {\n entity: string // uuid\n org: string\n activity_id?: string // ulid\n activity_type?: string\n operation: \"createEntity\" | \"updateEntity\" | \"deleteEntity\" | \"softDeleteEntity\" | \"restoreEntity\" | \"relationsAdded\" | \"relationsRemoved\" | \"relationsSoftDeleted\" | \"relationsRestored\" | \"relationsDeleted\"\n params?: {\n id?: string // uuid\n slug?: string\n }\n payload?: {\n _id?: object\n _org?: string\n _owners?: Array<{\n org_id: { ... }\n user_id?: { ... }\n }>\n _schema?: string\n _title?: string\n _tags?: string[]\n _created_at?: string // date-time\n _updated_at?: string // date-time\n _deleted_at?: string // date-time\n _acl?: {\n view?: { ... }\n edit?: { ... }\n delete?: { ... }\n }\n _purpose?: string[]\n _purpose_name?: string[]\n _manifest?: string // uuid[]\n _changesets?: Record\n }\n diff?: {\n added?: {\n _id?: { ... }\n _org?: { ... }\n _owners?: { ... }\n _schema?: { ... }\n _title?: { ... }\n _tags?: { ... }\n _created_at?: { ... }\n _updated_at?: { ... }\n _deleted_at?: { ... }\n _acl?: { ... }\n _purpose?: { ... }\n _purpose_name?: { ... }\n _manifest?: { ... }\n _changesets?: { ... }\n }\n updated?: {\n _id?: { ... }\n _org?: { ... }\n _owners?: { ... }\n _schema?: { ... }\n _title?: { ... }\n _tags?: { ... }\n _created_at?: { ... }\n _updated_at?: { ... }\n _deleted_at?: { ... }\n _acl?: { ... }\n _purpose?: { ... }\n _purpose_name?: { ... }\n _manifest?: { ... }\n _changesets?: { ... }\n }\n deleted?: {\n _id?: { ... }\n _org?: { ... }\n _owners?: { ... }\n _schema?: { ... }\n _title?: { ... }\n _tags?: { ... }\n _created_at?: { ... }\n _updated_at?: { ... }\n _deleted_at?: { ... }\n _acl?: { ... }\n _purpose?: { ... }\n _purpose_name?: { ... }\n _manifest?: { ... }\n _changesets?: { ... }\n }\n }\n _workflow_origin?: {\n workflow_exec_id?: string\n flow_template_id?: string\n }\n}\n```\n\n### `BaseActivityItem`\n\n```ts\ntype BaseActivityItem = {\n _id?: string // ulid\n timestamp?: string // date-time\n type: string\n title: string\n message: string\n payload?: Record\n pending?: boolean\n caller?: {\n EpilotAuth?: {\n token?: { ... }\n }\n }\n}\n```\n\n### `ActivityItem`\n\n```ts\ntype ActivityItem = {\n operations_total?: number\n operations?: Array<{\n entity: string // uuid\n org: string\n activity_id?: string // ulid\n activity_type?: string\n operation: \"createEntity\" | \"updateEntity\" | \"deleteEntity\" | \"softDeleteEntity\" | \"restoreEntity\" | \"relationsAdded\" | \"relationsRemoved\" | \"relationsSoftDeleted\" | \"relationsRestored\" | \"relationsDeleted\"\n params?: {\n id?: { ... }\n slug?: { ... }\n }\n payload?: {\n _id?: { ... }\n _org?: { ... }\n _owners?: { ... }\n _schema?: { ... }\n _title?: { ... }\n _tags?: { ... }\n _created_at?: { ... }\n _updated_at?: { ... }\n _deleted_at?: { ... }\n _acl?: { ... }\n _purpose?: { ... }\n _purpose_name?: { ... }\n _manifest?: { ... }\n _changesets?: { ... }\n }\n diff?: {\n added?: { ... }\n updated?: { ... }\n deleted?: { ... }\n }\n _workflow_origin?: {\n workflow_exec_id?: { ... }\n flow_template_id?: { ... }\n }\n }>\n}\n```\n\n### `BlueprintEntityId`\n\nReference to blueprint\n\n```ts\ntype BlueprintEntityId = string // uuid\n```\n\n### `ListSavedViewsResults`\n\n```ts\ntype ListSavedViewsResults = {\n hits?: number\n results?: Array<{\n id?: string // uuid\n created_at?: string\n updated_at?: string\n }>\n}\n```\n\n### `SavedViewId`\n\nGenerated uuid for a saved view\n\n```ts\ntype SavedViewId = string // uuid\n```\n\n### `SavedViewItem`\n\n```ts\ntype SavedViewItem = {\n id?: string // uuid\n created_at?: string\n updated_at?: string\n}\n```\n\n### `SavedViewPartial`\n\nA saved entity view\n\n```ts\ntype SavedViewPartial = {\n slug?: string[]\n name?: string\n org?: string\n shared?: boolean\n isFavoritedBy?: string[]\n created_by?: {\n user_id?: string\n } | {\n source?: \"SYSTEM\" | \"BLUEPRINT\"\n }\n ui_config?: Record\n shared_with?: string[]\n}\n```\n\n### `SavedView`\n\nA saved entity view\n\n```ts\ntype SavedView = {\n slug: string[]\n name: string\n org?: string\n shared?: boolean\n isFavoritedBy?: string[]\n created_by?: {\n user_id?: string\n } | {\n source?: \"SYSTEM\" | \"BLUEPRINT\"\n }\n ui_config: Record\n shared_with?: string[]\n}\n```\n\n### `Taxonomy`\n\n```ts\ntype Taxonomy = {\n slug?: string\n name?: string\n plural?: string\n kind?: \"system\" | \"user_defined\"\n type?: \"entity\" | \"relation\" | \"system\" | \"file_collection\"\n icon?: string\n color?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n deleted_at?: string // date-time\n created_by?: string\n enabled?: boolean\n order?: number\n enabled_locations?: \"account\" | \"contact\" | \"contract\" | \"email_template\" | \"file\" | \"journey\" | \"meter_counter\" | \"meter\" | \"opportunity\" | \"order\" | \"partner\" | \"price\" | \"product\" | \"submission\" | \"tax\" | \"message\" | \"portal_user\" | \"request\" | \"comment\" | string[]\n}\n```\n\n### `TaxonomyLocationId`\n\n```ts\ntype TaxonomyLocationId = \"account\" | \"contact\" | \"contract\" | \"email_template\" | \"file\" | \"journey\" | \"meter_counter\" | \"meter\" | \"opportunity\" | \"order\" | \"partner\" | \"price\" | \"product\" | \"submission\" | \"tax\" | \"message\" | \"portal_user\" | \"request\" | \"comment\"\n```\n\n### `TaxonomySearchIncludeArchivedParam`\n\nWhether to include archived labels in the search results\n- `true`: include archived labels\n- `false`: exclude archived labels\n- `only`: include only archived labels\n\nBy default, no archived labels are included in the search results.\n\n\n```ts\ntype TaxonomySearchIncludeArchivedParam = \"true\" | \"false\" | \"only\"\n```\n\n### `TaxonomyClassification`\n\n```ts\ntype TaxonomyClassification = {\n id?: string\n slug: string\n name: string\n parents?: string[]\n color?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n archived?: boolean\n starred?: boolean\n enabled_locations?: \"account\" | \"contact\" | \"contract\" | \"email_template\" | \"file\" | \"journey\" | \"meter_counter\" | \"meter\" | \"opportunity\" | \"order\" | \"partner\" | \"price\" | \"product\" | \"submission\" | \"tax\" | \"message\" | \"portal_user\" | \"request\" | \"comment\" | string[]\n enabled_purposes?: string[]\n _manifest?: string // uuid[]\n}\n```\n\n### `ClassificationId`\n\n```ts\ntype ClassificationId = string\n```\n\n### `ClassificationIdOrPattern`\n\n```ts\ntype ClassificationIdOrPattern = string | {\n pattern: string\n}\n```\n\n### `ClassificationSlug`\n\nURL-friendly identifier for the classification\n\n```ts\ntype ClassificationSlug = string\n```\n\n### `TaxonomySlug`\n\nURL-friendly name for taxonomy\n\n```ts\ntype TaxonomySlug = string\n```\n\n### `ClassificationsUpdate`\n\n```ts\ntype ClassificationsUpdate = {\n create?: Array<{\n id?: string\n slug: string\n name: string\n parents?: string[]\n color?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n archived?: boolean\n starred?: boolean\n enabled_locations?: \"account\" | \"contact\" | \"contract\" | \"email_template\" | \"file\" | \"journey\" | \"meter_counter\" | \"meter\" | \"opportunity\" | \"order\" | \"partner\" | \"price\" | \"product\" | \"submission\" | \"tax\" | \"message\" | \"portal_user\" | \"request\" | \"comment\" | string[]\n enabled_purposes?: string[]\n _manifest?: string // uuid[]\n }>\n update?: Array<{\n id?: string\n slug: string\n name: string\n parents?: string[]\n color?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n archived?: boolean\n starred?: boolean\n enabled_locations?: \"account\" | \"contact\" | \"contract\" | \"email_template\" | \"file\" | \"journey\" | \"meter_counter\" | \"meter\" | \"opportunity\" | \"order\" | \"partner\" | \"price\" | \"product\" | \"submission\" | \"tax\" | \"message\" | \"portal_user\" | \"request\" | \"comment\" | string[]\n enabled_purposes?: string[]\n _manifest?: string // uuid[]\n }>\n delete?: string | string[]\n}\n```\n\n### `TaxonomyBulkJobTriggerResponse`\n\n```ts\ntype TaxonomyBulkJobTriggerResponse = {\n job_id?: string // uuid\n status?: \"PENDING\" | \"FAILED\" | \"COMPLETED\" | \"CANCELLED\"\n}\n```\n\n### `TaxonomyBulkJobStatus`\n\nThe status of the bulk job\n\n```ts\ntype TaxonomyBulkJobStatus = \"PENDING\" | \"FAILED\" | \"COMPLETED\" | \"CANCELLED\"\n```\n\n### `TaxonomyBulkJobActionType`\n\n```ts\ntype TaxonomyBulkJobActionType = \"MOVE_CLASSIFICATIONS\" | \"MERGE_CLASSIFICATIONS\" | \"DELETE_CLASSIFICATIONS\"\n```\n\n### `TaxonomyBulkJob`\n\n```ts\ntype TaxonomyBulkJob = {\n job_id?: string // uuid\n job_status?: \"PENDING\" | \"FAILED\" | \"COMPLETED\" | \"CANCELLED\"\n failure_reason?: string\n action_type?: \"MOVE_CLASSIFICATIONS\" | \"MERGE_CLASSIFICATIONS\" | \"DELETE_CLASSIFICATIONS\"\n request?: {\n target_taxonomy?: string\n target_classification?: string\n classification_ids?: string[]\n }\n output?: {\n target_entities_count?: number\n affected_entities_count?: number\n failures_count?: number\n failed_entities?: string // uuid[]\n }\n created_by?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n org?: string\n}\n```\n\n### `ESClusterAssignment`\n\n```ts\ntype ESClusterAssignment = {\n orgId?: string\n cluster?: string\n}\n```\n\n### `SettingFlag`\n\n```ts\ntype SettingFlag = {\n name?: string\n enabled?: boolean\n}\n```\n\n### `ErrorObject`\n\nA generic error returned by the API\n\n```ts\ntype ErrorObject = {\n status?: number\n error?: string\n}\n```\n\n### `ChangesetCreator`\n\nIdentifies the actor that created the changeset.\n\n```ts\ntype ChangesetCreator = {\n type?: \"user\" | \"portal_user\" | \"api_client\" | \"automation\"\n id?: string\n}\n```\n\n### `Changeset`\n\nA pending proposed change for a single entity attribute, awaiting external confirmation or human approval.\n\n```ts\ntype Changeset = {\n proposed_value: unknown\n previous_value?: unknown\n created_at: string // date-time\n created_by?: {\n type?: \"user\" | \"portal_user\" | \"api_client\" | \"automation\"\n id?: string\n }\n edit_mode: \"external\" | \"approval\"\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n source?: string\n related_values?: Record\n}\n```\n\n### `ChangesetMap`\n\nMap of attribute name to pending changeset. At most one changeset per attribute.\n\n```ts\ntype ChangesetMap = Record\n}>\n```\n\n### `MeterReadingChangesetEntry`\n\nA meter readings changeset entry — service-managed by metering-api.\nStored on `Meter._meter_readings_changeset` array attribute. Each entry mirrors a\nClickHouse meter reading row plus a changeset metadata overlay.\n\nNote: `org_id` is NOT stored on the entry. The entries live on the Meter entity,\nwhic\n\n```ts\ntype MeterReadingChangesetEntry = {\n value: number\n direction?: \"feed-in\" | \"feed-out\"\n timestamp?: string // date-time\n meter_id: string // uuid\n counter_id: string // uuid\n source?: string\n reason?: string\n read_by?: string\n status?: \"valid\" | \"in-validation\" | \"implausible\"\n external_id?: string\n remark?: string\n metadata?: Record\n changeset_id: string\n edit_mode: \"external\" | \"approval\"\n match_strategy?: \"exact\" | \"fuzzy\"\n timestamp_tolerance?: \"exact\" | {\n type: \"same-day\"\n timezone?: string\n } | {\n type: \"within-seconds\"\n seconds: number\n }\n fuzzy_config?: {\n percentage_threshold?: number\n absolute_threshold?: number\n }\n created_at: string // date-time\n created_by?: {\n type?: \"user\" | \"portal_user\" | \"api_client\" | \"automation\"\n id?: string\n }\n previous?: {\n value?: number\n direction?: \"feed-in\" | \"feed-out\"\n timestamp?: string // date-time\n }\n}\n```\n\n### `EditMode`\n\nControls whether a write goes through immediately or is held as a pending entry\non the parent entity's `_changesets` map.\n\n- `direct`: write applied immediately. No changeset created.\n- `external`: write held as a pending changeset; auto-cleared on a matching direct/ERP write.\n- `approval`: write he\n\n```ts\ntype EditMode = \"direct\" | \"external\" | \"approval\"\n```\n\n### `EditModeConfig`\n\nConfiguration for `edit_mode: external` auto-clear matching.\nFields here (`match_strategy`, `fuzzy_config`) only take effect when\n`edit_mode` is `external`. They are ignored for `edit_mode: approval`,\nwhich never auto-clears and is resolved exclusively via the\n`:apply` / `:dismiss` changeset endpoin\n\n```ts\ntype EditModeConfig = {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: \"suffix\" | \"digits_only\" | \"normalize_phone\" | \"ignore_fields\" | \"set_equivalent\" | \"entry_match\" | \"relation_set\" | \"regex\"\n suffix_length?: number\n fields_to_ignore?: string[]\n regex_flags?: string\n country_code?: string\n match_on?: string\n key?: string | string[]\n mode?: \"subset\" | \"exact_set\"\n ordered?: boolean\n require_tags_match?: boolean\n pattern?: string\n }\n}\n```\n\n### `FuzzyConfig`\n\nConfiguration for fuzzy auto-clear matching on `edit_mode: external` attributes.\nNot used for `edit_mode: approval`.\n\nType compatibility with attribute shape is enforced at schema save time:\n- scalar string attributes: `suffix`, `digits_only`, `regex`\n- repeatable attributes: `set_equivalent`, `entr\n\n```ts\ntype FuzzyConfig = {\n type: \"suffix\" | \"digits_only\" | \"normalize_phone\" | \"ignore_fields\" | \"set_equivalent\" | \"entry_match\" | \"relation_set\" | \"regex\"\n suffix_length?: number\n fields_to_ignore?: string[]\n regex_flags?: string\n country_code?: string\n match_on?: string\n key?: string | string[]\n mode?: \"subset\" | \"exact_set\"\n ordered?: boolean\n require_tags_match?: boolean\n pattern?: string\n}\n```\n\n### `MatchStrategy`\n\nStrategy for auto-clearing a changeset on an `edit_mode: external` attribute\nwhen a direct write (`?direct=true`) arrives — typically an ERP inbound sync.\nIgnored for `edit_mode: approval`, which does not auto-clear and is resolved\nexclusively via the `:apply` / `:dismiss` changeset endpoints.\n- `ex\n\n```ts\ntype MatchStrategy = \"exact\" | \"fuzzy\" | \"any\"\n```\n" +"# Entity API\n\n- **Base URL:** `https://entity.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/entity](https://docs.epilot.io/api/entity)\n\n## Usage\n\n```ts\nimport { epilot } from '@epilot/sdk'\n\nepilot.authorize(() => '')\nconst { data } = await epilot.entity.listSchemas(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from '@epilot/sdk/entity'\n\nconst entityClient = getClient()\nauthorize(entityClient, () => '')\nconst { data } = await entityClient.listSchemas(...)\n```\n\n## Operations\n\n**Schemas**\n- [`listSchemas`](#listschemas)\n- [`listSchemasV2`](#listschemasv2)\n- [`getSchema`](#getschema)\n- [`putSchema`](#putschema)\n- [`deleteSchema`](#deleteschema)\n- [`getJsonSchema`](#getjsonschema)\n- [`getSchemaExample`](#getschemaexample)\n- [`getSchemaVersions`](#getschemaversions)\n- [`freezeSchema`](#freezeschema)\n- [`unfreezeSchema`](#unfreezeschema)\n- [`listAvailableCapabilities`](#listavailablecapabilities)\n- [`listSchemaBlueprints`](#listschemablueprints)\n- [`listTaxonomyClassificationsForSchema`](#listtaxonomyclassificationsforschema)\n- [`createSchemaAttribute`](#createschemaattribute)\n- [`getSchemaAttribute`](#getschemaattribute)\n- [`putSchemaAttribute`](#putschemaattribute)\n- [`deleteSchemaAttribute`](#deleteschemaattribute)\n- [`createSchemaCapability`](#createschemacapability)\n- [`getSchemaCapability`](#getschemacapability)\n- [`putSchemaCapability`](#putschemacapability)\n- [`deleteSchemaCapability`](#deleteschemacapability)\n- [`createSchemaGroup`](#createschemagroup)\n- [`getSchemaGroup`](#getschemagroup)\n- [`putSchemaGroup`](#putschemagroup)\n- [`deleteSchemaGroup`](#deleteschemagroup)\n- [`createSchemaGroupHeadline`](#createschemagroupheadline)\n- [`getSchemaGroupHeadline`](#getschemagroupheadline)\n- [`putSchemaGroupHeadline`](#putschemagroupheadline)\n- [`deleteSchemaGroupHeadline`](#deleteschemagroupheadline)\n\n**Entities**\n- [`searchEntities`](#searchentities)\n- [`listEntities`](#listentities)\n- [`queryEntityGraph`](#queryentitygraph)\n- [`createEntity`](#createentity)\n- [`validateEntity`](#validateentity)\n- [`validateEntityV2`](#validateentityv2)\n- [`upsertEntity`](#upsertentity)\n- [`getEntityV2`](#getentityv2)\n- [`restoreEntity`](#restoreentity)\n- [`reindexEntity`](#reindexentity)\n- [`getEntity`](#getentity)\n- [`updateEntity`](#updateentity)\n- [`patchEntity`](#patchentity)\n- [`deleteEntity`](#deleteentity)\n- [`autocomplete`](#autocomplete)\n- [`wipeAllEntities`](#wipeallentities)\n- [`applyChangeset`](#applychangeset)\n- [`dismissChangeset`](#dismisschangeset)\n- [`listChangesets`](#listchangesets)\n\n**Activity**\n- [`createActivity`](#createactivity)\n- [`getActivity`](#getactivity)\n- [`attachActivity`](#attachactivity)\n- [`getEntityActivityFeed`](#getentityactivityfeed)\n\n**Relations**\n- [`getRelations`](#getrelations)\n- [`addRelations`](#addrelations)\n- [`removeRelations`](#removerelations)\n- [`getRelationsV2`](#getrelationsv2)\n- [`getRelationsV3`](#getrelationsv3)\n- [`getRelatedEntitiesCount`](#getrelatedentitiescount)\n- [`updateRelation`](#updaterelation)\n- [`deleteRelation`](#deleterelation)\n\n**Import-Export**\n- [`exportEntities`](#exportentities)\n- [`importEntities`](#importentities)\n- [`abortEntityImport`](#abortentityimport)\n\n**Saved Views**\n- [`listSavedViews`](#listsavedviews)\n- [`createSavedView`](#createsavedview)\n- [`getSavedView`](#getsavedview)\n- [`updateSavedView`](#updatesavedview)\n- [`patchSavedView`](#patchsavedview)\n- [`deleteSavedView`](#deletesavedview)\n- [`listFavoriteViewsForUser`](#listfavoriteviewsforuser)\n\n**Taxonomy**\n- [`listTaxonomies`](#listtaxonomies)\n- [`createTaxonomy`](#createtaxonomy)\n- [`getTaxonomy`](#gettaxonomy)\n- [`updateTaxonomy`](#updatetaxonomy)\n- [`deleteTaxonomy`](#deletetaxonomy)\n- [`updateClassificationsForTaxonomy`](#updateclassificationsfortaxonomy)\n- [`createTaxonomyClassification`](#createtaxonomyclassification)\n- [`getTaxonomyClassification`](#gettaxonomyclassification)\n- [`updateTaxonomyClassification`](#updatetaxonomyclassification)\n- [`deleteTaxonomyClassification`](#deletetaxonomyclassification)\n- [`taxonomyAutocomplete`](#taxonomyautocomplete)\n- [`taxonomiesClassificationsSearch`](#taxonomiesclassificationssearch)\n- [`getTaxonomyBulkActionJobs`](#gettaxonomybulkactionjobs)\n- [`getTaxonomyBulkActionJobById`](#gettaxonomybulkactionjobbyid)\n- [`cancelBulkAction`](#cancelbulkaction)\n- [`bulkMoveClassifications`](#bulkmoveclassifications)\n- [`bulkMergeClassifications`](#bulkmergeclassifications)\n- [`bulkDeleteClassifications`](#bulkdeleteclassifications)\n\n**Schemas**\n- [`ExportJobId`](#exportjobid)\n- [`Language`](#language)\n- [`IsTemplate`](#istemplate)\n- [`SchemaId`](#schemaid)\n- [`EntitySchema`](#entityschema)\n- [`EntitySchemaItem`](#entityschemaitem)\n- [`GenerateEntityTableAIFiltersRequest`](#generateentitytableaifiltersrequest)\n- [`GenerateEntityTableAIFiltersResponse`](#generateentitytableaifiltersresponse)\n- [`EntityTableFilterSearch`](#entitytablefiltersearch)\n- [`EntityTableFilterOption`](#entitytablefilteroption)\n- [`EntitySchemaGroup`](#entityschemagroup)\n- [`EntitySchemaGroupWithCompositeID`](#entityschemagroupwithcompositeid)\n- [`Attribute`](#attribute)\n- [`AttributeWithCompositeID`](#attributewithcompositeid)\n- [`BaseAttribute`](#baseattribute)\n- [`TextAttribute`](#textattribute)\n- [`LinkAttribute`](#linkattribute)\n- [`InternalAttribute`](#internalattribute)\n- [`BooleanAttribute`](#booleanattribute)\n- [`DateAttribute`](#dateattribute)\n- [`CountryAttribute`](#countryattribute)\n- [`SelectAttribute`](#selectattribute)\n- [`MultiSelectAttribute`](#multiselectattribute)\n- [`StatusAttribute`](#statusattribute)\n- [`SequenceAttribute`](#sequenceattribute)\n- [`FileAttribute`](#fileattribute)\n- [`CurrencyAttribute`](#currencyattribute)\n- [`SummaryField`](#summaryfield)\n- [`EntityAction`](#entityaction)\n- [`RelationAttribute`](#relationattribute)\n- [`UserRelationAttribute`](#userrelationattribute)\n- [`PartnerOrganisationAttribute`](#partnerorganisationattribute)\n- [`PortalAccessAttribute`](#portalaccessattribute)\n- [`DefaultAddressFields`](#defaultaddressfields)\n- [`AddressAttribute`](#addressattribute)\n- [`AddressRelationAttribute`](#addressrelationattribute)\n- [`PaymentMethodRelationAttribute`](#paymentmethodrelationattribute)\n- [`InvitationEmailAttribute`](#invitationemailattribute)\n- [`AutomationAttribute`](#automationattribute)\n- [`InternalUserAttribute`](#internaluserattribute)\n- [`PurposeAttribute`](#purposeattribute)\n- [`RepeatableAttribute`](#repeatableattribute)\n- [`TagsAttribute`](#tagsattribute)\n- [`MessageEmailAddressAttribute`](#messageemailaddressattribute)\n- [`NumberAttribute`](#numberattribute)\n- [`TableAttribute`](#tableattribute)\n- [`ConsentAttribute`](#consentattribute)\n- [`OrderedListAttribute`](#orderedlistattribute)\n- [`EmailAttribute`](#emailattribute)\n- [`PhoneAttribute`](#phoneattribute)\n- [`PaymentAttribute`](#paymentattribute)\n- [`PriceComponentAttribute`](#pricecomponentattribute)\n- [`ComputedAttribute`](#computedattribute)\n- [`PartnerStatusAttribute`](#partnerstatusattribute)\n- [`SummaryAttribute`](#summaryattribute)\n- [`GroupHeadline`](#groupheadline)\n- [`GroupHeadlineWithCompositeID`](#groupheadlinewithcompositeid)\n- [`BaseConditionDefinition`](#baseconditiondefinition)\n- [`ScalarConditionDefinition`](#scalarconditiondefinition)\n- [`SelectConditionDefinition`](#selectconditiondefinition)\n- [`LocationConditionDefinition`](#locationconditiondefinition)\n- [`ConditionDefinition`](#conditiondefinition)\n- [`EntitySlug`](#entityslug)\n- [`EntityCapability`](#entitycapability)\n- [`EntityCapabilityWithCompositeID`](#entitycapabilitywithcompositeid)\n- [`EntityViewDisabled`](#entityviewdisabled)\n- [`EntityDefaultTable`](#entitydefaulttable)\n- [`EntityDefaultCreate`](#entitydefaultcreate)\n- [`EntityDefaultEdit`](#entitydefaultedit)\n- [`RedirectEntityView`](#redirectentityview)\n- [`EntityId`](#entityid)\n- [`BaseEntity`](#baseentity)\n- [`Entity`](#entity)\n- [`NullableEntity`](#nullableentity)\n- [`EntityOwner`](#entityowner)\n- [`EntityAcl`](#entityacl)\n- [`HydratedEntity`](#hydratedentity)\n- [`EntityItem`](#entityitem)\n- [`EntityValidationError`](#entityvalidationerror)\n- [`EntityValidationResultSuccess`](#entityvalidationresultsuccess)\n- [`EntityValidationResultError`](#entityvalidationresulterror)\n- [`EntityValidationResult`](#entityvalidationresult)\n- [`EntityValidationV2Error`](#entityvalidationv2error)\n- [`EntityValidationV2ResultSuccess`](#entityvalidationv2resultsuccess)\n- [`EntityValidationV2ResultError`](#entityvalidationv2resulterror)\n- [`EntityValidationV2Result`](#entityvalidationv2result)\n- [`HydratedEntityItem`](#hydratedentityitem)\n- [`GetRelationsResp`](#getrelationsresp)\n- [`GetRelationsRespWithPagination`](#getrelationsrespwithpagination)\n- [`GetRelatedEntitiesCount`](#getrelatedentitiescount)\n- [`RelationEntity`](#relationentity)\n- [`RelationItem`](#relationitem)\n- [`EntitySearchIncludeDeletedParam`](#entitysearchincludedeletedparam)\n- [`EntitySearchParams`](#entitysearchparams)\n- [`EntityListParams`](#entitylistparams)\n- [`SearchFilter`](#searchfilter)\n- [`SearchFilterValue`](#searchfiltervalue)\n- [`EntitySearchOptions`](#entitysearchoptions)\n- [`FieldsParam`](#fieldsparam)\n- [`EntityImportParams`](#entityimportparams)\n- [`GraphQueryRequest`](#graphqueryrequest)\n- [`GraphSeed`](#graphseed)\n- [`GraphDefinition`](#graphdefinition)\n- [`GraphNode`](#graphnode)\n- [`GraphEdge`](#graphedge)\n- [`GraphQueryResponse`](#graphqueryresponse)\n- [`EntitySearchResults`](#entitysearchresults)\n- [`SearchMappings`](#searchmappings)\n- [`ActivityId`](#activityid)\n- [`ActivityCallerContext`](#activitycallercontext)\n- [`ActivityType`](#activitytype)\n- [`Activity`](#activity)\n- [`EntityOperation`](#entityoperation)\n- [`EntityOperationSourceContext`](#entityoperationsourcecontext)\n- [`BaseActivityItem`](#baseactivityitem)\n- [`ActivityItem`](#activityitem)\n- [`BlueprintEntityId`](#blueprintentityid)\n- [`ListSavedViewsResults`](#listsavedviewsresults)\n- [`SavedViewId`](#savedviewid)\n- [`SavedViewItem`](#savedviewitem)\n- [`SavedViewPartial`](#savedviewpartial)\n- [`SavedView`](#savedview)\n- [`Taxonomy`](#taxonomy)\n- [`TaxonomyLocationId`](#taxonomylocationid)\n- [`TaxonomySearchIncludeArchivedParam`](#taxonomysearchincludearchivedparam)\n- [`TaxonomyClassification`](#taxonomyclassification)\n- [`ClassificationId`](#classificationid)\n- [`ClassificationIdOrPattern`](#classificationidorpattern)\n- [`ClassificationSlug`](#classificationslug)\n- [`TaxonomySlug`](#taxonomyslug)\n- [`ClassificationsUpdate`](#classificationsupdate)\n- [`TaxonomyBulkJobTriggerResponse`](#taxonomybulkjobtriggerresponse)\n- [`TaxonomyBulkJobStatus`](#taxonomybulkjobstatus)\n- [`TaxonomyBulkJobActionType`](#taxonomybulkjobactiontype)\n- [`TaxonomyBulkJob`](#taxonomybulkjob)\n- [`ESClusterAssignment`](#esclusterassignment)\n- [`SettingFlag`](#settingflag)\n- [`ErrorObject`](#errorobject)\n- [`ChangesetCreator`](#changesetcreator)\n- [`Changeset`](#changeset)\n- [`ChangesetMap`](#changesetmap)\n- [`MeterReadingChangesetEntry`](#meterreadingchangesetentry)\n- [`EditMode`](#editmode)\n- [`EditModeConfig`](#editmodeconfig)\n- [`FuzzyConfig`](#fuzzyconfig)\n- [`MatchStrategy`](#matchstrategy)\n\n### `listSchemas`\n\nGet the latest versions of all schemas\n\n`GET /v1/entity/schemas`\n\n```ts\nconst { data } = await client.listSchemas({\n unpublished: true,\n latest: true,\n exclude: ['...'],\n include: ['...'],\n})\n```\n\n
\nResponse\n\n```json\n{\n \"results\": [\n {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"comment\": \"string\",\n \"source\": {},\n \"frozen\": true,\n \"latest\": true,\n \"_summary\": true,\n \"slug\": \"contact\",\n \"version\": 1,\n \"blueprint\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"enable_setting\": [\"360_features\"],\n \"name\": \"Contact\",\n \"plural\": \"Contacts\",\n \"description\": \"Example description\",\n \"docs_url\": \"https://docs.epilot.io/docs/pricing/entities\",\n \"category\": \"customer_relations\",\n \"published\": false,\n \"draft\": false,\n \"icon\": \"person\",\n \"title_template\": \"{{first_name}} {{last_name}}\",\n \"ui_config\": {},\n \"capabilities\": [],\n \"group_settings\": [],\n \"layout_settings\": {},\n \"dialog_config\": {},\n \"attributes\": [],\n \"_purpose\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"explicit_search_mappings\": {},\n \"group_headlines\": [],\n \"conditions\": []\n }\n ]\n}\n```\n\n
\n\n---\n\n### `listSchemasV2`\n\nGet the latest versions of all schemas.\nReturns summary schemas by default (only summary attributes, no capabilities).\nUse ?full=true for complete schemas.\n\n`GET /v2/entity/schemas`\n\n```ts\nconst { data } = await client.listSchemasV2({\n full: true,\n unpublished: true,\n latest: true,\n exclude: ['...'],\n include: ['...'],\n})\n```\n\n
\nResponse\n\n```json\n{\n \"results\": [\n {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"comment\": \"string\",\n \"source\": {},\n \"frozen\": true,\n \"latest\": true,\n \"_summary\": true,\n \"slug\": \"contact\",\n \"version\": 1,\n \"blueprint\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"enable_setting\": [\"360_features\"],\n \"name\": \"Contact\",\n \"plural\": \"Contacts\",\n \"description\": \"Example description\",\n \"docs_url\": \"https://docs.epilot.io/docs/pricing/entities\",\n \"category\": \"customer_relations\",\n \"published\": false,\n \"draft\": false,\n \"icon\": \"person\",\n \"title_template\": \"{{first_name}} {{last_name}}\",\n \"ui_config\": {},\n \"capabilities\": [],\n \"group_settings\": [],\n \"layout_settings\": {},\n \"dialog_config\": {},\n \"attributes\": [],\n \"_purpose\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"explicit_search_mappings\": {},\n \"group_headlines\": [],\n \"conditions\": []\n }\n ]\n}\n```\n\n
\n\n---\n\n### `getSchema`\n\nBy default gets the current version of the Schema (frozen version if frozen, otherwise latest).\nPass ?latest=true to get the latest version when the schema is frozen.\nPass ?id= to get a specific versi\n\n`GET /v1/entity/schemas/{slug}`\n\n```ts\nconst { data } = await client.getSchema({\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n latest: true,\n})\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"comment\": \"string\",\n \"source\": {\n \"id\": \"string\",\n \"type\": \"string\"\n },\n \"frozen\": true,\n \"latest\": true,\n \"_summary\": true,\n \"slug\": \"contact\",\n \"version\": 1,\n \"blueprint\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"enable_setting\": [\"360_features\"],\n \"name\": \"Contact\",\n \"plural\": \"Contacts\",\n \"description\": \"Example description\",\n \"docs_url\": \"https://docs.epilot.io/docs/pricing/entities\",\n \"category\": \"customer_relations\",\n \"published\": false,\n \"draft\": false,\n \"icon\": \"person\",\n \"title_template\": \"{{first_name}} {{last_name}}\",\n \"ui_config\": {\n \"table_view\": {\n \"view_type\": \"default\",\n \"row_actions\": [\"string\"],\n \"bulk_actions\": [\"string\"],\n \"navbar_actions\": [],\n \"enable_thumbnails\": false\n },\n \"create_view\": {\n \"view_type\": \"default\",\n \"search_params\": {}\n },\n \"edit_view\": {\n \"view_type\": \"default\",\n \"search_params\": {},\n \"summary_attributes\": [\"email\"]\n },\n \"single_view\": {\n \"view_type\": \"default\",\n \"search_params\": {},\n \"summary_attributes\": [\"email\"]\n },\n \"list_item\": {\n \"summary_attributes\": [],\n \"quick_actions\": [],\n \"ui_config\": {}\n },\n \"sharing\": {\n \"show_sharing_button\": true\n },\n \"grid_layout\": {\n \"id\": \"string\",\n \"columns\": 0,\n \"cells\": [0]\n },\n \"widget_order\": [\"string\"]\n },\n \"capabilities\": [\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"customer_messaging\",\n \"title\": \"Messaging\",\n \"attributes\": [],\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"app_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"ui_config\": {},\n \"ui_hooks\": [],\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [],\n \"schemas\": []\n }\n ],\n \"group_settings\": [\n {\n \"id\": \"e18a532b-ae79-4d86-a6a5-e5dbfb579d14\",\n \"label\": \"Contact Details\",\n \"expanded\": true,\n \"order\": 1\n },\n {\n \"id\": \"e9a1ae28-27ba-4fa0-a79c-e279cc5c4a6e\",\n \"label\": \"Address Details\",\n \"expanded\": false,\n \"order\": 2,\n \"info_tooltip_title\": {}\n }\n ],\n \"layout_settings\": {\n \"grid_gap\": \"string\",\n \"grid_template_columns\": \"string\"\n },\n \"dialog_config\": {},\n \"attributes\": [\n {\n \"name\": \"email\",\n \"type\": \"email\",\n \"label\": \"Email\",\n \"required\": true\n },\n {\n \"name\": \"first_name\",\n \"type\": \"string\",\n \"label\": \"First Name\"\n }\n ],\n \"_purpose\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"explicit_search_mappings\": {\n \"image\": {\n \"type\": \"keyword\",\n \"index\": false\n }\n },\n \"group_headlines\": [\n {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"layout\": \"string\",\n \"group\": \"string\",\n \"order\": 0,\n \"type\": \"headline\",\n \"enable_divider\": false,\n \"divider\": \"top_divider\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ],\n \"conditions\": [\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"delivery_area\",\n \"label\": \"Delivery Area\",\n \"type\": \"string\"\n }\n ]\n}\n```\n\n
\n\n---\n\n### `putSchema`\n\nCreate or update a schema with a new version.\nWhen the schema is frozen, writes update the latest version without affecting the frozen version.\n\n`PUT /v1/entity/schemas/{slug}`\n\n```ts\nconst { data } = await client.putSchema(\n {\n slug: 'example',\n draft: true,\n },\n {\n slug: 'contact',\n version: 1,\n blueprint: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n feature_flag: 'FF_MY_FEATURE_FLAG',\n enable_setting: ['360_features'],\n name: 'Contact',\n plural: 'Contacts',\n description: 'Example description',\n docs_url: 'https://docs.epilot.io/docs/pricing/entities',\n category: 'customer_relations',\n published: false,\n draft: false,\n icon: 'person',\n title_template: '{{first_name}} {{last_name}}',\n ui_config: {\n table_view: {\n view_type: 'default',\n row_actions: ['string'],\n bulk_actions: ['string'],\n navbar_actions: [ /* ... */ ],\n enable_thumbnails: false\n },\n create_view: {\n view_type: 'default',\n search_params: {}\n },\n edit_view: {\n view_type: 'default',\n search_params: {},\n summary_attributes: ['email']\n },\n single_view: {\n view_type: 'default',\n search_params: {},\n summary_attributes: ['email']\n },\n list_item: {\n summary_attributes: [ /* ... */ ],\n quick_actions: [ /* ... */ ],\n ui_config: { /* ... */ }\n },\n sharing: {\n show_sharing_button: true\n },\n grid_layout: {\n id: 'string',\n columns: 0,\n cells: [0]\n },\n widget_order: ['string']\n },\n capabilities: [\n {\n id: 'd5839b94-ba20-4225-a78e-76951d352bd6',\n name: 'customer_messaging',\n title: 'Messaging',\n attributes: [ /* ... */ ],\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n app_id: '123e4567-e89b-12d3-a456-426614174000',\n ui_config: { /* ... */ },\n ui_hooks: [ /* ... */ ],\n feature_flag: 'FF_MY_FEATURE_FLAG',\n settings_flag: [ /* ... */ ],\n schemas: [ /* ... */ ]\n }\n ],\n group_settings: [\n {\n id: 'e18a532b-ae79-4d86-a6a5-e5dbfb579d14',\n label: 'Contact Details',\n expanded: true,\n order: 1\n },\n {\n id: 'e9a1ae28-27ba-4fa0-a79c-e279cc5c4a6e',\n label: 'Address Details',\n expanded: false,\n order: 2,\n info_tooltip_title: { /* ... */ }\n }\n ],\n layout_settings: {\n grid_gap: 'string',\n grid_template_columns: 'string'\n },\n dialog_config: {},\n attributes: [\n {\n name: 'email',\n type: 'email',\n label: 'Email',\n required: true\n },\n {\n name: 'first_name',\n type: 'string',\n label: 'First Name'\n },\n /* ... 5 more */\n ],\n _purpose: ['string'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n explicit_search_mappings: {\n image: {\n type: 'keyword',\n index: false\n }\n },\n group_headlines: [\n {\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n name: 'string',\n label: 'string',\n layout: 'string',\n group: 'string',\n order: 0,\n type: 'headline',\n enable_divider: false,\n divider: 'top_divider',\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000']\n }\n ],\n conditions: [\n {\n id: 'd5839b94-ba20-4225-a78e-76951d352bd6',\n name: 'delivery_area',\n label: 'Delivery Area',\n type: 'string'\n }\n ]\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"comment\": \"string\",\n \"source\": {\n \"id\": \"string\",\n \"type\": \"string\"\n },\n \"frozen\": true,\n \"latest\": true,\n \"_summary\": true,\n \"slug\": \"contact\",\n \"version\": 1,\n \"blueprint\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"enable_setting\": [\"360_features\"],\n \"name\": \"Contact\",\n \"plural\": \"Contacts\",\n \"description\": \"Example description\",\n \"docs_url\": \"https://docs.epilot.io/docs/pricing/entities\",\n \"category\": \"customer_relations\",\n \"published\": false,\n \"draft\": false,\n \"icon\": \"person\",\n \"title_template\": \"{{first_name}} {{last_name}}\",\n \"ui_config\": {\n \"table_view\": {\n \"view_type\": \"default\",\n \"row_actions\": [\"string\"],\n \"bulk_actions\": [\"string\"],\n \"navbar_actions\": [],\n \"enable_thumbnails\": false\n },\n \"create_view\": {\n \"view_type\": \"default\",\n \"search_params\": {}\n },\n \"edit_view\": {\n \"view_type\": \"default\",\n \"search_params\": {},\n \"summary_attributes\": [\"email\"]\n },\n \"single_view\": {\n \"view_type\": \"default\",\n \"search_params\": {},\n \"summary_attributes\": [\"email\"]\n },\n \"list_item\": {\n \"summary_attributes\": [],\n \"quick_actions\": [],\n \"ui_config\": {}\n },\n \"sharing\": {\n \"show_sharing_button\": true\n },\n \"grid_layout\": {\n \"id\": \"string\",\n \"columns\": 0,\n \"cells\": [0]\n },\n \"widget_order\": [\"string\"]\n },\n \"capabilities\": [\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"customer_messaging\",\n \"title\": \"Messaging\",\n \"attributes\": [],\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"app_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"ui_config\": {},\n \"ui_hooks\": [],\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [],\n \"schemas\": []\n }\n ],\n \"group_settings\": [\n {\n \"id\": \"e18a532b-ae79-4d86-a6a5-e5dbfb579d14\",\n \"label\": \"Contact Details\",\n \"expanded\": true,\n \"order\": 1\n },\n {\n \"id\": \"e9a1ae28-27ba-4fa0-a79c-e279cc5c4a6e\",\n \"label\": \"Address Details\",\n \"expanded\": false,\n \"order\": 2,\n \"info_tooltip_title\": {}\n }\n ],\n \"layout_settings\": {\n \"grid_gap\": \"string\",\n \"grid_template_columns\": \"string\"\n },\n \"dialog_config\": {},\n \"attributes\": [\n {\n \"name\": \"email\",\n \"type\": \"email\",\n \"label\": \"Email\",\n \"required\": true\n },\n {\n \"name\": \"first_name\",\n \"type\": \"string\",\n \"label\": \"First Name\"\n }\n ],\n \"_purpose\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"explicit_search_mappings\": {\n \"image\": {\n \"type\": \"keyword\",\n \"index\": false\n }\n },\n \"group_headlines\": [\n {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"layout\": \"string\",\n \"group\": \"string\",\n \"order\": 0,\n \"type\": \"headline\",\n \"enable_divider\": false,\n \"divider\": \"top_divider\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ],\n \"conditions\": [\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"delivery_area\",\n \"label\": \"Delivery Area\",\n \"type\": \"string\"\n }\n ]\n}\n```\n\n
\n\n---\n\n### `deleteSchema`\n\nDelete a schema, or a specific version of a schema\n\n`DELETE /v1/entity/schemas/{slug}`\n\n```ts\nconst { data } = await client.deleteSchema({\n slug: 'example',\n})\n```\n\n---\n\n### `getJsonSchema`\n\nGet formal JSON schema definition draft 2020-12 for the given epilot schema\n\n`GET /v1/entity/schemas/{slug}/json/schema`\n\n```ts\nconst { data } = await client.getJsonSchema({\n slug: 'example',\n dereference: true,\n})\n```\n\n
\nResponse\n\n```json\n{\n \"$schema\": \"http://json-schema.org/draft/2020-12/schema\",\n \"type\": \"object\",\n \"properties\": {\n \"_id\": {\n \"type\": \"string\",\n \"format\": \"uuid\",\n \"example\": \"123e4567-e89b-12d3-a456-426614174000\"\n },\n \"_org\": {\n \"type\": \"string\",\n \"description\": \"Organization Id the entity belongs to\",\n \"readOnly\": true\n },\n \"_owners\": {\n \"type\": \"array\",\n \"readOnly\": true,\n \"items\": {}\n },\n \"_schema\": {\n \"readOnly\": true,\n \"type\": \"string\"\n },\n \"_title\": {\n \"readOnly\": true,\n \"type\": \"string\"\n },\n \"_tags\": {\n \"type\": \"array\",\n \"nullable\": true,\n \"items\": {}\n },\n \"_manifest\": {\n \"type\": \"array\",\n \"description\": \"Manifest ID used to create/update the entity\",\n \"items\": {}\n },\n \"_created_at\": {\n \"readOnly\": true,\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"_updated_at\": {\n \"readOnly\": true,\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"_acl\": {\n \"readOnly\": true,\n \"type\": \"object\",\n \"description\": \"Access control list (ACL) for an entity. Defines sharing access to external orgs or users.\",\n \"additionalProperties\": true,\n \"properties\": {}\n },\n \"title\": {\n \"type\": \"string\",\n \"nullable\": true,\n \"enum\": [\"Dr.\", \"Prof.\", \"Prof. Dr.\", null]\n },\n \"salutation\": {\n \"type\": \"string\",\n \"nullable\": true,\n \"enum\": [\"Mr.\", \"Ms. / Mrs.\", \"Company\", \"Contact Person\", \"Company/Contact Person\", \"Spouse\", \"Family\", \"Ownership\", \"Assembly\", \"Other\", null]\n },\n \"first_name\": {\n \"type\": \"string\"\n },\n \"last_name\": {\n \"type\": \"string\"\n },\n \"customer_number\": {\n \"type\": \"string\",\n \"nullable\": true\n },\n \"birthdate\": {\n \"type\": \"string\",\n \"format\": \"date\",\n \"nullable\": true\n },\n \"account\": {\n \"type\": \"object\",\n \"nullable\": true,\n \"properties\": {},\n \"additionalProperties\": true\n },\n \"address\": {\n \"type\": \"array\",\n \"nullable\": true,\n \"description\": \"Addresses as a list of object, the element with index 0 is treated as the primary one.\\n\",\n \"items\": {}\n },\n \"email\": {\n \"type\": \"array\",\n \"nullable\": true,\n \"description\": \"Email addresses as a list of object, the element with index 0 is treated as the primary one.\\n\",\n \"items\": {}\n },\n \"phone\": {\n \"type\": \"array\",\n \"description\": \"Phone numbers as a list of object, the element with index 0 is treated as the primary one.\\n\",\n \"items\": {}\n }\n },\n \"required\": [\"first_name\", \"last_name\", \"_id\", \"_org\", \"_owners\", \"_schema\", \"_title\", \"_tags\", \"_created_at\", \"_updated_at\", \"_acl\"]\n}\n```\n\n
\n\n---\n\n### `getSchemaExample`\n\nGet a full example entity for the given schema\n\n`GET /v1/entity/schemas/{slug}/json/example`\n\n```ts\nconst { data } = await client.getSchemaExample({\n slug: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{}\n```\n\n
\n\n---\n\n### `getSchemaVersions`\n\nGet all versions of this schema ordered by the latest versions including drafts.\n\n`GET /v1/entity/schemas/{slug}/versions`\n\n```ts\nconst { data } = await client.getSchemaVersions({\n slug: 'example',\n versions_from: 1,\n versions_size: 1,\n drafts_from: 1,\n drafts_size: 1,\n fields: ['...'],\n})\n```\n\n
\nResponse\n\n```json\n{\n \"versions\": [\n {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"comment\": \"string\",\n \"source\": {},\n \"frozen\": true,\n \"latest\": true,\n \"_summary\": true,\n \"slug\": \"contact\",\n \"version\": 1,\n \"blueprint\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"enable_setting\": [\"360_features\"],\n \"name\": \"Contact\",\n \"plural\": \"Contacts\",\n \"description\": \"Example description\",\n \"docs_url\": \"https://docs.epilot.io/docs/pricing/entities\",\n \"category\": \"customer_relations\",\n \"published\": false,\n \"draft\": false,\n \"icon\": \"person\",\n \"title_template\": \"{{first_name}} {{last_name}}\",\n \"ui_config\": {},\n \"capabilities\": [],\n \"group_settings\": [],\n \"layout_settings\": {},\n \"dialog_config\": {},\n \"attributes\": [],\n \"_purpose\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"explicit_search_mappings\": {},\n \"group_headlines\": [],\n \"conditions\": []\n }\n ],\n \"drafts\": [\n {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"comment\": \"string\",\n \"source\": {},\n \"frozen\": true,\n \"latest\": true,\n \"_summary\": true,\n \"slug\": \"contact\",\n \"version\": 1,\n \"blueprint\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"enable_setting\": [\"360_features\"],\n \"name\": \"Contact\",\n \"plural\": \"Contacts\",\n \"description\": \"Example description\",\n \"docs_url\": \"https://docs.epilot.io/docs/pricing/entities\",\n \"category\": \"customer_relations\",\n \"published\": false,\n \"draft\": false,\n \"icon\": \"person\",\n \"title_template\": \"{{first_name}} {{last_name}}\",\n \"ui_config\": {},\n \"capabilities\": [],\n \"group_settings\": [],\n \"layout_settings\": {},\n \"dialog_config\": {},\n \"attributes\": [],\n \"_purpose\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"explicit_search_mappings\": {},\n \"group_headlines\": [],\n \"conditions\": []\n }\n ],\n \"versions_more\": true,\n \"drafts_more\": true,\n \"frozen_version\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\"\n}\n```\n\n
\n\n---\n\n### `freezeSchema`\n\nFreeze a schema at its current version, or at a specific version.\nWhen frozen, getSchema returns the frozen version by default.\nNew edits via putSchema update the latest version without affecting the \n\n`POST /v1/entity/schemas/{slug}/freeze`\n\n```ts\nconst { data } = await client.freezeSchema(\n {\n slug: 'example',\n },\n {\n version_id: '3fa85f64-5717-4562-b3fc-2c963f66afa6'\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"comment\": \"string\",\n \"source\": {\n \"id\": \"string\",\n \"type\": \"string\"\n },\n \"frozen\": true,\n \"latest\": true,\n \"_summary\": true,\n \"slug\": \"contact\",\n \"version\": 1,\n \"blueprint\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"enable_setting\": [\"360_features\"],\n \"name\": \"Contact\",\n \"plural\": \"Contacts\",\n \"description\": \"Example description\",\n \"docs_url\": \"https://docs.epilot.io/docs/pricing/entities\",\n \"category\": \"customer_relations\",\n \"published\": false,\n \"draft\": false,\n \"icon\": \"person\",\n \"title_template\": \"{{first_name}} {{last_name}}\",\n \"ui_config\": {\n \"table_view\": {\n \"view_type\": \"default\",\n \"row_actions\": [\"string\"],\n \"bulk_actions\": [\"string\"],\n \"navbar_actions\": [],\n \"enable_thumbnails\": false\n },\n \"create_view\": {\n \"view_type\": \"default\",\n \"search_params\": {}\n },\n \"edit_view\": {\n \"view_type\": \"default\",\n \"search_params\": {},\n \"summary_attributes\": [\"email\"]\n },\n \"single_view\": {\n \"view_type\": \"default\",\n \"search_params\": {},\n \"summary_attributes\": [\"email\"]\n },\n \"list_item\": {\n \"summary_attributes\": [],\n \"quick_actions\": [],\n \"ui_config\": {}\n },\n \"sharing\": {\n \"show_sharing_button\": true\n },\n \"grid_layout\": {\n \"id\": \"string\",\n \"columns\": 0,\n \"cells\": [0]\n },\n \"widget_order\": [\"string\"]\n },\n \"capabilities\": [\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"customer_messaging\",\n \"title\": \"Messaging\",\n \"attributes\": [],\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"app_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"ui_config\": {},\n \"ui_hooks\": [],\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [],\n \"schemas\": []\n }\n ],\n \"group_settings\": [\n {\n \"id\": \"e18a532b-ae79-4d86-a6a5-e5dbfb579d14\",\n \"label\": \"Contact Details\",\n \"expanded\": true,\n \"order\": 1\n },\n {\n \"id\": \"e9a1ae28-27ba-4fa0-a79c-e279cc5c4a6e\",\n \"label\": \"Address Details\",\n \"expanded\": false,\n \"order\": 2,\n \"info_tooltip_title\": {}\n }\n ],\n \"layout_settings\": {\n \"grid_gap\": \"string\",\n \"grid_template_columns\": \"string\"\n },\n \"dialog_config\": {},\n \"attributes\": [\n {\n \"name\": \"email\",\n \"type\": \"email\",\n \"label\": \"Email\",\n \"required\": true\n },\n {\n \"name\": \"first_name\",\n \"type\": \"string\",\n \"label\": \"First Name\"\n }\n ],\n \"_purpose\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"explicit_search_mappings\": {\n \"image\": {\n \"type\": \"keyword\",\n \"index\": false\n }\n },\n \"group_headlines\": [\n {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"layout\": \"string\",\n \"group\": \"string\",\n \"order\": 0,\n \"type\": \"headline\",\n \"enable_divider\": false,\n \"divider\": \"top_divider\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ],\n \"conditions\": [\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"delivery_area\",\n \"label\": \"Delivery Area\",\n \"type\": \"string\"\n }\n ]\n}\n```\n\n
\n\n---\n\n### `unfreezeSchema`\n\nUnfreeze a schema. Promotes the latest version to the current version for all users.\n\n`POST /v1/entity/schemas/{slug}/unfreeze`\n\n```ts\nconst { data } = await client.unfreezeSchema({\n slug: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"comment\": \"string\",\n \"source\": {\n \"id\": \"string\",\n \"type\": \"string\"\n },\n \"frozen\": true,\n \"latest\": true,\n \"_summary\": true,\n \"slug\": \"contact\",\n \"version\": 1,\n \"blueprint\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"enable_setting\": [\"360_features\"],\n \"name\": \"Contact\",\n \"plural\": \"Contacts\",\n \"description\": \"Example description\",\n \"docs_url\": \"https://docs.epilot.io/docs/pricing/entities\",\n \"category\": \"customer_relations\",\n \"published\": false,\n \"draft\": false,\n \"icon\": \"person\",\n \"title_template\": \"{{first_name}} {{last_name}}\",\n \"ui_config\": {\n \"table_view\": {\n \"view_type\": \"default\",\n \"row_actions\": [\"string\"],\n \"bulk_actions\": [\"string\"],\n \"navbar_actions\": [],\n \"enable_thumbnails\": false\n },\n \"create_view\": {\n \"view_type\": \"default\",\n \"search_params\": {}\n },\n \"edit_view\": {\n \"view_type\": \"default\",\n \"search_params\": {},\n \"summary_attributes\": [\"email\"]\n },\n \"single_view\": {\n \"view_type\": \"default\",\n \"search_params\": {},\n \"summary_attributes\": [\"email\"]\n },\n \"list_item\": {\n \"summary_attributes\": [],\n \"quick_actions\": [],\n \"ui_config\": {}\n },\n \"sharing\": {\n \"show_sharing_button\": true\n },\n \"grid_layout\": {\n \"id\": \"string\",\n \"columns\": 0,\n \"cells\": [0]\n },\n \"widget_order\": [\"string\"]\n },\n \"capabilities\": [\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"customer_messaging\",\n \"title\": \"Messaging\",\n \"attributes\": [],\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"app_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"ui_config\": {},\n \"ui_hooks\": [],\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [],\n \"schemas\": []\n }\n ],\n \"group_settings\": [\n {\n \"id\": \"e18a532b-ae79-4d86-a6a5-e5dbfb579d14\",\n \"label\": \"Contact Details\",\n \"expanded\": true,\n \"order\": 1\n },\n {\n \"id\": \"e9a1ae28-27ba-4fa0-a79c-e279cc5c4a6e\",\n \"label\": \"Address Details\",\n \"expanded\": false,\n \"order\": 2,\n \"info_tooltip_title\": {}\n }\n ],\n \"layout_settings\": {\n \"grid_gap\": \"string\",\n \"grid_template_columns\": \"string\"\n },\n \"dialog_config\": {},\n \"attributes\": [\n {\n \"name\": \"email\",\n \"type\": \"email\",\n \"label\": \"Email\",\n \"required\": true\n },\n {\n \"name\": \"first_name\",\n \"type\": \"string\",\n \"label\": \"First Name\"\n }\n ],\n \"_purpose\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"explicit_search_mappings\": {\n \"image\": {\n \"type\": \"keyword\",\n \"index\": false\n }\n },\n \"group_headlines\": [\n {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"layout\": \"string\",\n \"group\": \"string\",\n \"order\": 0,\n \"type\": \"headline\",\n \"enable_divider\": false,\n \"divider\": \"top_divider\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ],\n \"conditions\": [\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"delivery_area\",\n \"label\": \"Delivery Area\",\n \"type\": \"string\"\n }\n ]\n}\n```\n\n
\n\n---\n\n### `listAvailableCapabilities`\n\nList available capabilities for schema\n\n`GET /v1/entity/schemas/{slug}/capabilities/available`\n\n```ts\nconst { data } = await client.listAvailableCapabilities({\n slug: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"results\": [\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"customer_messaging\",\n \"title\": \"Messaging\",\n \"attributes\": [],\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"app_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"ui_config\": {},\n \"ui_hooks\": [],\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [],\n \"schemas\": []\n }\n ]\n}\n```\n\n
\n\n---\n\n### `listSchemaBlueprints`\n\nList canonical versions of all available schemas\n\n`GET /v1/entity/schemas/blueprints`\n\n```ts\nconst { data } = await client.listSchemaBlueprints()\n```\n\n
\nResponse\n\n```json\n{\n \"results\": [\n {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"comment\": \"string\",\n \"source\": {},\n \"frozen\": true,\n \"latest\": true,\n \"_summary\": true,\n \"slug\": \"contact\",\n \"version\": 1,\n \"blueprint\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"enable_setting\": [\"360_features\"],\n \"name\": \"Contact\",\n \"plural\": \"Contacts\",\n \"description\": \"Example description\",\n \"docs_url\": \"https://docs.epilot.io/docs/pricing/entities\",\n \"category\": \"customer_relations\",\n \"published\": false,\n \"draft\": false,\n \"icon\": \"person\",\n \"title_template\": \"{{first_name}} {{last_name}}\",\n \"ui_config\": {},\n \"capabilities\": [],\n \"group_settings\": [],\n \"layout_settings\": {},\n \"dialog_config\": {},\n \"attributes\": [],\n \"_purpose\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"explicit_search_mappings\": {},\n \"group_headlines\": [],\n \"conditions\": []\n }\n ]\n}\n```\n\n
\n\n---\n\n### `searchEntities`\n\nSearch for entities. Supports ordering and pagination. [Lucene query syntax](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html#query-string-syntax) supp\n\n`POST /v1/entity:search`\n\n```ts\nconst { data } = await client.searchEntities(\n null,\n {\n q: '_schema:contact AND status:active',\n include_scores: false,\n sort: 'string',\n from: 0,\n size: 10,\n hydrate: false,\n anonymize: false,\n fields: ['_id', '_title', 'first_name', 'account', '!account.*._files', '**._product'],\n aggs: {\n 'contact-count-per-tag': {\n terms: {\n field: '_tags.keyword'\n }\n }\n },\n include_deleted: 'false',\n highlight: {},\n stable_for: 0,\n stable_query_id: 'string',\n search_after: ['string']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"hits\": 1,\n \"results\": [\n {\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ],\n \"aggregations\": {\n \"contact-count-per-tag\": {\n \"doc_count_error_upper_bound\": 0,\n \"sum_other_doc_count\": 23,\n \"buckets\": [\n {\n \"key\": \"automation\",\n \"doc_count\": 108\n },\n {\n \"key\": \"primary\",\n \"doc_count\": 66\n }\n ]\n }\n },\n \"stable_query_id\": \"string\",\n \"sort_end\": [1747905443332, \"0.000023312468\"]\n}\n```\n\n
\n\n---\n\n### `listEntities`\n\nList entities that meet the specified conditions.\n\n`POST /v1/entity:list`\n\n```ts\nconst { data } = await client.listEntities(\n null,\n {\n query: {\n query_string: {\n query: 'status:active',\n fields: ['_title', '_tags', 'status'],\n default_operator: 'OR',\n lenient: true\n }\n },\n filter: [\n {\n term: {\n _schema: 'contact'\n }\n },\n {\n terms: {\n status: ['active']\n }\n }\n ],\n allow_targeting_all_schemas: false,\n sort: 'string',\n from: 0,\n size: 10,\n hydrate: false,\n anonymize: false,\n fields: ['_id', '_title', 'first_name', 'account', '!account.*._files', '**._product'],\n aggs: {\n 'contact-count-per-tag': {\n terms: {\n field: '_tags.keyword'\n }\n }\n },\n include_deleted: 'false',\n include_scores: false,\n highlight: {},\n stable_for: 0,\n stable_query_id: 'string',\n search_after: ['string']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"hits\": 1,\n \"results\": [\n {\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ],\n \"aggregations\": {\n \"contact-count-per-tag\": {\n \"doc_count_error_upper_bound\": 0,\n \"sum_other_doc_count\": 23,\n \"buckets\": [\n {\n \"key\": \"automation\",\n \"doc_count\": 108\n },\n {\n \"key\": \"primary\",\n \"doc_count\": 66\n }\n ]\n }\n },\n \"stable_query_id\": \"string\",\n \"sort_end\": [1747905443332, \"0.000023312468\"]\n}\n```\n\n
\n\n---\n\n### `queryEntityGraph`\n\nTraverse an entity relationship graph starting from a seed entity.\n\n`POST /v1/entity:graph`\n\n```ts\nconst { data } = await client.queryEntityGraph(\n null,\n {\n seed: {\n entity_id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n node_id: 'contact'\n },\n graph: {\n nodes: [\n {\n id: 'portal_user',\n schema: 'portal_user',\n cardinality: 'one'\n },\n {\n id: 'contact',\n schema: 'contact',\n cardinality: 'one'\n },\n /* ... 1 more */\n ],\n edges: [\n {\n from: 'portal_user',\n to: 'contact'\n },\n {\n from: 'contact',\n to: 'billing_accounts'\n }\n ]\n },\n hydrate: false,\n apply_changesets: false\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"nodes\": {\n \"portal_user\": [\"550e8400-e29b-41d4-a716-446655440001\"],\n \"contact\": [\"550e8400-e29b-41d4-a716-446655440002\"],\n \"billing_accounts\": [\"550e8400-e29b-41d4-a716-446655440003\", \"550e8400-e29b-41d4-a716-446655440004\"]\n },\n \"entityNodes\": {\n \"portal_user\": {\n \"_id\": \"550e8400-e29b-41d4-a716-446655440001\",\n \"_schema\": \"portal_user\"\n },\n \"contact\": {\n \"_id\": \"550e8400-e29b-41d4-a716-446655440002\",\n \"_schema\": \"contact\"\n },\n \"billing_accounts\": [\n {\n \"_id\": \"550e8400-e29b-41d4-a716-446655440003\",\n \"_schema\": \"billing_account\"\n },\n {\n \"_id\": \"550e8400-e29b-41d4-a716-446655440004\",\n \"_schema\": \"billing_account\"\n }\n ]\n },\n \"edges\": [\n {\n \"from\": \"portal_user\",\n \"to\": \"contact\"\n },\n {\n \"from\": \"contact\",\n \"to\": \"billing_accounts\"\n }\n ]\n}\n```\n\n
\n\n---\n\n### `createEntity`\n\nCreates a new entity using a key.\n\n`POST /v1/entity/{slug}`\n\n```ts\nconst { data } = await client.createEntity(\n {\n slug: 'example',\n activity_id: 'example',\n fill_activity: true,\n async: true,\n validate: true,\n },\n {\n _id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n _org: '123',\n _owners: [\n {\n org_id: '123',\n user_id: '123'\n }\n ],\n _schema: 'contact',\n _tags: ['example', 'mock'],\n _created_at: '2021-02-09T12:41:43.662Z',\n _updated_at: '2021-02-09T12:41:43.662Z',\n _acl: {\n view: ['org:456', 'org:789'],\n edit: ['org:456'],\n delete: ['org:456']\n },\n _manifest: ['123e4567-e89b-12d3-a456-426614174000']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n}\n```\n\n
\n\n---\n\n### `validateEntity`\n\nValidates an entity against the schema.\n\n`POST /v1/entity/{slug}:validate`\n\n```ts\nconst { data } = await client.validateEntity(\n {\n slug: 'example',\n },\n {\n _id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n _org: '123',\n _owners: [\n {\n org_id: '123',\n user_id: '123'\n }\n ],\n _schema: 'contact',\n _tags: ['example', 'mock'],\n _created_at: '2021-02-09T12:41:43.662Z',\n _updated_at: '2021-02-09T12:41:43.662Z',\n _acl: {\n view: ['org:456', 'org:789'],\n edit: ['org:456'],\n delete: ['org:456']\n },\n _manifest: ['123e4567-e89b-12d3-a456-426614174000']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"status\": \"success\",\n \"errors\": [\n {\n \"code\": \"custom\",\n \"params\": {\n \"type\": \"missing_field\"\n },\n \"path\": [\"first_name\"],\n \"message\": \"Invalid input\"\n }\n ]\n}\n```\n\n
\n\n---\n\n### `validateEntityV2`\n\nValidates an entity against the schema.\n\n`POST /v2/entity/{slug}:validate`\n\n```ts\nconst { data } = await client.validateEntityV2(\n {\n slug: 'example',\n },\n {\n _id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n _org: '123',\n _owners: [\n {\n org_id: '123',\n user_id: '123'\n }\n ],\n _schema: 'contact',\n _tags: ['example', 'mock'],\n _created_at: '2021-02-09T12:41:43.662Z',\n _updated_at: '2021-02-09T12:41:43.662Z',\n _acl: {\n view: ['org:456', 'org:789'],\n edit: ['org:456'],\n delete: ['org:456']\n },\n _manifest: ['123e4567-e89b-12d3-a456-426614174000']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"status\": \"success\",\n \"errors\": [\n {\n \"keyword\": \"string\",\n \"instance_path\": \"string\",\n \"schema_path\": \"string\",\n \"params\": {},\n \"property_name\": \"string\",\n \"message\": \"string\",\n \"schema\": {},\n \"parent_schema\": {},\n \"data\": {}\n }\n ]\n}\n```\n\n
\n\n---\n\n### `upsertEntity`\n\nCreate or update an entity using `unique_key`\n\n`PATCH /v1/entity/{slug}:upsert`\n\n```ts\nconst { data } = await client.upsertEntity(\n {\n slug: 'example',\n activity_id: 'example',\n fill_activity: true,\n dry_run: true,\n async: true,\n validate: true,\n strict: true,\n },\n {\n unique_key: ['_id'],\n entity: {\n _id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n _org: '123',\n _owners: [\n {\n org_id: '123',\n user_id: '123'\n }\n ],\n _schema: 'contact',\n _tags: ['example', 'mock'],\n _created_at: '2021-02-09T12:41:43.662Z',\n _updated_at: '2021-02-09T12:41:43.662Z',\n _acl: {\n view: ['org:456', 'org:789'],\n edit: ['org:456'],\n delete: ['org:456']\n },\n _manifest: ['123e4567-e89b-12d3-a456-426614174000']\n }\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n}\n```\n\n
\n\n---\n\n### `getEntityV2`\n\nGets Entity by id.\n\n`GET /v2/entity/{slug}/{id}`\n\n```ts\nconst { data } = await client.getEntityV2({\n id: '123e4567-e89b-12d3-a456-426614174000',\n slug: 'example',\n hydrate: true,\n anonymize: true,\n fields: ['...'],\n apply_changesets: true,\n})\n```\n\n
\nResponse\n\n```json\n{\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n}\n```\n\n
\n\n---\n\n### `restoreEntity`\n\nRestores an entity by id\n\n`PATCH /v1/entity/{slug}/{id}:restore`\n\n```ts\nconst { data } = await client.restoreEntity(\n {\n id: '123e4567-e89b-12d3-a456-426614174000',\n slug: 'example',\n activity_id: 'example',\n },\n {},\n)\n```\n\n
\nResponse\n\n```json\n{\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n}\n```\n\n
\n\n---\n\n### `reindexEntity`\n\nTriggers a reindex for the Entity for search.\n\n`POST /v1/entity/{slug}/{id}:reindex`\n\n```ts\nconst { data } = await client.reindexEntity(\n {\n id: '123e4567-e89b-12d3-a456-426614174000',\n slug: 'example',\n },\n {},\n)\n```\n\n
\nResponse\n\n```json\n{\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n}\n```\n\n
\n\n---\n\n### `getEntity`\n\nGets Entity and relations by id.\n\n`GET /v1/entity/{slug}/{id}`\n\n```ts\nconst { data } = await client.getEntity({\n id: '123e4567-e89b-12d3-a456-426614174000',\n slug: 'example',\n hydrate: true,\n anonymize: true,\n})\n```\n\n
\nResponse\n\n```json\n{\n \"entity\": {\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n },\n \"relations\": [\n {\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ]\n}\n```\n\n
\n\n---\n\n### `updateEntity`\n\nUpdates an Entity\n\n`PUT /v1/entity/{slug}/{id}`\n\n```ts\nconst { data } = await client.updateEntity(\n {\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n activity_id: 'example',\n fill_activity: true,\n async: true,\n validate: true,\n direct: true,\n },\n {\n _id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n _org: '123',\n _owners: [\n {\n org_id: '123',\n user_id: '123'\n }\n ],\n _schema: 'contact',\n _tags: ['example', 'mock'],\n _created_at: '2021-02-09T12:41:43.662Z',\n _updated_at: '2021-02-09T12:41:43.662Z',\n _acl: {\n view: ['org:456', 'org:789'],\n edit: ['org:456'],\n delete: ['org:456']\n },\n _manifest: ['123e4567-e89b-12d3-a456-426614174000']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n}\n```\n\n
\n\n---\n\n### `patchEntity`\n\nPartially updates an entity with the passed in entity data.\n\n`PATCH /v1/entity/{slug}/{id}`\n\n```ts\nconst { data } = await client.patchEntity(\n {\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n activity_id: 'example',\n fill_activity: true,\n dry_run: true,\n async: true,\n validate: true,\n direct: true,\n },\n {\n _id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n _org: '123',\n _owners: [\n {\n org_id: '123',\n user_id: '123'\n }\n ],\n _schema: 'contact',\n _tags: ['example', 'mock'],\n _created_at: '2021-02-09T12:41:43.662Z',\n _updated_at: '2021-02-09T12:41:43.662Z',\n _acl: {\n view: ['org:456', 'org:789'],\n edit: ['org:456'],\n delete: ['org:456']\n },\n _manifest: ['123e4567-e89b-12d3-a456-426614174000']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n}\n```\n\n
\n\n---\n\n### `deleteEntity`\n\nDeletes an Entity\n\n`DELETE /v1/entity/{slug}/{id}`\n\n```ts\nconst { data } = await client.deleteEntity({\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n activity_id: 'example',\n purge: true,\n})\n```\n\n---\n\n### `autocomplete`\n\nAutocomplete entity attributes\n\n`GET /v1/entity:autocomplete`\n\n```ts\nconst { data } = await client.autocomplete({\n anonymize: true,\n input: 'example',\n attribute: 'example',\n slug: 'example',\n size: 1,\n})\n```\n\n
\nResponse\n\n```json\n{\n \"hits\": 1,\n \"results\": [\"value\"]\n}\n```\n\n
\n\n---\n\n### `wipeAllEntities`\n\nCreates a request to queue the deletion of all entities in the system. This is a destructive operation and should only be used in sandbox environments.\n\n`POST /v1/entity:wipeAllEntities`\n\n```ts\nconst { data } = await client.wipeAllEntities(\n null,\n {\n schemas: ['contact']\n },\n)\n```\n\n---\n\n### `createActivity`\n\nCreate an activity that can be displayed in activity feeds.\n\n`POST /v1/entity/activity`\n\n```ts\nconst { data } = await client.createActivity(\n {\n entities: ['...'],\n },\n {\n type: 'string',\n title: 'My custom activity',\n message: '{{caller}} did something with {{entity payload.entity.id}}.',\n payload: {\n entity: {\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n schema: 'contact'\n }\n },\n pending: false\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"_id\": \"01F130Q52Q6MWSNS8N2AVXV4JN\",\n \"timestamp\": \"1970-01-01T00:00:00.000Z\",\n \"type\": \"string\",\n \"title\": \"My custom activity\",\n \"message\": \"{{caller}} did something with {{entity payload.entity.id}}.\",\n \"payload\": {\n \"entity\": {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"schema\": \"contact\"\n }\n },\n \"pending\": false,\n \"caller\": {\n \"EpilotAuth\": {\n \"token\": {\n \"sub\": \"476e9b48-42f4-4234-a2b0-4668b34626ce\",\n \"cognito:groups\": [\"Administrator\"],\n \"cognito:preferred_role\": \"arn:aws:iam::912468240823:role/base-administrator-role\",\n \"iss\": \"https://cognito-idp.eu-central-1.amazonaws.com/eu-central-1_6lZSgmU6D\",\n \"custom:ivy_org_id\": \"739224\",\n \"cognito:username\": \"n.ahmad@epilot.cloud\",\n \"custom:ivy_user_id\": \"10006129\",\n \"cognito:roles\": [\"arn:aws:iam::912468240823:role/base-administrator-role\"],\n \"aud\": \"6e0jbdnger7nmoktaaflarue1l\",\n \"event_id\": \"cd5f5583-d90c-4db5-8e99-5f5dd29a4d75\",\n \"token_use\": \"id\",\n \"auth_time\": 1614333023,\n \"exp\": 1614336623,\n \"iat\": 1614333023,\n \"email\": \"n.ahmad@epilot.cloud\"\n }\n }\n }\n}\n```\n\n
\n\n---\n\n### `getActivity`\n\nGet activity by id\n\n`GET /v1/entity/activity/{id}`\n\n```ts\nconst { data } = await client.getActivity({\n anonymize: true,\n id: '123e4567-e89b-12d3-a456-426614174000',\n operations_size: 1,\n operations_from: 1,\n})\n```\n\n
\nResponse\n\n```json\n{\n \"_id\": \"01F130Q52Q6MWSNS8N2AVXV4JN\",\n \"timestamp\": \"1970-01-01T00:00:00.000Z\",\n \"type\": \"string\",\n \"title\": \"My custom activity\",\n \"message\": \"{{caller}} did something with {{entity payload.entity.id}}.\",\n \"payload\": {\n \"entity\": {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"schema\": \"contact\"\n }\n },\n \"pending\": false,\n \"caller\": {\n \"EpilotAuth\": {\n \"token\": {}\n }\n },\n \"operations_total\": 1,\n \"operations\": [\n {\n \"entity\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"org\": \"123\",\n \"activity_id\": \"01F130Q52Q6MWSNS8N2AVXV4JN\",\n \"activity_type\": \"string\",\n \"operation\": \"createEntity\",\n \"params\": {},\n \"payload\": {},\n \"diff\": {},\n \"source_context\": {},\n \"_workflow_origin\": {},\n \"_automation_chain\": [\"string\"]\n }\n ]\n}\n```\n\n
\n\n---\n\n### `attachActivity`\n\nAttach existing activity to entity activity feeds\n\n`POST /v1/entity/activity/{id}:attach`\n\n```ts\nconst { data } = await client.attachActivity({\n id: '123e4567-e89b-12d3-a456-426614174000',\n entities: ['...'],\n})\n```\n\n
\nResponse\n\n```json\n{\n \"_id\": \"01F130Q52Q6MWSNS8N2AVXV4JN\",\n \"timestamp\": \"1970-01-01T00:00:00.000Z\",\n \"type\": \"string\",\n \"title\": \"My custom activity\",\n \"message\": \"{{caller}} did something with {{entity payload.entity.id}}.\",\n \"payload\": {\n \"entity\": {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"schema\": \"contact\"\n }\n },\n \"pending\": false,\n \"caller\": {\n \"EpilotAuth\": {\n \"token\": {\n \"sub\": \"476e9b48-42f4-4234-a2b0-4668b34626ce\",\n \"cognito:groups\": [\"Administrator\"],\n \"cognito:preferred_role\": \"arn:aws:iam::912468240823:role/base-administrator-role\",\n \"iss\": \"https://cognito-idp.eu-central-1.amazonaws.com/eu-central-1_6lZSgmU6D\",\n \"custom:ivy_org_id\": \"739224\",\n \"cognito:username\": \"n.ahmad@epilot.cloud\",\n \"custom:ivy_user_id\": \"10006129\",\n \"cognito:roles\": [\"arn:aws:iam::912468240823:role/base-administrator-role\"],\n \"aud\": \"6e0jbdnger7nmoktaaflarue1l\",\n \"event_id\": \"cd5f5583-d90c-4db5-8e99-5f5dd29a4d75\",\n \"token_use\": \"id\",\n \"auth_time\": 1614333023,\n \"exp\": 1614336623,\n \"iat\": 1614333023,\n \"email\": \"n.ahmad@epilot.cloud\"\n }\n }\n }\n}\n```\n\n
\n\n---\n\n### `applyChangeset`\n\nApplies the proposed value from a pending changeset to the entity attribute\nand removes the changeset. Used for human approval of pending changes.\n\n`POST /v1/entity/{slug}/{id}/changesets/{attribute}:apply`\n\n```ts\nconst { data } = await client.applyChangeset({\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n attribute: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n}\n```\n\n
\n\n---\n\n### `dismissChangeset`\n\nRemoves a pending changeset without applying it. The attribute value remains unchanged.\n\n`POST /v1/entity/{slug}/{id}/changesets/{attribute}:dismiss`\n\n```ts\nconst { data } = await client.dismissChangeset(\n {\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n attribute: 'example',\n },\n {\n reason: 'string'\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n}\n```\n\n
\n\n---\n\n### `listChangesets`\n\nReturns all pending changesets for an entity.\n\n`GET /v1/entity/{slug}/{id}/changesets`\n\n```ts\nconst { data } = await client.listChangesets({\n anonymize: true,\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n})\n```\n\n
\nResponse\n\n```json\n{}\n```\n\n
\n\n---\n\n### `getEntityActivityFeed`\n\nGet activity feed for an entity\n\n`GET /v1/entity/{slug}/{id}/activity`\n\n```ts\nconst { data } = await client.getEntityActivityFeed({\n anonymize: true,\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n after: 'example',\n before: 'example',\n start_date: 'example',\n end_date: 'example',\n preset_range: 'example',\n from: 1,\n size: 1,\n type: ['...'],\n include_relations: true,\n exclude_activity_groups: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"total\": 1,\n \"results\": [\n {\n \"_id\": \"01F130Q52Q6MWSNS8N2AVXV4JN\",\n \"timestamp\": \"1970-01-01T00:00:00.000Z\",\n \"type\": \"string\",\n \"title\": \"My custom activity\",\n \"message\": \"{{caller}} did something with {{entity payload.entity.id}}.\",\n \"payload\": {},\n \"pending\": false,\n \"caller\": {},\n \"operations_total\": 1,\n \"operations\": []\n }\n ]\n}\n```\n\n
\n\n---\n\n### `getRelations`\n\nReturns 1st level direct relations for an entity.\n\n`GET /v1/entity/{slug}/{id}/relations`\n\n```ts\nconst { data } = await client.getRelations({\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n hydrate: true,\n anonymize: true,\n include_reverse: true,\n from: 1,\n size: 1,\n include_schemas: ['...'],\n exclude_schemas: ['...'],\n})\n```\n\n
\nResponse\n\n```json\n[\n {\n \"entity_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"org_id\": \"string\",\n \"_schema\": \"contact\",\n \"attribute\": \"string\",\n \"_tags\": [\"string\"],\n \"reverse\": true\n },\n {\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n]\n```\n\n
\n\n---\n\n### `addRelations`\n\nRelates one or more entities to parent entity by adding items to a relation attribute\n\n`POST /v1/entity/{slug}/{id}/relations`\n\n```ts\nconst { data } = await client.addRelations(\n {\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n async: true,\n activity_id: 'example',\n },\n [\n {\n entity_id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n org_id: 'string',\n _schema: 'contact',\n attribute: 'string',\n _tags: ['string'],\n reverse: true\n }\n ],\n)\n```\n\n
\nResponse\n\n```json\n{\n \"entity_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"org_id\": \"string\",\n \"_schema\": \"contact\",\n \"attribute\": \"string\",\n \"_tags\": [\"string\"],\n \"reverse\": true\n}\n```\n\n
\n\n---\n\n### `removeRelations`\n\nDisassociate one or more entities to parent entity by removing items to a relation attribute\n\n`DELETE /v1/entity/{slug}/{id}/relations`\n\n```ts\nconst { data } = await client.removeRelations(\n {\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n async: true,\n activity_id: 'example',\n },\n [\n {\n entity_id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n org_id: 'string',\n _schema: 'contact',\n attribute: 'string',\n _tags: ['string'],\n reverse: true\n }\n ],\n)\n```\n\n---\n\n### `getRelationsV2`\n\nReturns 1st level direct relations for an entity with pagination.\n\n`GET /v2/entity/{slug}/{id}/relations`\n\n```ts\nconst { data } = await client.getRelationsV2({\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n hydrate: true,\n anonymize: true,\n query: 'example',\n include_reverse: true,\n from: 1,\n size: 1,\n fields: ['...'],\n})\n```\n\n
\nResponse\n\n```json\n{\n \"hits\": 1,\n \"relations\": [\n {\n \"entity_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"org_id\": \"string\",\n \"_schema\": \"contact\",\n \"attribute\": \"string\",\n \"_tags\": [\"string\"],\n \"reverse\": true\n },\n {\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ]\n}\n```\n\n
\n\n---\n\n### `getRelationsV3`\n\nReturns 1st level direct relations for an entity with pagination.\n\n`GET /v3/entity/{slug}/{id}/relations`\n\n```ts\nconst { data } = await client.getRelationsV3({\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n hydrate: true,\n anonymize: true,\n include_reverse: true,\n from: 1,\n size: 1,\n include_schemas: ['...'],\n exclude_schemas: ['...'],\n mode: 'example',\n fields: ['...'],\n include_deleted: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"hits\": 1,\n \"relations\": [\n {\n \"entity_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"org_id\": \"string\",\n \"_schema\": \"contact\",\n \"attribute\": \"string\",\n \"_tags\": [\"string\"],\n \"reverse\": true\n },\n {\n \"_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"_org\": \"123\",\n \"_owners\": [\n {\n \"org_id\": \"123\",\n \"user_id\": \"123\"\n }\n ],\n \"_schema\": \"contact\",\n \"_tags\": [\"example\", \"mock\"],\n \"_created_at\": \"2021-02-09T12:41:43.662Z\",\n \"_updated_at\": \"2021-02-09T12:41:43.662Z\",\n \"_acl\": {\n \"view\": [\"org:456\", \"org:789\"],\n \"edit\": [\"org:456\"],\n \"delete\": [\"org:456\"]\n },\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ]\n}\n```\n\n
\n\n---\n\n### `getRelatedEntitiesCount`\n\nReturns the amount of unique related entities for an entity - includes direct and reverse relations.\n\n`GET /v2/entity/{slug}/{id}/relations/count`\n\n```ts\nconst { data } = await client.getRelatedEntitiesCount({\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n exclude_schemas: ['...'],\n})\n```\n\n
\nResponse\n\n```json\n{\n \"hits\": 1\n}\n```\n\n
\n\n---\n\n### `updateRelation`\n\nUpdates an existing relation between two entities.\n\n`PUT /v1/entity/{slug}/{id}/relations/{attribute}/{entity_id}`\n\n```ts\nconst { data } = await client.updateRelation(\n {\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n attribute: 'example',\n entity_id: 'example',\n async: true,\n activity_id: 'example',\n },\n {\n _tags: ['string']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"entity_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"org_id\": \"string\",\n \"_schema\": \"contact\",\n \"attribute\": \"string\",\n \"_tags\": [\"string\"],\n \"reverse\": true\n}\n```\n\n
\n\n---\n\n### `deleteRelation`\n\nRemoves relation between two entities\n\n`DELETE /v1/entity/{slug}/{id}/relations/{attribute}/{entity_id}`\n\n```ts\nconst { data } = await client.deleteRelation({\n slug: 'example',\n id: '123e4567-e89b-12d3-a456-426614174000',\n attribute: 'example',\n entity_id: 'example',\n async: true,\n activity_id: 'example',\n})\n```\n\n---\n\n### `exportEntities`\n\nExport entity data in a CSV-format. The export will export data as close as possible to what is visible on Entity UI tables.\nThe values exported as in some cases, transformed to human-readable values.\n\n`POST /v1/entity:export`\n\n```ts\nconst { data } = await client.exportEntities(\n {\n job_id: 'example',\n is_template: true,\n language: 'example',\n },\n {\n q: '_schema:contact AND status:active',\n include_scores: false,\n sort: 'string',\n from: 0,\n size: 10,\n hydrate: false,\n anonymize: false,\n fields: ['_id', '_title', 'first_name', 'account', '!account.*._files', '**._product'],\n aggs: {\n 'contact-count-per-tag': {\n terms: {\n field: '_tags.keyword'\n }\n }\n },\n include_deleted: 'false',\n highlight: {},\n stable_for: 0,\n stable_query_id: 'string',\n search_after: ['string']\n },\n)\n```\n\n---\n\n### `importEntities`\n\nImport Entities\n\n`POST /v1/entity:import`\n\n```ts\nconst { data } = await client.importEntities(\n {\n job_id: 'example',\n },\n {\n S3Reference: {\n bucket: 'my-bucket',\n key: 'imports/my-import.json'\n },\n schema: 'contact'\n },\n)\n```\n\n---\n\n### `abortEntityImport`\n\nAbort a running entity import\n\n`POST /v1/entity:abortImport`\n\n```ts\nconst { data } = await client.abortEntityImport({\n job_id: 'example',\n schema: 'example',\n})\n```\n\n---\n\n### `listSavedViews`\n\nGet the Saved Views based on the schema\n\n`GET /v1/entity/views`\n\n```ts\nconst { data } = await client.listSavedViews({\n slug: 'example',\n sort: 'example',\n from: 1,\n size: 1,\n q: 'example',\n fields: ['...'],\n})\n```\n\n
\nResponse\n\n```json\n{\n \"hits\": 1,\n \"results\": [\n {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"slug\": [\"contact\"],\n \"name\": \"View listing German\",\n \"org\": \"66\",\n \"shared\": true,\n \"isFavoritedBy\": [\"11701\"],\n \"created_by\": {\n \"user_id\": \"10598\",\n \"org_id\": \"739224\"\n },\n \"ui_config\": {\n \"filters\": {\n \"customer_name\": \"suresh test\",\n \"_tags\": \"360\"\n },\n \"table_layout\": {\n \"opportunity\": {\n \"page\": 1,\n \"sort\": \"_created_at:desc\",\n \"pageSize\": 25,\n \"columnSettings\": []\n }\n }\n },\n \"shared_with\": [\"112233\"]\n }\n ]\n}\n```\n\n
\n\n---\n\n### `createSavedView`\n\nCreates a new saved view\n\n`POST /v1/entity/view`\n\n```ts\nconst { data } = await client.createSavedView(\n null,\n {\n slug: ['contact'],\n name: 'View listing German',\n org: '66',\n shared: true,\n isFavoritedBy: ['11701'],\n created_by: {\n user_id: '10598',\n org_id: '739224'\n },\n ui_config: {\n filters: {\n customer_name: 'suresh test',\n _tags: '360'\n },\n table_layout: {\n opportunity: {\n page: 1,\n sort: '_created_at:desc',\n pageSize: 25,\n columnSettings: []\n }\n }\n },\n shared_with: ['112233']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"slug\": [\"contact\"],\n \"name\": \"View listing German\",\n \"org\": \"66\",\n \"shared\": true,\n \"isFavoritedBy\": [\"11701\"],\n \"created_by\": {\n \"user_id\": \"10598\",\n \"org_id\": \"739224\"\n },\n \"ui_config\": {\n \"filters\": {\n \"customer_name\": \"suresh test\",\n \"_tags\": \"360\"\n },\n \"table_layout\": {\n \"opportunity\": {\n \"page\": 1,\n \"sort\": \"_created_at:desc\",\n \"pageSize\": 25,\n \"columnSettings\": []\n }\n }\n },\n \"shared_with\": [\"112233\"]\n}\n```\n\n
\n\n---\n\n### `getSavedView`\n\nGets Saved View configuration by id.\n\n`GET /v1/entity/view/{id}`\n\n```ts\nconst { data } = await client.getSavedView({\n id: '123e4567-e89b-12d3-a456-426614174000',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"slug\": [\"contact\"],\n \"name\": \"View listing German\",\n \"org\": \"66\",\n \"shared\": true,\n \"isFavoritedBy\": [\"11701\"],\n \"created_by\": {\n \"user_id\": \"10598\",\n \"org_id\": \"739224\"\n },\n \"ui_config\": {\n \"filters\": {\n \"customer_name\": \"suresh test\",\n \"_tags\": \"360\"\n },\n \"table_layout\": {\n \"opportunity\": {\n \"page\": 1,\n \"sort\": \"_created_at:desc\",\n \"pageSize\": 25,\n \"columnSettings\": []\n }\n }\n },\n \"shared_with\": [\"112233\"]\n}\n```\n\n
\n\n---\n\n### `updateSavedView`\n\nUpdates a saved view\n\n`PUT /v1/entity/view/{id}`\n\n```ts\nconst { data } = await client.updateSavedView(\n {\n id: '123e4567-e89b-12d3-a456-426614174000',\n },\n {\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n created_at: 'string',\n updated_at: 'string',\n slug: ['contact'],\n name: 'View listing German',\n org: '66',\n shared: true,\n isFavoritedBy: ['11701'],\n created_by: {\n user_id: '10598',\n org_id: '739224'\n },\n ui_config: {\n filters: {\n customer_name: 'suresh test',\n _tags: '360'\n },\n table_layout: {\n opportunity: {\n page: 1,\n sort: '_created_at:desc',\n pageSize: 25,\n columnSettings: []\n }\n }\n },\n shared_with: ['112233']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"slug\": [\"contact\"],\n \"name\": \"View listing German\",\n \"org\": \"66\",\n \"shared\": true,\n \"isFavoritedBy\": [\"11701\"],\n \"created_by\": {\n \"user_id\": \"10598\",\n \"org_id\": \"739224\"\n },\n \"ui_config\": {\n \"filters\": {\n \"customer_name\": \"suresh test\",\n \"_tags\": \"360\"\n },\n \"table_layout\": {\n \"opportunity\": {\n \"page\": 1,\n \"sort\": \"_created_at:desc\",\n \"pageSize\": 25,\n \"columnSettings\": []\n }\n }\n },\n \"shared_with\": [\"112233\"]\n}\n```\n\n
\n\n---\n\n### `patchSavedView`\n\nPartially updates a saved view with the provided payload. If an updated_at is passed and the server contains a newer version of the view a `409` error is returned\n\n`PATCH /v1/entity/view/{id}`\n\n```ts\nconst { data } = await client.patchSavedView(\n {\n id: '123e4567-e89b-12d3-a456-426614174000',\n },\n {\n slug: ['contact'],\n name: 'View listing German',\n org: '66',\n shared: true,\n isFavoritedBy: ['11701'],\n created_by: {\n user_id: '10598',\n org_id: '739224'\n },\n ui_config: {\n filters: {\n customer_name: 'suresh test',\n _tags: '360'\n },\n table_layout: {\n opportunity: {\n page: 1,\n sort: '_created_at:desc',\n pageSize: 25,\n columnSettings: []\n }\n }\n },\n shared_with: ['112233']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"slug\": [\"contact\"],\n \"name\": \"View listing German\",\n \"org\": \"66\",\n \"shared\": true,\n \"isFavoritedBy\": [\"11701\"],\n \"created_by\": {\n \"user_id\": \"10598\",\n \"org_id\": \"739224\"\n },\n \"ui_config\": {\n \"filters\": {\n \"customer_name\": \"suresh test\",\n \"_tags\": \"360\"\n },\n \"table_layout\": {\n \"opportunity\": {\n \"page\": 1,\n \"sort\": \"_created_at:desc\",\n \"pageSize\": 25,\n \"columnSettings\": []\n }\n }\n },\n \"shared_with\": [\"112233\"]\n}\n```\n\n
\n\n---\n\n### `deleteSavedView`\n\nDeletes a saved view\n\n`DELETE /v1/entity/view/{id}`\n\n```ts\nconst { data } = await client.deleteSavedView({\n id: '123e4567-e89b-12d3-a456-426614174000',\n})\n```\n\n---\n\n### `listFavoriteViewsForUser`\n\nGet the Favorite Saved Views for user based on the schema\n\n`GET /v1/entity/views/favorites`\n\n```ts\nconst { data } = await client.listFavoriteViewsForUser()\n```\n\n
\nResponse\n\n```json\n{\n \"results\": [\n {\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"created_at\": \"string\",\n \"updated_at\": \"string\",\n \"slug\": [\"contact\"],\n \"name\": \"View listing German\",\n \"org\": \"66\",\n \"shared\": true,\n \"isFavoritedBy\": [\"11701\"],\n \"created_by\": {\n \"user_id\": \"10598\",\n \"org_id\": \"739224\"\n },\n \"ui_config\": {\n \"filters\": {\n \"customer_name\": \"suresh test\",\n \"_tags\": \"360\"\n },\n \"table_layout\": {\n \"opportunity\": {\n \"page\": 1,\n \"sort\": \"_created_at:desc\",\n \"pageSize\": 25,\n \"columnSettings\": []\n }\n }\n },\n \"shared_with\": [\"112233\"]\n }\n ]\n}\n```\n\n
\n\n---\n\n### `listTaxonomies`\n\nList taxonomies in an organization\n\n`GET /v1/entity/taxonomies`\n\n```ts\nconst { data } = await client.listTaxonomies({\n include_disabled: true,\n type: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"results\": [\n {\n \"slug\": \"purpose\",\n \"name\": \"Purpose\",\n \"plural\": \"Purposes\",\n \"kind\": \"system\",\n \"type\": \"entity\",\n \"icon\": \"purpose\",\n \"color\": \"#FF5733\",\n \"created_at\": \"1970-01-01T00:00:00.000Z\",\n \"updated_at\": \"1970-01-01T00:00:00.000Z\",\n \"deleted_at\": \"1970-01-01T00:00:00.000Z\",\n \"created_by\": \"10598\",\n \"enabled\": true,\n \"order\": 10,\n \"enabled_locations\": [\"account\", \"string\"]\n }\n ]\n}\n```\n\n
\n\n---\n\n### `createTaxonomy`\n\nCreate a new taxonomy\n\n`POST /v1/entity/taxonomies`\n\n```ts\nconst { data } = await client.createTaxonomy(\n null,\n {\n slug: 'purpose',\n name: 'Purpose',\n plural: 'Purposes',\n kind: 'system',\n type: 'entity',\n icon: 'purpose',\n color: '#FF5733',\n created_at: '1970-01-01T00:00:00.000Z',\n updated_at: '1970-01-01T00:00:00.000Z',\n deleted_at: '1970-01-01T00:00:00.000Z',\n created_by: '10598',\n enabled: true,\n order: 10,\n enabled_locations: ['account', 'string']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"slug\": \"purpose\",\n \"name\": \"Purpose\",\n \"plural\": \"Purposes\",\n \"kind\": \"system\",\n \"type\": \"entity\",\n \"icon\": \"purpose\",\n \"color\": \"#FF5733\",\n \"created_at\": \"1970-01-01T00:00:00.000Z\",\n \"updated_at\": \"1970-01-01T00:00:00.000Z\",\n \"deleted_at\": \"1970-01-01T00:00:00.000Z\",\n \"created_by\": \"10598\",\n \"enabled\": true,\n \"order\": 10,\n \"enabled_locations\": [\"account\", \"string\"]\n}\n```\n\n
\n\n---\n\n### `getTaxonomy`\n\nGet taxonomy by slug\n\n`GET /v1/entity/taxonomies/{taxonomySlug}`\n\n```ts\nconst { data } = await client.getTaxonomy({\n taxonomySlug: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"slug\": \"purpose\",\n \"name\": \"Purpose\",\n \"plural\": \"Purposes\",\n \"kind\": \"system\",\n \"type\": \"entity\",\n \"icon\": \"purpose\",\n \"color\": \"#FF5733\",\n \"created_at\": \"1970-01-01T00:00:00.000Z\",\n \"updated_at\": \"1970-01-01T00:00:00.000Z\",\n \"deleted_at\": \"1970-01-01T00:00:00.000Z\",\n \"created_by\": \"10598\",\n \"enabled\": true,\n \"order\": 10,\n \"enabled_locations\": [\"account\", \"string\"]\n}\n```\n\n
\n\n---\n\n### `updateTaxonomy`\n\nUpdate a taxonomy\n\n`PUT /v1/entity/taxonomies/{taxonomySlug}`\n\n```ts\nconst { data } = await client.updateTaxonomy(\n {\n taxonomySlug: 'example',\n },\n {\n slug: 'purpose',\n name: 'Purpose',\n plural: 'Purposes',\n kind: 'system',\n type: 'entity',\n icon: 'purpose',\n color: '#FF5733',\n created_at: '1970-01-01T00:00:00.000Z',\n updated_at: '1970-01-01T00:00:00.000Z',\n deleted_at: '1970-01-01T00:00:00.000Z',\n created_by: '10598',\n enabled: true,\n order: 10,\n enabled_locations: ['account', 'string']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"slug\": \"purpose\",\n \"name\": \"Purpose\",\n \"plural\": \"Purposes\",\n \"kind\": \"system\",\n \"type\": \"entity\",\n \"icon\": \"purpose\",\n \"color\": \"#FF5733\",\n \"created_at\": \"1970-01-01T00:00:00.000Z\",\n \"updated_at\": \"1970-01-01T00:00:00.000Z\",\n \"deleted_at\": \"1970-01-01T00:00:00.000Z\",\n \"created_by\": \"10598\",\n \"enabled\": true,\n \"order\": 10,\n \"enabled_locations\": [\"account\", \"string\"]\n}\n```\n\n
\n\n---\n\n### `deleteTaxonomy`\n\nDelete a taxonomy\n\n`DELETE /v1/entity/taxonomies/{taxonomySlug}`\n\n```ts\nconst { data } = await client.deleteTaxonomy({\n taxonomySlug: 'example',\n permanent: true,\n})\n```\n\n---\n\n### `updateClassificationsForTaxonomy`\n\nUpdate the classifications for a taxonomy\n\n`POST /v1/entity/taxonomies/{taxonomySlug}/classifications`\n\n```ts\nconst { data } = await client.updateClassificationsForTaxonomy(\n {\n taxonomySlug: 'example',\n },\n {\n create: [\n {\n id: 'taxonomy-slug:classification-slug',\n slug: 'wallbox-pv',\n name: 'Wallbox PV',\n parents: ['taxonomy-slug:classification-slug'],\n color: '#FF5733',\n created_at: '1970-01-01T00:00:00.000Z',\n updated_at: '1970-01-01T00:00:00.000Z',\n archived: false,\n starred: false,\n enabled_locations: ['account', 'string'],\n enabled_purposes: ['string'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000']\n }\n ],\n update: [\n {\n id: 'taxonomy-slug:classification-slug',\n slug: 'wallbox-pv',\n name: 'Wallbox PV',\n parents: ['taxonomy-slug:classification-slug'],\n color: '#FF5733',\n created_at: '1970-01-01T00:00:00.000Z',\n updated_at: '1970-01-01T00:00:00.000Z',\n archived: false,\n starred: false,\n enabled_locations: ['account', 'string'],\n enabled_purposes: ['string'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000']\n }\n ],\n delete: ['taxonomy-slug:classification-slug', 'taxonomy-slug:classification-slug']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"created\": [\n {\n \"id\": \"taxonomy-slug:classification-slug\",\n \"slug\": \"wallbox-pv\",\n \"name\": \"Wallbox PV\",\n \"parents\": [\"taxonomy-slug:classification-slug\"],\n \"color\": \"#FF5733\",\n \"created_at\": \"1970-01-01T00:00:00.000Z\",\n \"updated_at\": \"1970-01-01T00:00:00.000Z\",\n \"archived\": false,\n \"starred\": false,\n \"enabled_locations\": [\"account\", \"string\"],\n \"enabled_purposes\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ],\n \"updated\": [\n {\n \"id\": \"taxonomy-slug:classification-slug\",\n \"slug\": \"wallbox-pv\",\n \"name\": \"Wallbox PV\",\n \"parents\": [\"taxonomy-slug:classification-slug\"],\n \"color\": \"#FF5733\",\n \"created_at\": \"1970-01-01T00:00:00.000Z\",\n \"updated_at\": \"1970-01-01T00:00:00.000Z\",\n \"archived\": false,\n \"starred\": false,\n \"enabled_locations\": [\"account\", \"string\"],\n \"enabled_purposes\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ],\n \"deleted\": [\"taxonomy-slug:classification-slug\"]\n}\n```\n\n
\n\n---\n\n### `createTaxonomyClassification`\n\nCreate a new classification for a taxonomy\n\n`POST /v2/entity/taxonomies/classifications`\n\n```ts\nconst { data } = await client.createTaxonomyClassification(\n null,\n {\n id: 'taxonomy-slug:classification-slug',\n slug: 'wallbox-pv',\n name: 'Wallbox PV',\n parents: ['taxonomy-slug:classification-slug'],\n color: '#FF5733',\n created_at: '1970-01-01T00:00:00.000Z',\n updated_at: '1970-01-01T00:00:00.000Z',\n archived: false,\n starred: false,\n enabled_locations: ['account', 'string'],\n enabled_purposes: ['string'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"taxonomy-slug:classification-slug\",\n \"slug\": \"wallbox-pv\",\n \"name\": \"Wallbox PV\",\n \"parents\": [\"taxonomy-slug:classification-slug\"],\n \"color\": \"#FF5733\",\n \"created_at\": \"1970-01-01T00:00:00.000Z\",\n \"updated_at\": \"1970-01-01T00:00:00.000Z\",\n \"archived\": false,\n \"starred\": false,\n \"enabled_locations\": [\"account\", \"string\"],\n \"enabled_purposes\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n}\n```\n\n
\n\n---\n\n### `getTaxonomyClassification`\n\nGet a classification for a taxonomy by slug\n\n`GET /v2/entity/taxonomies/classifications/{classificationSlug}`\n\n```ts\nconst { data } = await client.getTaxonomyClassification({\n classificationSlug: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"taxonomy-slug:classification-slug\",\n \"slug\": \"wallbox-pv\",\n \"name\": \"Wallbox PV\",\n \"parents\": [\"taxonomy-slug:classification-slug\"],\n \"color\": \"#FF5733\",\n \"created_at\": \"1970-01-01T00:00:00.000Z\",\n \"updated_at\": \"1970-01-01T00:00:00.000Z\",\n \"archived\": false,\n \"starred\": false,\n \"enabled_locations\": [\"account\", \"string\"],\n \"enabled_purposes\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n}\n```\n\n
\n\n---\n\n### `updateTaxonomyClassification`\n\nUpdate a classification for a taxonomy\n\n`PUT /v2/entity/taxonomies/classifications/{classificationSlug}`\n\n```ts\nconst { data } = await client.updateTaxonomyClassification(\n {\n classificationSlug: 'example',\n },\n {\n id: 'taxonomy-slug:classification-slug',\n slug: 'wallbox-pv',\n name: 'Wallbox PV',\n parents: ['taxonomy-slug:classification-slug'],\n color: '#FF5733',\n created_at: '1970-01-01T00:00:00.000Z',\n updated_at: '1970-01-01T00:00:00.000Z',\n archived: false,\n starred: false,\n enabled_locations: ['account', 'string'],\n enabled_purposes: ['string'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"taxonomy-slug:classification-slug\",\n \"slug\": \"wallbox-pv\",\n \"name\": \"Wallbox PV\",\n \"parents\": [\"taxonomy-slug:classification-slug\"],\n \"color\": \"#FF5733\",\n \"created_at\": \"1970-01-01T00:00:00.000Z\",\n \"updated_at\": \"1970-01-01T00:00:00.000Z\",\n \"archived\": false,\n \"starred\": false,\n \"enabled_locations\": [\"account\", \"string\"],\n \"enabled_purposes\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n}\n```\n\n
\n\n---\n\n### `deleteTaxonomyClassification`\n\nDelete a classification for a taxonomy\n\n`DELETE /v2/entity/taxonomies/classifications/{classificationSlug}`\n\n```ts\nconst { data } = await client.deleteTaxonomyClassification({\n classificationSlug: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"taxonomy-slug:classification-slug\",\n \"slug\": \"wallbox-pv\",\n \"name\": \"Wallbox PV\",\n \"parents\": [\"taxonomy-slug:classification-slug\"],\n \"color\": \"#FF5733\",\n \"created_at\": \"1970-01-01T00:00:00.000Z\",\n \"updated_at\": \"1970-01-01T00:00:00.000Z\",\n \"archived\": false,\n \"starred\": false,\n \"enabled_locations\": [\"account\", \"string\"],\n \"enabled_purposes\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n}\n```\n\n
\n\n---\n\n### `taxonomyAutocomplete`\n\nTaxonomies autocomplete\n\n`GET /v1/entity/taxonomies/{taxonomySlug}:autocomplete`\n\n```ts\nconst { data } = await client.taxonomyAutocomplete({\n taxonomySlug: 'example',\n query: 'example',\n size: 1,\n})\n```\n\n
\nResponse\n\n```json\n{\n \"results\": [\n {\n \"id\": \"taxonomy-slug:classification-slug\",\n \"slug\": \"wallbox-pv\",\n \"name\": \"Wallbox PV\",\n \"parents\": [\"taxonomy-slug:classification-slug\"],\n \"color\": \"#FF5733\",\n \"created_at\": \"1970-01-01T00:00:00.000Z\",\n \"updated_at\": \"1970-01-01T00:00:00.000Z\",\n \"archived\": false,\n \"starred\": false,\n \"enabled_locations\": [\"account\", \"string\"],\n \"enabled_purposes\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ]\n}\n```\n\n
\n\n---\n\n### `taxonomiesClassificationsSearch`\n\nList taxonomy classifications in an organization based on taxonomy slug\n\n`POST /v1/entity/taxonomies/classifications:search`\n\n```ts\nconst { data } = await client.taxonomiesClassificationsSearch(\n {\n taxonomySlug: ['...'],\n query: 'example',\n archived: true,\n include_archived: 'example',\n exclude_types: ['...'],\n },\n {\n classificationIds: [\n 'taxonomy-slug:classification-slug',\n {\n pattern: 'taxonomy-slug:*'\n }\n ]\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"results\": [\n {\n \"id\": \"taxonomy-slug:classification-slug\",\n \"slug\": \"wallbox-pv\",\n \"name\": \"Wallbox PV\",\n \"parents\": [\"taxonomy-slug:classification-slug\"],\n \"color\": \"#FF5733\",\n \"created_at\": \"1970-01-01T00:00:00.000Z\",\n \"updated_at\": \"1970-01-01T00:00:00.000Z\",\n \"archived\": false,\n \"starred\": false,\n \"enabled_locations\": [\"account\", \"string\"],\n \"enabled_purposes\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ],\n \"hits\": 10\n}\n```\n\n
\n\n---\n\n### `listTaxonomyClassificationsForSchema`\n\nList taxonomy classifications for a given schema\n\n`GET /v1/entity/schemas/{slug}/taxonomy/{taxonomySlug}`\n\n```ts\nconst { data } = await client.listTaxonomyClassificationsForSchema({\n slug: 'example',\n taxonomySlug: 'example',\n query: 'example',\n size: 1,\n})\n```\n\n
\nResponse\n\n```json\n{\n \"results\": [\n {\n \"id\": \"taxonomy-slug:classification-slug\",\n \"slug\": \"wallbox-pv\",\n \"name\": \"Wallbox PV\",\n \"parents\": [\"taxonomy-slug:classification-slug\"],\n \"color\": \"#FF5733\",\n \"created_at\": \"1970-01-01T00:00:00.000Z\",\n \"updated_at\": \"1970-01-01T00:00:00.000Z\",\n \"archived\": false,\n \"starred\": false,\n \"enabled_locations\": [\"account\", \"string\"],\n \"enabled_purposes\": [\"string\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"]\n }\n ]\n}\n```\n\n
\n\n---\n\n### `getTaxonomyBulkActionJobs`\n\nGets bulk actions jobs by job status:\n- ```` = all active jobs\n- PENDING = all active jobs\n- FAILED = all failed jobs\n- COMPLETED = all completed jobs\n\n`GET /v1/entity/taxonomies/bulk-jobs`\n\n```ts\nconst { data } = await client.getTaxonomyBulkActionJobs({\n status: ['...'],\n size: 1,\n created_after: 'example',\n sort_pending_first: true,\n scope: 'example',\n})\n```\n\n
\nResponse\n\n```json\n[\n {\n \"job_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"status\": \"PENDING\",\n \"action_type\": \"MOVE_CLASSIFICATIONS\",\n \"created_by\": \"10598\",\n \"created_at\": \"2024-01-01T00:00:00.000Z\",\n \"updated_at\": \"2024-01-01T00:00:00.000Z\",\n \"org\": \"66\"\n }\n]\n```\n\n
\n\n---\n\n### `getTaxonomyBulkActionJobById`\n\nGets a bulk action job by job id\n\n`GET /v1/entity/taxonomies/bulk-jobs/{job_id}`\n\n```ts\nconst { data } = await client.getTaxonomyBulkActionJobById({\n job_id: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"job_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"status\": \"PENDING\",\n \"action_type\": \"MOVE_CLASSIFICATIONS\",\n \"created_by\": \"10598\",\n \"created_at\": \"2024-01-01T00:00:00.000Z\",\n \"updated_at\": \"2024-01-01T00:00:00.000Z\",\n \"org\": \"66\"\n}\n```\n\n
\n\n---\n\n### `cancelBulkAction`\n\nCancels a running bulk action job. The job status will be updated to CANCELLED\nand the job will be stopped.\n\n`POST /v1/entity/taxonomies/bulk-jobs/{job_id}/cancel`\n\n```ts\nconst { data } = await client.cancelBulkAction({\n job_id: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"job_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"status\": \"PENDING\",\n \"action_type\": \"MOVE_CLASSIFICATIONS\",\n \"created_by\": \"10598\",\n \"created_at\": \"2024-01-01T00:00:00.000Z\",\n \"updated_at\": \"2024-01-01T00:00:00.000Z\",\n \"org\": \"66\"\n}\n```\n\n
\n\n---\n\n### `bulkMoveClassifications`\n\nMoves classifications from one taxonomy to another, through a bulk async operation which\nalso updates all references from the old classification to the new one under the target taxonomy.\n\n`POST /v1/entity/taxonomies/classifications:move`\n\n```ts\nconst { data } = await client.bulkMoveClassifications(\n null,\n {\n job_id: 'string',\n target_taxonomy: 'purpose',\n classification_ids: ['taxonomy-slug:classification-slug']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"job_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"status\": \"PENDING\"\n}\n```\n\n
\n\n---\n\n### `bulkMergeClassifications`\n\nMerges classifications from one taxonomy into one individual classification, through a bulk async operation which\nalso updates all references from the old Classifications to the new one.\n\n`POST /v1/entity/taxonomies/classifications:merge`\n\n```ts\nconst { data } = await client.bulkMergeClassifications(\n null,\n {\n job_id: 'string',\n target_classification: 'purpose',\n classification_ids: ['taxonomy-slug:classification-slug']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"job_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"status\": \"PENDING\"\n}\n```\n\n
\n\n---\n\n### `bulkDeleteClassifications`\n\nPermanently deletes taxonomy classifications. The classifications are deleted through a bulk\nasync operation which also deletes all references of the deleted classifications from the entities\nreferenc\n\n`POST /v1/entity/taxonomies/classifications:delete`\n\n```ts\nconst { data } = await client.bulkDeleteClassifications(\n null,\n {\n job_id: 'string',\n classification_ids: ['taxonomy-slug:classification-slug']\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"job_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"status\": \"PENDING\"\n}\n```\n\n
\n\n---\n\n### `createSchemaAttribute`\n\nCreate a schema attribute\n\n`POST /v1/entity/schemas/attributes`\n\n```ts\nconst { data } = await client.createSchemaAttribute(\n null,\n {\n id: 'd5839b94-ba20-4225-a78e-76951d352bd6',\n name: 'string',\n label: 'string',\n placeholder: 'string',\n hidden: false,\n show_in_table: true,\n sortable: true,\n required: false,\n readonly: false,\n deprecated: false,\n variant_overridable: false,\n default_value: {},\n group: 'string',\n order: 0,\n layout: 'full_width',\n hide_label: true,\n icon: 'string',\n render_condition: 'string',\n data_classification: 'public',\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n constraints: {\n disablePast: true\n },\n feature_flag: 'FF_MY_FEATURE_FLAG',\n settings_flag: [\n {\n name: 'string',\n enabled: true\n }\n ],\n value_formatter: 'string',\n preview_value_formatter: 'string',\n entity_builder_disable_edit: false,\n protected: true,\n info_helpers: {\n hint_text: 'string',\n hint_text_key: 'string',\n hint_custom_component: 'string',\n hint_tooltip_placement: 'top'\n },\n explicit_searchable: false,\n exclude_from_search: false,\n repeatable: true,\n has_primary: true,\n edit_mode: 'direct',\n edit_mode_config: {\n match_strategy: 'exact',\n fuzzy_config: {\n type: 'suffix',\n suffix_length: 0,\n fields_to_ignore: ['string'],\n regex_flags: 'string',\n country_code: 'string',\n match_on: 'string',\n key: 'string',\n mode: 'subset',\n ordered: true,\n require_tags_match: true,\n pattern: 'string'\n }\n },\n type: 'string',\n multiline: true,\n rich_text: true,\n rows: 3\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"placeholder\": \"string\",\n \"hidden\": false,\n \"show_in_table\": true,\n \"sortable\": true,\n \"required\": false,\n \"readonly\": false,\n \"deprecated\": false,\n \"variant_overridable\": false,\n \"default_value\": {},\n \"group\": \"string\",\n \"order\": 0,\n \"layout\": \"full_width\",\n \"hide_label\": true,\n \"icon\": \"string\",\n \"render_condition\": \"string\",\n \"data_classification\": \"public\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"constraints\": {\n \"disablePast\": true\n },\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [\n {\n \"name\": \"string\",\n \"enabled\": true\n }\n ],\n \"value_formatter\": \"string\",\n \"preview_value_formatter\": \"string\",\n \"entity_builder_disable_edit\": false,\n \"protected\": true,\n \"info_helpers\": {\n \"hint_text\": \"string\",\n \"hint_text_key\": \"string\",\n \"hint_custom_component\": \"string\",\n \"hint_tooltip_placement\": \"top\"\n },\n \"explicit_searchable\": false,\n \"exclude_from_search\": false,\n \"repeatable\": true,\n \"has_primary\": true,\n \"edit_mode\": \"direct\",\n \"edit_mode_config\": {\n \"match_strategy\": \"exact\",\n \"fuzzy_config\": {\n \"type\": \"suffix\",\n \"suffix_length\": 0,\n \"fields_to_ignore\": [\"string\"],\n \"regex_flags\": \"string\",\n \"country_code\": \"string\",\n \"match_on\": \"string\",\n \"key\": \"string\",\n \"mode\": \"subset\",\n \"ordered\": true,\n \"require_tags_match\": true,\n \"pattern\": \"string\"\n }\n },\n \"type\": \"string\",\n \"multiline\": true,\n \"rich_text\": true,\n \"rows\": 3\n}\n```\n\n
\n\n---\n\n### `getSchemaAttribute`\n\nGet a schema attribute from given attribute ID\n\n`GET /v1/entity/schemas/attributes/{composite_id}`\n\n```ts\nconst { data } = await client.getSchemaAttribute({\n composite_id: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"placeholder\": \"string\",\n \"hidden\": false,\n \"show_in_table\": true,\n \"sortable\": true,\n \"required\": false,\n \"readonly\": false,\n \"deprecated\": false,\n \"variant_overridable\": false,\n \"default_value\": {},\n \"group\": \"string\",\n \"order\": 0,\n \"layout\": \"full_width\",\n \"hide_label\": true,\n \"icon\": \"string\",\n \"render_condition\": \"string\",\n \"data_classification\": \"public\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"constraints\": {\n \"disablePast\": true\n },\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [\n {\n \"name\": \"string\",\n \"enabled\": true\n }\n ],\n \"value_formatter\": \"string\",\n \"preview_value_formatter\": \"string\",\n \"entity_builder_disable_edit\": false,\n \"protected\": true,\n \"info_helpers\": {\n \"hint_text\": \"string\",\n \"hint_text_key\": \"string\",\n \"hint_custom_component\": \"string\",\n \"hint_tooltip_placement\": \"top\"\n },\n \"explicit_searchable\": false,\n \"exclude_from_search\": false,\n \"repeatable\": true,\n \"has_primary\": true,\n \"edit_mode\": \"direct\",\n \"edit_mode_config\": {\n \"match_strategy\": \"exact\",\n \"fuzzy_config\": {\n \"type\": \"suffix\",\n \"suffix_length\": 0,\n \"fields_to_ignore\": [\"string\"],\n \"regex_flags\": \"string\",\n \"country_code\": \"string\",\n \"match_on\": \"string\",\n \"key\": \"string\",\n \"mode\": \"subset\",\n \"ordered\": true,\n \"require_tags_match\": true,\n \"pattern\": \"string\"\n }\n },\n \"type\": \"string\",\n \"multiline\": true,\n \"rich_text\": true,\n \"rows\": 3\n}\n```\n\n
\n\n---\n\n### `putSchemaAttribute`\n\nUpdates an attribute in the schema\n\n`PUT /v1/entity/schemas/attributes/{composite_id}`\n\n```ts\nconst { data } = await client.putSchemaAttribute(\n {\n composite_id: 'example',\n },\n {\n id: 'd5839b94-ba20-4225-a78e-76951d352bd6',\n name: 'string',\n label: 'string',\n placeholder: 'string',\n hidden: false,\n show_in_table: true,\n sortable: true,\n required: false,\n readonly: false,\n deprecated: false,\n variant_overridable: false,\n default_value: {},\n group: 'string',\n order: 0,\n layout: 'full_width',\n hide_label: true,\n icon: 'string',\n render_condition: 'string',\n data_classification: 'public',\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n constraints: {\n disablePast: true\n },\n feature_flag: 'FF_MY_FEATURE_FLAG',\n settings_flag: [\n {\n name: 'string',\n enabled: true\n }\n ],\n value_formatter: 'string',\n preview_value_formatter: 'string',\n entity_builder_disable_edit: false,\n protected: true,\n info_helpers: {\n hint_text: 'string',\n hint_text_key: 'string',\n hint_custom_component: 'string',\n hint_tooltip_placement: 'top'\n },\n explicit_searchable: false,\n exclude_from_search: false,\n repeatable: true,\n has_primary: true,\n edit_mode: 'direct',\n edit_mode_config: {\n match_strategy: 'exact',\n fuzzy_config: {\n type: 'suffix',\n suffix_length: 0,\n fields_to_ignore: ['string'],\n regex_flags: 'string',\n country_code: 'string',\n match_on: 'string',\n key: 'string',\n mode: 'subset',\n ordered: true,\n require_tags_match: true,\n pattern: 'string'\n }\n },\n type: 'string',\n multiline: true,\n rich_text: true,\n rows: 3\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"placeholder\": \"string\",\n \"hidden\": false,\n \"show_in_table\": true,\n \"sortable\": true,\n \"required\": false,\n \"readonly\": false,\n \"deprecated\": false,\n \"variant_overridable\": false,\n \"default_value\": {},\n \"group\": \"string\",\n \"order\": 0,\n \"layout\": \"full_width\",\n \"hide_label\": true,\n \"icon\": \"string\",\n \"render_condition\": \"string\",\n \"data_classification\": \"public\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"constraints\": {\n \"disablePast\": true\n },\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [\n {\n \"name\": \"string\",\n \"enabled\": true\n }\n ],\n \"value_formatter\": \"string\",\n \"preview_value_formatter\": \"string\",\n \"entity_builder_disable_edit\": false,\n \"protected\": true,\n \"info_helpers\": {\n \"hint_text\": \"string\",\n \"hint_text_key\": \"string\",\n \"hint_custom_component\": \"string\",\n \"hint_tooltip_placement\": \"top\"\n },\n \"explicit_searchable\": false,\n \"exclude_from_search\": false,\n \"repeatable\": true,\n \"has_primary\": true,\n \"edit_mode\": \"direct\",\n \"edit_mode_config\": {\n \"match_strategy\": \"exact\",\n \"fuzzy_config\": {\n \"type\": \"suffix\",\n \"suffix_length\": 0,\n \"fields_to_ignore\": [\"string\"],\n \"regex_flags\": \"string\",\n \"country_code\": \"string\",\n \"match_on\": \"string\",\n \"key\": \"string\",\n \"mode\": \"subset\",\n \"ordered\": true,\n \"require_tags_match\": true,\n \"pattern\": \"string\"\n }\n },\n \"type\": \"string\",\n \"multiline\": true,\n \"rich_text\": true,\n \"rows\": 3\n}\n```\n\n
\n\n---\n\n### `deleteSchemaAttribute`\n\nDeletes an attribute from a schema\n\n`DELETE /v1/entity/schemas/attributes/{composite_id}`\n\n```ts\nconst { data } = await client.deleteSchemaAttribute({\n composite_id: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"placeholder\": \"string\",\n \"hidden\": false,\n \"show_in_table\": true,\n \"sortable\": true,\n \"required\": false,\n \"readonly\": false,\n \"deprecated\": false,\n \"variant_overridable\": false,\n \"default_value\": {},\n \"group\": \"string\",\n \"order\": 0,\n \"layout\": \"full_width\",\n \"hide_label\": true,\n \"icon\": \"string\",\n \"render_condition\": \"string\",\n \"data_classification\": \"public\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"constraints\": {\n \"disablePast\": true\n },\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [\n {\n \"name\": \"string\",\n \"enabled\": true\n }\n ],\n \"value_formatter\": \"string\",\n \"preview_value_formatter\": \"string\",\n \"entity_builder_disable_edit\": false,\n \"protected\": true,\n \"info_helpers\": {\n \"hint_text\": \"string\",\n \"hint_text_key\": \"string\",\n \"hint_custom_component\": \"string\",\n \"hint_tooltip_placement\": \"top\"\n },\n \"explicit_searchable\": false,\n \"exclude_from_search\": false,\n \"repeatable\": true,\n \"has_primary\": true,\n \"edit_mode\": \"direct\",\n \"edit_mode_config\": {\n \"match_strategy\": \"exact\",\n \"fuzzy_config\": {\n \"type\": \"suffix\",\n \"suffix_length\": 0,\n \"fields_to_ignore\": [\"string\"],\n \"regex_flags\": \"string\",\n \"country_code\": \"string\",\n \"match_on\": \"string\",\n \"key\": \"string\",\n \"mode\": \"subset\",\n \"ordered\": true,\n \"require_tags_match\": true,\n \"pattern\": \"string\"\n }\n },\n \"type\": \"string\",\n \"multiline\": true,\n \"rich_text\": true,\n \"rows\": 3\n}\n```\n\n
\n\n---\n\n### `createSchemaCapability`\n\nCreate a schema capability\n\n`POST /v1/entity/schemas/capabilities`\n\n```ts\nconst { data } = await client.createSchemaCapability(\n null,\n {\n id: 'd5839b94-ba20-4225-a78e-76951d352bd6',\n name: 'customer_messaging',\n title: 'Messaging',\n attributes: [\n {\n id: 'd5839b94-ba20-4225-a78e-76951d352bd6',\n name: 'string',\n label: 'string',\n placeholder: 'string',\n hidden: false,\n show_in_table: true,\n sortable: true,\n required: false,\n readonly: false,\n deprecated: false,\n variant_overridable: false,\n default_value: {},\n group: 'string',\n order: 0,\n layout: 'full_width',\n hide_label: true,\n icon: 'string',\n render_condition: 'string',\n data_classification: 'public',\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n constraints: { /* ... */ },\n feature_flag: 'FF_MY_FEATURE_FLAG',\n settings_flag: [ /* ... */ ],\n value_formatter: 'string',\n preview_value_formatter: 'string',\n entity_builder_disable_edit: false,\n protected: true,\n info_helpers: { /* ... */ },\n explicit_searchable: false,\n exclude_from_search: false,\n repeatable: true,\n has_primary: true,\n edit_mode: 'direct',\n edit_mode_config: { /* ... */ },\n type: 'string',\n multiline: true,\n rich_text: true,\n rows: 3\n },\n {\n id: 'd5839b94-ba20-4225-a78e-76951d352bd6',\n name: 'string',\n label: 'string',\n placeholder: 'string',\n hidden: false,\n show_in_table: true,\n sortable: true,\n required: false,\n readonly: false,\n deprecated: false,\n variant_overridable: false,\n default_value: {},\n group: 'string',\n order: 0,\n layout: 'full_width',\n hide_label: true,\n icon: 'string',\n render_condition: 'string',\n data_classification: 'public',\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n constraints: { /* ... */ },\n feature_flag: 'FF_MY_FEATURE_FLAG',\n settings_flag: [ /* ... */ ],\n value_formatter: 'string',\n preview_value_formatter: 'string',\n entity_builder_disable_edit: false,\n protected: true,\n info_helpers: { /* ... */ },\n explicit_searchable: false,\n exclude_from_search: false,\n repeatable: true,\n has_primary: true,\n edit_mode: 'direct',\n edit_mode_config: { /* ... */ },\n type: 'link'\n },\n /* ... 33 more */\n ],\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n app_id: '123e4567-e89b-12d3-a456-426614174000',\n ui_config: {\n is_filterable: true\n },\n ui_hooks: [\n {\n hook: 'EntityDetailsV2:Tab',\n render_condition: '_is_composite_price = \"false\"',\n order: 10,\n title: 'Notes',\n group_expanded: true,\n import: '@epilot360/notes',\n component: 'PricingItems',\n route: 'notes',\n icon: 'email',\n disabled: true,\n header: true,\n requiredPermission: { /* ... */ }\n }\n ],\n feature_flag: 'FF_MY_FEATURE_FLAG',\n settings_flag: [\n {\n name: 'string',\n enabled: true\n }\n ],\n schemas: [\n {\n schema: 'contact'\n }\n ],\n composite_id: 'contact:97644baa-083f-4e49-9188-fcff2ecaad7d',\n schema: 'contact'\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"customer_messaging\",\n \"title\": \"Messaging\",\n \"attributes\": [\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"placeholder\": \"string\",\n \"hidden\": false,\n \"show_in_table\": true,\n \"sortable\": true,\n \"required\": false,\n \"readonly\": false,\n \"deprecated\": false,\n \"variant_overridable\": false,\n \"default_value\": {},\n \"group\": \"string\",\n \"order\": 0,\n \"layout\": \"full_width\",\n \"hide_label\": true,\n \"icon\": \"string\",\n \"render_condition\": \"string\",\n \"data_classification\": \"public\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"constraints\": {},\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [],\n \"value_formatter\": \"string\",\n \"preview_value_formatter\": \"string\",\n \"entity_builder_disable_edit\": false,\n \"protected\": true,\n \"info_helpers\": {},\n \"explicit_searchable\": false,\n \"exclude_from_search\": false,\n \"repeatable\": true,\n \"has_primary\": true,\n \"edit_mode\": \"direct\",\n \"edit_mode_config\": {},\n \"type\": \"string\",\n \"multiline\": true,\n \"rich_text\": true,\n \"rows\": 3\n },\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"placeholder\": \"string\",\n \"hidden\": false,\n \"show_in_table\": true,\n \"sortable\": true,\n \"required\": false,\n \"readonly\": false,\n \"deprecated\": false,\n \"variant_overridable\": false,\n \"default_value\": {},\n \"group\": \"string\",\n \"order\": 0,\n \"layout\": \"full_width\",\n \"hide_label\": true,\n \"icon\": \"string\",\n \"render_condition\": \"string\",\n \"data_classification\": \"public\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"constraints\": {},\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [],\n \"value_formatter\": \"string\",\n \"preview_value_formatter\": \"string\",\n \"entity_builder_disable_edit\": false,\n \"protected\": true,\n \"info_helpers\": {},\n \"explicit_searchable\": false,\n \"exclude_from_search\": false,\n \"repeatable\": true,\n \"has_primary\": true,\n \"edit_mode\": \"direct\",\n \"edit_mode_config\": {},\n \"type\": \"link\"\n }\n ],\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"app_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"ui_config\": {\n \"is_filterable\": true\n },\n \"ui_hooks\": [\n {\n \"hook\": \"EntityDetailsV2:Tab\",\n \"render_condition\": \"_is_composite_price = \\\"false\\\"\",\n \"order\": 10,\n \"title\": \"Notes\",\n \"group_expanded\": true,\n \"import\": \"@epilot360/notes\",\n \"component\": \"PricingItems\",\n \"route\": \"notes\",\n \"icon\": \"email\",\n \"disabled\": true,\n \"header\": true,\n \"requiredPermission\": {}\n }\n ],\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [\n {\n \"name\": \"string\",\n \"enabled\": true\n }\n ],\n \"schemas\": [\n {\n \"schema\": \"contact\"\n }\n ],\n \"composite_id\": \"contact:97644baa-083f-4e49-9188-fcff2ecaad7d\",\n \"schema\": \"contact\"\n}\n```\n\n
\n\n---\n\n### `getSchemaCapability`\n\nGet a schema capability from given capability ID\n\n`GET /v1/entity/schemas/capabilities/{composite_id}`\n\n```ts\nconst { data } = await client.getSchemaCapability({\n composite_id: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"customer_messaging\",\n \"title\": \"Messaging\",\n \"attributes\": [\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"placeholder\": \"string\",\n \"hidden\": false,\n \"show_in_table\": true,\n \"sortable\": true,\n \"required\": false,\n \"readonly\": false,\n \"deprecated\": false,\n \"variant_overridable\": false,\n \"default_value\": {},\n \"group\": \"string\",\n \"order\": 0,\n \"layout\": \"full_width\",\n \"hide_label\": true,\n \"icon\": \"string\",\n \"render_condition\": \"string\",\n \"data_classification\": \"public\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"constraints\": {},\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [],\n \"value_formatter\": \"string\",\n \"preview_value_formatter\": \"string\",\n \"entity_builder_disable_edit\": false,\n \"protected\": true,\n \"info_helpers\": {},\n \"explicit_searchable\": false,\n \"exclude_from_search\": false,\n \"repeatable\": true,\n \"has_primary\": true,\n \"edit_mode\": \"direct\",\n \"edit_mode_config\": {},\n \"type\": \"string\",\n \"multiline\": true,\n \"rich_text\": true,\n \"rows\": 3\n },\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"placeholder\": \"string\",\n \"hidden\": false,\n \"show_in_table\": true,\n \"sortable\": true,\n \"required\": false,\n \"readonly\": false,\n \"deprecated\": false,\n \"variant_overridable\": false,\n \"default_value\": {},\n \"group\": \"string\",\n \"order\": 0,\n \"layout\": \"full_width\",\n \"hide_label\": true,\n \"icon\": \"string\",\n \"render_condition\": \"string\",\n \"data_classification\": \"public\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"constraints\": {},\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [],\n \"value_formatter\": \"string\",\n \"preview_value_formatter\": \"string\",\n \"entity_builder_disable_edit\": false,\n \"protected\": true,\n \"info_helpers\": {},\n \"explicit_searchable\": false,\n \"exclude_from_search\": false,\n \"repeatable\": true,\n \"has_primary\": true,\n \"edit_mode\": \"direct\",\n \"edit_mode_config\": {},\n \"type\": \"link\"\n }\n ],\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"app_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"ui_config\": {\n \"is_filterable\": true\n },\n \"ui_hooks\": [\n {\n \"hook\": \"EntityDetailsV2:Tab\",\n \"render_condition\": \"_is_composite_price = \\\"false\\\"\",\n \"order\": 10,\n \"title\": \"Notes\",\n \"group_expanded\": true,\n \"import\": \"@epilot360/notes\",\n \"component\": \"PricingItems\",\n \"route\": \"notes\",\n \"icon\": \"email\",\n \"disabled\": true,\n \"header\": true,\n \"requiredPermission\": {}\n }\n ],\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [\n {\n \"name\": \"string\",\n \"enabled\": true\n }\n ],\n \"schemas\": [\n {\n \"schema\": \"contact\"\n }\n ],\n \"composite_id\": \"contact:97644baa-083f-4e49-9188-fcff2ecaad7d\",\n \"schema\": \"contact\"\n}\n```\n\n
\n\n---\n\n### `putSchemaCapability`\n\nAdds or updates an capability in the schema\n\n`PUT /v1/entity/schemas/capabilities/{composite_id}`\n\n```ts\nconst { data } = await client.putSchemaCapability(\n {\n composite_id: 'example',\n },\n {\n id: 'd5839b94-ba20-4225-a78e-76951d352bd6',\n name: 'customer_messaging',\n title: 'Messaging',\n attributes: [\n {\n id: 'd5839b94-ba20-4225-a78e-76951d352bd6',\n name: 'string',\n label: 'string',\n placeholder: 'string',\n hidden: false,\n show_in_table: true,\n sortable: true,\n required: false,\n readonly: false,\n deprecated: false,\n variant_overridable: false,\n default_value: {},\n group: 'string',\n order: 0,\n layout: 'full_width',\n hide_label: true,\n icon: 'string',\n render_condition: 'string',\n data_classification: 'public',\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n constraints: { /* ... */ },\n feature_flag: 'FF_MY_FEATURE_FLAG',\n settings_flag: [ /* ... */ ],\n value_formatter: 'string',\n preview_value_formatter: 'string',\n entity_builder_disable_edit: false,\n protected: true,\n info_helpers: { /* ... */ },\n explicit_searchable: false,\n exclude_from_search: false,\n repeatable: true,\n has_primary: true,\n edit_mode: 'direct',\n edit_mode_config: { /* ... */ },\n type: 'string',\n multiline: true,\n rich_text: true,\n rows: 3\n },\n {\n id: 'd5839b94-ba20-4225-a78e-76951d352bd6',\n name: 'string',\n label: 'string',\n placeholder: 'string',\n hidden: false,\n show_in_table: true,\n sortable: true,\n required: false,\n readonly: false,\n deprecated: false,\n variant_overridable: false,\n default_value: {},\n group: 'string',\n order: 0,\n layout: 'full_width',\n hide_label: true,\n icon: 'string',\n render_condition: 'string',\n data_classification: 'public',\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n constraints: { /* ... */ },\n feature_flag: 'FF_MY_FEATURE_FLAG',\n settings_flag: [ /* ... */ ],\n value_formatter: 'string',\n preview_value_formatter: 'string',\n entity_builder_disable_edit: false,\n protected: true,\n info_helpers: { /* ... */ },\n explicit_searchable: false,\n exclude_from_search: false,\n repeatable: true,\n has_primary: true,\n edit_mode: 'direct',\n edit_mode_config: { /* ... */ },\n type: 'link'\n },\n /* ... 33 more */\n ],\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n app_id: '123e4567-e89b-12d3-a456-426614174000',\n ui_config: {\n is_filterable: true\n },\n ui_hooks: [\n {\n hook: 'EntityDetailsV2:Tab',\n render_condition: '_is_composite_price = \"false\"',\n order: 10,\n title: 'Notes',\n group_expanded: true,\n import: '@epilot360/notes',\n component: 'PricingItems',\n route: 'notes',\n icon: 'email',\n disabled: true,\n header: true,\n requiredPermission: { /* ... */ }\n }\n ],\n feature_flag: 'FF_MY_FEATURE_FLAG',\n settings_flag: [\n {\n name: 'string',\n enabled: true\n }\n ],\n schemas: [\n {\n schema: 'contact'\n }\n ],\n composite_id: 'contact:97644baa-083f-4e49-9188-fcff2ecaad7d',\n schema: 'contact'\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"customer_messaging\",\n \"title\": \"Messaging\",\n \"attributes\": [\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"placeholder\": \"string\",\n \"hidden\": false,\n \"show_in_table\": true,\n \"sortable\": true,\n \"required\": false,\n \"readonly\": false,\n \"deprecated\": false,\n \"variant_overridable\": false,\n \"default_value\": {},\n \"group\": \"string\",\n \"order\": 0,\n \"layout\": \"full_width\",\n \"hide_label\": true,\n \"icon\": \"string\",\n \"render_condition\": \"string\",\n \"data_classification\": \"public\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"constraints\": {},\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [],\n \"value_formatter\": \"string\",\n \"preview_value_formatter\": \"string\",\n \"entity_builder_disable_edit\": false,\n \"protected\": true,\n \"info_helpers\": {},\n \"explicit_searchable\": false,\n \"exclude_from_search\": false,\n \"repeatable\": true,\n \"has_primary\": true,\n \"edit_mode\": \"direct\",\n \"edit_mode_config\": {},\n \"type\": \"string\",\n \"multiline\": true,\n \"rich_text\": true,\n \"rows\": 3\n },\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"placeholder\": \"string\",\n \"hidden\": false,\n \"show_in_table\": true,\n \"sortable\": true,\n \"required\": false,\n \"readonly\": false,\n \"deprecated\": false,\n \"variant_overridable\": false,\n \"default_value\": {},\n \"group\": \"string\",\n \"order\": 0,\n \"layout\": \"full_width\",\n \"hide_label\": true,\n \"icon\": \"string\",\n \"render_condition\": \"string\",\n \"data_classification\": \"public\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"constraints\": {},\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [],\n \"value_formatter\": \"string\",\n \"preview_value_formatter\": \"string\",\n \"entity_builder_disable_edit\": false,\n \"protected\": true,\n \"info_helpers\": {},\n \"explicit_searchable\": false,\n \"exclude_from_search\": false,\n \"repeatable\": true,\n \"has_primary\": true,\n \"edit_mode\": \"direct\",\n \"edit_mode_config\": {},\n \"type\": \"link\"\n }\n ],\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"app_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"ui_config\": {\n \"is_filterable\": true\n },\n \"ui_hooks\": [\n {\n \"hook\": \"EntityDetailsV2:Tab\",\n \"render_condition\": \"_is_composite_price = \\\"false\\\"\",\n \"order\": 10,\n \"title\": \"Notes\",\n \"group_expanded\": true,\n \"import\": \"@epilot360/notes\",\n \"component\": \"PricingItems\",\n \"route\": \"notes\",\n \"icon\": \"email\",\n \"disabled\": true,\n \"header\": true,\n \"requiredPermission\": {}\n }\n ],\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [\n {\n \"name\": \"string\",\n \"enabled\": true\n }\n ],\n \"schemas\": [\n {\n \"schema\": \"contact\"\n }\n ],\n \"composite_id\": \"contact:97644baa-083f-4e49-9188-fcff2ecaad7d\",\n \"schema\": \"contact\"\n}\n```\n\n
\n\n---\n\n### `deleteSchemaCapability`\n\nDeletes a Capability from a schema\n\n`DELETE /v1/entity/schemas/capabilities/{composite_id}`\n\n```ts\nconst { data } = await client.deleteSchemaCapability({\n composite_id: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"customer_messaging\",\n \"title\": \"Messaging\",\n \"attributes\": [\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"placeholder\": \"string\",\n \"hidden\": false,\n \"show_in_table\": true,\n \"sortable\": true,\n \"required\": false,\n \"readonly\": false,\n \"deprecated\": false,\n \"variant_overridable\": false,\n \"default_value\": {},\n \"group\": \"string\",\n \"order\": 0,\n \"layout\": \"full_width\",\n \"hide_label\": true,\n \"icon\": \"string\",\n \"render_condition\": \"string\",\n \"data_classification\": \"public\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"constraints\": {},\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [],\n \"value_formatter\": \"string\",\n \"preview_value_formatter\": \"string\",\n \"entity_builder_disable_edit\": false,\n \"protected\": true,\n \"info_helpers\": {},\n \"explicit_searchable\": false,\n \"exclude_from_search\": false,\n \"repeatable\": true,\n \"has_primary\": true,\n \"edit_mode\": \"direct\",\n \"edit_mode_config\": {},\n \"type\": \"string\",\n \"multiline\": true,\n \"rich_text\": true,\n \"rows\": 3\n },\n {\n \"id\": \"d5839b94-ba20-4225-a78e-76951d352bd6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"placeholder\": \"string\",\n \"hidden\": false,\n \"show_in_table\": true,\n \"sortable\": true,\n \"required\": false,\n \"readonly\": false,\n \"deprecated\": false,\n \"variant_overridable\": false,\n \"default_value\": {},\n \"group\": \"string\",\n \"order\": 0,\n \"layout\": \"full_width\",\n \"hide_label\": true,\n \"icon\": \"string\",\n \"render_condition\": \"string\",\n \"data_classification\": \"public\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"constraints\": {},\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [],\n \"value_formatter\": \"string\",\n \"preview_value_formatter\": \"string\",\n \"entity_builder_disable_edit\": false,\n \"protected\": true,\n \"info_helpers\": {},\n \"explicit_searchable\": false,\n \"exclude_from_search\": false,\n \"repeatable\": true,\n \"has_primary\": true,\n \"edit_mode\": \"direct\",\n \"edit_mode_config\": {},\n \"type\": \"link\"\n }\n ],\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"app_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"ui_config\": {\n \"is_filterable\": true\n },\n \"ui_hooks\": [\n {\n \"hook\": \"EntityDetailsV2:Tab\",\n \"render_condition\": \"_is_composite_price = \\\"false\\\"\",\n \"order\": 10,\n \"title\": \"Notes\",\n \"group_expanded\": true,\n \"import\": \"@epilot360/notes\",\n \"component\": \"PricingItems\",\n \"route\": \"notes\",\n \"icon\": \"email\",\n \"disabled\": true,\n \"header\": true,\n \"requiredPermission\": {}\n }\n ],\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [\n {\n \"name\": \"string\",\n \"enabled\": true\n }\n ],\n \"schemas\": [\n {\n \"schema\": \"contact\"\n }\n ],\n \"composite_id\": \"contact:97644baa-083f-4e49-9188-fcff2ecaad7d\",\n \"schema\": \"contact\"\n}\n```\n\n
\n\n---\n\n### `createSchemaGroup`\n\nCreate a schema group\n\n`POST /v1/entity/schemas/group`\n\n```ts\nconst { data } = await client.createSchemaGroup(\n null,\n {\n label: 'Contact Details',\n id: 'e18a532b-ae79-4d86-a6a5-e5dbfb579d14',\n order: 0,\n expanded: false,\n render_condition: '_is_composite_price = \"false\"',\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n feature_flag: 'FF_MY_FEATURE_FLAG',\n settings_flag: [\n {\n name: 'string',\n enabled: true\n }\n ],\n info_tooltip_title: {\n key: 'string',\n default: 'string'\n },\n composite_id: 'contact:e18a532b-ae79-4d86-a6a5-e5dbfb579d14',\n schema: 'contact'\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"label\": \"Contact Details\",\n \"id\": \"e18a532b-ae79-4d86-a6a5-e5dbfb579d14\",\n \"order\": 0,\n \"expanded\": false,\n \"render_condition\": \"_is_composite_price = \\\"false\\\"\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [\n {\n \"name\": \"string\",\n \"enabled\": true\n }\n ],\n \"info_tooltip_title\": {\n \"key\": \"string\",\n \"default\": \"string\"\n },\n \"composite_id\": \"contact:e18a532b-ae79-4d86-a6a5-e5dbfb579d14\",\n \"schema\": \"contact\"\n}\n```\n\n
\n\n---\n\n### `getSchemaGroup`\n\nGet a schema group from given group composite ID\n\n`GET /v1/entity/schemas/group/{composite_id}`\n\n```ts\nconst { data } = await client.getSchemaGroup({\n composite_id: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"label\": \"Contact Details\",\n \"id\": \"e18a532b-ae79-4d86-a6a5-e5dbfb579d14\",\n \"order\": 0,\n \"expanded\": false,\n \"render_condition\": \"_is_composite_price = \\\"false\\\"\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [\n {\n \"name\": \"string\",\n \"enabled\": true\n }\n ],\n \"info_tooltip_title\": {\n \"key\": \"string\",\n \"default\": \"string\"\n },\n \"composite_id\": \"contact:e18a532b-ae79-4d86-a6a5-e5dbfb579d14\",\n \"schema\": \"contact\"\n}\n```\n\n
\n\n---\n\n### `putSchemaGroup`\n\nAdds or updates an capability in the schema\n\n`PUT /v1/entity/schemas/group/{composite_id}`\n\n```ts\nconst { data } = await client.putSchemaGroup(\n {\n composite_id: 'example',\n },\n {\n label: 'Contact Details',\n id: 'e18a532b-ae79-4d86-a6a5-e5dbfb579d14',\n order: 0,\n expanded: false,\n render_condition: '_is_composite_price = \"false\"',\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n feature_flag: 'FF_MY_FEATURE_FLAG',\n settings_flag: [\n {\n name: 'string',\n enabled: true\n }\n ],\n info_tooltip_title: {\n key: 'string',\n default: 'string'\n },\n composite_id: 'contact:e18a532b-ae79-4d86-a6a5-e5dbfb579d14',\n schema: 'contact'\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"label\": \"Contact Details\",\n \"id\": \"e18a532b-ae79-4d86-a6a5-e5dbfb579d14\",\n \"order\": 0,\n \"expanded\": false,\n \"render_condition\": \"_is_composite_price = \\\"false\\\"\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [\n {\n \"name\": \"string\",\n \"enabled\": true\n }\n ],\n \"info_tooltip_title\": {\n \"key\": \"string\",\n \"default\": \"string\"\n },\n \"composite_id\": \"contact:e18a532b-ae79-4d86-a6a5-e5dbfb579d14\",\n \"schema\": \"contact\"\n}\n```\n\n
\n\n---\n\n### `deleteSchemaGroup`\n\nDeletes a Capability from a schema\n\n`DELETE /v1/entity/schemas/group/{composite_id}`\n\n```ts\nconst { data } = await client.deleteSchemaGroup({\n composite_id: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"label\": \"Contact Details\",\n \"id\": \"e18a532b-ae79-4d86-a6a5-e5dbfb579d14\",\n \"order\": 0,\n \"expanded\": false,\n \"render_condition\": \"_is_composite_price = \\\"false\\\"\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"feature_flag\": \"FF_MY_FEATURE_FLAG\",\n \"settings_flag\": [\n {\n \"name\": \"string\",\n \"enabled\": true\n }\n ],\n \"info_tooltip_title\": {\n \"key\": \"string\",\n \"default\": \"string\"\n },\n \"composite_id\": \"contact:e18a532b-ae79-4d86-a6a5-e5dbfb579d14\",\n \"schema\": \"contact\"\n}\n```\n\n
\n\n---\n\n### `createSchemaGroupHeadline`\n\nCreate a headline in a schema group\n\n`POST /v1/entity/schemas/headline`\n\n```ts\nconst { data } = await client.createSchemaGroupHeadline(\n null,\n {\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n name: 'string',\n label: 'string',\n layout: 'string',\n group: 'string',\n order: 0,\n type: 'headline',\n enable_divider: false,\n divider: 'top_divider',\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n composite_id: 'contact:97644baa-083f-4e49-9188-fcff2ecaad7d',\n schema: 'contact'\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"layout\": \"string\",\n \"group\": \"string\",\n \"order\": 0,\n \"type\": \"headline\",\n \"enable_divider\": false,\n \"divider\": \"top_divider\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"composite_id\": \"contact:97644baa-083f-4e49-9188-fcff2ecaad7d\",\n \"schema\": \"contact\"\n}\n```\n\n
\n\n---\n\n### `getSchemaGroupHeadline`\n\nGet a group headline from schema from given headline composite ID\n\n`GET /v1/entity/schemas/headline/{composite_id}`\n\n```ts\nconst { data } = await client.getSchemaGroupHeadline({\n composite_id: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"layout\": \"string\",\n \"group\": \"string\",\n \"order\": 0,\n \"type\": \"headline\",\n \"enable_divider\": false,\n \"divider\": \"top_divider\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"composite_id\": \"contact:97644baa-083f-4e49-9188-fcff2ecaad7d\",\n \"schema\": \"contact\"\n}\n```\n\n
\n\n---\n\n### `putSchemaGroupHeadline`\n\nAdds or updates a group headline in the schema\n\n`PUT /v1/entity/schemas/headline/{composite_id}`\n\n```ts\nconst { data } = await client.putSchemaGroupHeadline(\n {\n composite_id: 'example',\n },\n {\n id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',\n name: 'string',\n label: 'string',\n layout: 'string',\n group: 'string',\n order: 0,\n type: 'headline',\n enable_divider: false,\n divider: 'top_divider',\n _purpose: ['taxonomy-slug:classification-slug'],\n _manifest: ['123e4567-e89b-12d3-a456-426614174000'],\n composite_id: 'contact:97644baa-083f-4e49-9188-fcff2ecaad7d',\n schema: 'contact'\n },\n)\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"layout\": \"string\",\n \"group\": \"string\",\n \"order\": 0,\n \"type\": \"headline\",\n \"enable_divider\": false,\n \"divider\": \"top_divider\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"composite_id\": \"contact:97644baa-083f-4e49-9188-fcff2ecaad7d\",\n \"schema\": \"contact\"\n}\n```\n\n
\n\n---\n\n### `deleteSchemaGroupHeadline`\n\nDeletes a group headline from a schema\n\n`DELETE /v1/entity/schemas/headline/{composite_id}`\n\n```ts\nconst { data } = await client.deleteSchemaGroupHeadline({\n composite_id: 'example',\n})\n```\n\n
\nResponse\n\n```json\n{\n \"id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n \"name\": \"string\",\n \"label\": \"string\",\n \"layout\": \"string\",\n \"group\": \"string\",\n \"order\": 0,\n \"type\": \"headline\",\n \"enable_divider\": false,\n \"divider\": \"top_divider\",\n \"_purpose\": [\"taxonomy-slug:classification-slug\"],\n \"_manifest\": [\"123e4567-e89b-12d3-a456-426614174000\"],\n \"composite_id\": \"contact:97644baa-083f-4e49-9188-fcff2ecaad7d\",\n \"schema\": \"contact\"\n}\n```\n\n
\n\n---\n\n## Schemas\n\n### `ExportJobId`\n\nThe unique identifier of the import job.\n\n```ts\ntype ExportJobId = string\n```\n\n### `Language`\n\nExport headers translation Language\n\n```ts\ntype Language = string\n```\n\n### `IsTemplate`\n\nPass 'true' to generate import template\n\n```ts\ntype IsTemplate = boolean\n```\n\n### `SchemaId`\n\nGenerated uuid for schema\n\n```ts\ntype SchemaId = string // uuid\n```\n\n### `EntitySchema`\n\nThe \"type\" of an Entity. Describes the shape. Includes Entity Attributes, Relations and Capabilities.\n\n```ts\ntype EntitySchema = {\n slug: string\n version?: number\n blueprint?: string // uuid\n feature_flag?: string\n enable_setting?: string[]\n name: string\n plural: string\n description?: string\n docs_url?: string // uri\n category?: string\n published?: boolean\n draft?: boolean\n icon?: string\n title_template?: string\n ui_config?: {\n table_view?: {\n view_type?: { ... }\n row_actions?: { ... }\n bulk_actions?: { ... }\n navbar_actions?: { ... }\n enable_thumbnails?: { ... }\n } | {\n view_type?: { ... }\n route?: { ... }\n } | {\n view_type?: { ... }\n }\n create_view?: {\n view_type?: { ... }\n search_params?: { ... }\n } | {\n view_type?: { ... }\n route?: { ... }\n } | {\n view_type?: { ... }\n }\n edit_view?: {\n view_type?: { ... }\n search_params?: { ... }\n summary_attributes?: { ... }\n } | {\n view_type?: { ... }\n route?: { ... }\n } | {\n view_type?: { ... }\n }\n single_view?: {\n view_type?: { ... }\n search_params?: { ... }\n summary_attributes?: { ... }\n } | {\n view_type?: { ... }\n route?: { ... }\n } | {\n view_type?: { ... }\n }\n list_item?: {\n summary_attributes?: { ... }\n quick_actions?: { ... }\n ui_config?: { ... }\n }\n sharing?: {\n show_sharing_button?: { ... }\n }\n grid_layout?: {\n id?: { ... }\n columns?: { ... }\n cells?: { ... }\n }\n widget_order?: string[]\n }\n capabilities: Array<{\n id?: string\n name: string\n title?: string\n attributes?: Array<{\n id?: { ... }\n name: { ... }\n label: { ... }\n placeholder?: { ... }\n hidden?: { ... }\n show_in_table?: { ... }\n sortable?: { ... }\n required?: { ... }\n readonly?: { ... }\n deprecated?: { ... }\n variant_overridable?: { ... }\n default_value?: { ... }\n group?: { ... }\n order?: { ... }\n layout?: { ... }\n hide_label?: { ... }\n icon?: { ... }\n render_condition?: { ... }\n data_classification?: { ... }\n _purpose?: { ... }\n _manifest?: { ... }\n constraints?: { ... }\n feature_flag?: { ... }\n // ...\n}\n```\n\n### `EntitySchemaItem`\n\n```ts\ntype EntitySchemaItem = {\n id?: string // uuid\n created_at?: string\n updated_at?: string\n comment?: string\n source?: {\n id?: string\n type?: string\n }\n frozen?: boolean\n latest?: boolean\n _summary?: boolean\n slug: string\n version?: number\n blueprint?: string // uuid\n feature_flag?: string\n enable_setting?: string[]\n name: string\n plural: string\n description?: string\n docs_url?: string // uri\n category?: string\n published?: boolean\n draft?: boolean\n icon?: string\n title_template?: string\n ui_config?: {\n table_view?: {\n view_type?: { ... }\n row_actions?: { ... }\n bulk_actions?: { ... }\n navbar_actions?: { ... }\n enable_thumbnails?: { ... }\n } | {\n view_type?: { ... }\n route?: { ... }\n } | {\n view_type?: { ... }\n }\n create_view?: {\n view_type?: { ... }\n search_params?: { ... }\n } | {\n view_type?: { ... }\n route?: { ... }\n } | {\n view_type?: { ... }\n }\n edit_view?: {\n view_type?: { ... }\n search_params?: { ... }\n summary_attributes?: { ... }\n } | {\n view_type?: { ... }\n route?: { ... }\n } | {\n view_type?: { ... }\n }\n single_view?: {\n view_type?: { ... }\n search_params?: { ... }\n summary_attributes?: { ... }\n } | {\n view_type?: { ... }\n route?: { ... }\n } | {\n view_type?: { ... }\n }\n list_item?: {\n summary_attributes?: { ... }\n quick_actions?: { ... }\n ui_config?: { ... }\n }\n sharing?: {\n show_sharing_button?: { ... }\n }\n grid_layout?: {\n id?: { ... }\n columns?: { ... }\n cells?: { ... }\n }\n widget_order?: string[]\n }\n capabilities: Array<{\n id?: string\n name: string\n title?: string\n attributes?: Array<{\n id?: { ... }\n name: { ... }\n label: { ... }\n placeholder?: { ... }\n hidden?: { ... }\n show_in_table?: { ... }\n sortable?: { ... }\n required?: { ... }\n readonly?: { ... }\n deprecated?: { ... }\n variant_overridable?: { ... }\n default_value?: { ... }\n // ...\n}\n```\n\n### `GenerateEntityTableAIFiltersRequest`\n\n```ts\ntype GenerateEntityTableAIFiltersRequest = {\n prompt: string\n main_entity_slug: string\n filter_options: Array<{\n type?: \"search\" | \"filter\"\n label: string\n label_type?: string\n name?: string\n group?: string\n allowedSchemas?: string[]\n relatedOptions?: Array<{\n type?: { ... }\n label: { ... }\n label_type?: { ... }\n name?: { ... }\n group?: { ... }\n allowedSchemas?: { ... }\n relatedOptions?: { ... }\n }>\n }>\n}\n```\n\n### `GenerateEntityTableAIFiltersResponse`\n\n```ts\ntype GenerateEntityTableAIFiltersResponse = Array<{\n label: string\n type: string\n value: string\n}>\n```\n\n### `EntityTableFilterSearch`\n\n```ts\ntype EntityTableFilterSearch = {\n label: string\n type: string\n value: string\n}\n```\n\n### `EntityTableFilterOption`\n\n```ts\ntype EntityTableFilterOption = {\n type?: \"search\" | \"filter\"\n label: string\n label_type?: string\n name?: string\n group?: string\n allowedSchemas?: string[]\n relatedOptions?: Array<{\n type?: \"search\" | \"filter\"\n label: string\n label_type?: string\n name?: string\n group?: string\n allowedSchemas?: string[]\n relatedOptions?: Array<{\n type?: { ... }\n label: { ... }\n label_type?: { ... }\n name?: { ... }\n group?: { ... }\n allowedSchemas?: { ... }\n relatedOptions?: { ... }\n }>\n }>\n}\n```\n\n### `EntitySchemaGroup`\n\n```ts\ntype EntitySchemaGroup = {\n label: string\n id?: string\n order?: number\n expanded?: boolean\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n info_tooltip_title?: {\n key?: string\n default?: string\n }\n}\n```\n\n### `EntitySchemaGroupWithCompositeID`\n\n```ts\ntype EntitySchemaGroupWithCompositeID = {\n label: string\n id?: string\n order?: number\n expanded?: boolean\n render_condition?: string\n _purpose?: string[]\n _manifest?: string // uuid[]\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n info_tooltip_title?: {\n key?: string\n default?: string\n }\n composite_id?: string\n schema?: string\n}\n```\n\n### `Attribute`\n\n```ts\ntype Attribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"string\"\n multiline?: boolean\n rich_text?: boolean\n rows?: number | string\n} | {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n // ...\n}\n```\n\n### `AttributeWithCompositeID`\n\n```ts\ntype AttributeWithCompositeID = {\n composite_id?: string\n schema?: string\n}\n```\n\n### `BaseAttribute`\n\n```ts\ntype BaseAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n}\n```\n\n### `TextAttribute`\n\n```ts\ntype TextAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"string\"\n multiline?: boolean\n rich_text?: boolean\n rows?: number | string\n}\n```\n\n### `LinkAttribute`\n\n```ts\ntype LinkAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"link\"\n}\n```\n\n### `InternalAttribute`\n\n```ts\ntype InternalAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"internal\"\n}\n```\n\n### `BooleanAttribute`\n\n```ts\ntype BooleanAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"boolean\"\n display_type?: \"switch\" | \"checkbox\"\n}\n```\n\n### `DateAttribute`\n\n```ts\ntype DateAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"date\" | \"datetime\"\n}\n```\n\n### `CountryAttribute`\n\n```ts\ntype CountryAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"country\"\n}\n```\n\n### `SelectAttribute`\n\n```ts\ntype SelectAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"select\" | \"radio\"\n options?: Array<{\n value: string\n title?: string\n } | string>\n allow_any?: boolean\n}\n```\n\n### `MultiSelectAttribute`\n\n```ts\ntype MultiSelectAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"multiselect\" | \"checkbox\"\n disable_case_sensitive?: boolean\n allow_extra_options?: boolean\n options?: Array\n allow_any?: boolean\n}\n```\n\n### `StatusAttribute`\n\n```ts\ntype StatusAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"status\"\n options?: Array\n}\n```\n\n### `SequenceAttribute`\n\n```ts\ntype SequenceAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"sequence\"\n prefix?: string\n start_number?: number\n}\n```\n\n### `FileAttribute`\n\n```ts\ntype FileAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"image\" | \"file\"\n multiple?: boolean\n allowed_extensions?: string[]\n display_images_landscaped?: boolean\n enable_description?: boolean\n default_access_control?: \"public-read\" | \"private\"\n file_size_bytes?: number\n}\n```\n\n### `CurrencyAttribute`\n\n```ts\ntype CurrencyAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"currency\"\n currency_selector_only?: boolean\n currency: Array<{\n code: string\n description: string\n symbol: string\n flag?: string\n }>\n}\n```\n\n### `SummaryField`\n\nSummary Fields are displayed inside list view as a resume of the relation entity.\n\n```ts\ntype SummaryField = {\n field?: string\n display_as?: string\n}\n```\n\n### `EntityAction`\n\nAn entity action configured from the entity schema\n\n```ts\ntype EntityAction = {\n action: string\n label: string\n icon?: string\n permission?: string\n}\n```\n\n### `RelationAttribute`\n\n```ts\ntype RelationAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"list-view\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"relation\"\n relation_type?: \"has_many\" | \"has_one\"\n reverse_attributes?: Record\n relation_affinity_mode?: \"weak\" | \"strong\"\n enable_relation_picker?: boolean\n details_view_mode_enabled?: boolean\n relation_picker_filter?: {\n q: string\n }\n actions?: Array<{\n action_type?: \"add_existing\" | \"create_new\" | \"create_from_existing\"\n label?: string\n default?: boolean\n feature_flag?: string\n settings_flag?: Array<{\n name?: { ... }\n enabled?: { ... }\n }>\n new_entity_item?: Record\n }>\n drawer_size?: \"small\" | \"medium\" | \"large\"\n summary_fields?: Array\n allowedSchemas?: string[]\n enable_relation_tags?: boolean\n add_button_label?: string\n search_placeholder?: string\n}\n```\n\n### `UserRelationAttribute`\n\n```ts\ntype UserRelationAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"relation_user\"\n multiple?: boolean\n}\n```\n\n### `PartnerOrganisationAttribute`\n\n```ts\ntype PartnerOrganisationAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"partner_organisation\"\n}\n```\n\n### `PortalAccessAttribute`\n\n```ts\ntype PortalAccessAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"portal_access\"\n}\n```\n\n### `DefaultAddressFields`\n\nDefault fields visible on addresses\n\nValid values are:\n - postal_code (default)\n - city (default)\n - street (default)\n - street_number (default)\n - plot_area\n - plot_of_land\n - suburb\n - country\n - postbox\n - additional_info\n - coordinates\n - start_date\n - end_date\n - salutation\n - ti\n\n```ts\ntype DefaultAddressFields = string[]\n```\n\n### `AddressAttribute`\n\n```ts\ntype AddressAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"address\"\n default_address_fields?: string[]\n}\n```\n\n### `AddressRelationAttribute`\n\n```ts\ntype AddressRelationAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"relation_address\"\n default_address_fields?: string[]\n}\n```\n\n### `PaymentMethodRelationAttribute`\n\n```ts\ntype PaymentMethodRelationAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"relation_payment_method\"\n}\n```\n\n### `InvitationEmailAttribute`\n\n```ts\ntype InvitationEmailAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"invitation_email\"\n}\n```\n\n### `AutomationAttribute`\n\n```ts\ntype AutomationAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"automation\"\n}\n```\n\n### `InternalUserAttribute`\n\n```ts\ntype InternalUserAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"internal_user\"\n}\n```\n\n### `PurposeAttribute`\n\n```ts\ntype PurposeAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"purpose\"\n}\n```\n\n### `RepeatableAttribute`\n\n```ts\ntype RepeatableAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n}\n```\n\n### `TagsAttribute`\n\n```ts\ntype TagsAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"tags\"\n options?: string[]\n suggestions?: string[]\n}\n```\n\n### `MessageEmailAddressAttribute`\n\n```ts\ntype MessageEmailAddressAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"message_email_address\"\n address?: string\n send_status?: string\n email_type?: string\n}\n```\n\n### `NumberAttribute`\n\n```ts\ntype NumberAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"number\"\n data_type?: \"number\" | \"string\"\n format?: string\n show_separator?: boolean\n}\n```\n\n### `TableAttribute`\n\n```ts\ntype TableAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"table\"\n columns?: Array<{\n name: string\n label: string\n type?: \"string\" | \"number\" | \"date\" | \"boolean\"\n width?: string\n required?: boolean\n bold?: boolean\n }>\n min_rows?: number\n max_rows?: number\n transposed?: boolean\n column_header?: {\n template?: string\n start?: number\n }\n}\n```\n\n### `ConsentAttribute`\n\n```ts\ntype ConsentAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"consent\"\n topic: string\n identifiers?: string[]\n}\n```\n\n### `OrderedListAttribute`\n\n```ts\ntype OrderedListAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"ordered_list\"\n}\n```\n\n### `EmailAttribute`\n\n```ts\ntype EmailAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"email\"\n}\n```\n\n### `PhoneAttribute`\n\n```ts\ntype PhoneAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"phone\"\n}\n```\n\n### `PaymentAttribute`\n\n```ts\ntype PaymentAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"payment\"\n}\n```\n\n### `PriceComponentAttribute`\n\n```ts\ntype PriceComponentAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"price_component\"\n}\n```\n\n### `ComputedAttribute`\n\n```ts\ntype ComputedAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"computed\"\n computed?: boolean\n amount_field?: string\n currency_field?: string\n}\n```\n\n### `PartnerStatusAttribute`\n\n```ts\ntype PartnerStatusAttribute = {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: string\n hint_text_key?: string\n hint_custom_component?: string\n hint_tooltip_placement?: string\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: { ... }\n suffix_length?: { ... }\n fields_to_ignore?: { ... }\n regex_flags?: { ... }\n country_code?: { ... }\n match_on?: { ... }\n key?: { ... }\n mode?: { ... }\n ordered?: { ... }\n require_tags_match?: { ... }\n pattern?: { ... }\n }\n }\n type: \"partner_status\"\n}\n```\n\n### `SummaryAttribute`\n\nRepresents an expanded version of an attribute to be displayed in the list item summary.\nThis configuration can be used in the following way:\n```js\n{\n \"label\": \"Price components\"\n \"value\": \"{{item.prices.length}} price components\"\n \"show_as_tag\": true\n \"render_condition\": \"is_composite_price = \"\n\n```ts\ntype SummaryAttribute = {\n label: string\n value: string\n show_as_tag?: boolean\n tag_color?: string\n render_condition?: string\n feature_flag?: string\n settings_flag?: Array<{\n name?: string\n enabled?: boolean\n }>\n display_mode?: \"inline\" | \"block\"\n content_line_cap?: number\n content_wrap?: \"normal\" | \"nowrap\" | \"pre\" | \"pre-wrap\"\n hide_label?: boolean\n highlight_container?: boolean\n}\n```\n\n### `GroupHeadline`\n\n```ts\ntype GroupHeadline = {\n id?: string // uuid\n name: string\n label: string\n layout?: string\n group: string\n order?: number\n type: \"headline\"\n enable_divider?: boolean\n divider?: \"top_divider\" | \"bottom_divider\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n}\n```\n\n### `GroupHeadlineWithCompositeID`\n\n```ts\ntype GroupHeadlineWithCompositeID = {\n id?: string // uuid\n name: string\n label: string\n layout?: string\n group: string\n order?: number\n type: \"headline\"\n enable_divider?: boolean\n divider?: \"top_divider\" | \"bottom_divider\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n composite_id?: string\n schema?: string\n}\n```\n\n### `BaseConditionDefinition`\n\n```ts\ntype BaseConditionDefinition = {\n id: string // uuid\n name: string\n label: string\n}\n```\n\n### `ScalarConditionDefinition`\n\n```ts\ntype ScalarConditionDefinition = {\n id: string // uuid\n name: string\n label: string\n type: \"string\" | \"number\" | \"date\" | \"daterange\" | \"boolean\"\n}\n```\n\n### `SelectConditionDefinition`\n\n```ts\ntype SelectConditionDefinition = {\n id: string // uuid\n name: string\n label: string\n type: \"select\"\n values?: string[]\n}\n```\n\n### `LocationConditionDefinition`\n\n```ts\ntype LocationConditionDefinition = {\n id: string // uuid\n name: string\n label: string\n type: \"location\"\n format?: \"zipcode\" | \"zipcode_town\"\n}\n```\n\n### `ConditionDefinition`\n\nOne dimension that conditional variants of an entity type are keyed by. `type`\ndiscriminates the variants: only a `select` condition carries `values`, and only a\n`location` condition carries `format`.\n\n\n```ts\ntype ConditionDefinition = {\n id: string // uuid\n name: string\n label: string\n type: \"string\" | \"number\" | \"date\" | \"daterange\" | \"boolean\"\n} | {\n id: string // uuid\n name: string\n label: string\n type: \"select\"\n values?: string[]\n} | {\n id: string // uuid\n name: string\n label: string\n type: \"location\"\n format?: \"zipcode\" | \"zipcode_town\"\n}\n```\n\n### `EntitySlug`\n\nURL-friendly identifier for the entity schema\n\n```ts\ntype EntitySlug = string\n```\n\n### `EntityCapability`\n\nCapabilities the Entity has. Turn features on/off for entities.\n\n```ts\ntype EntityCapability = {\n id?: string\n name: string\n title?: string\n attributes?: Array<{\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: { ... }\n enabled?: { ... }\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: { ... }\n hint_text_key?: { ... }\n hint_custom_component?: { ... }\n hint_tooltip_placement?: { ... }\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: { ... }\n fuzzy_config?: { ... }\n }\n type: \"string\"\n multiline?: boolean\n rich_text?: boolean\n rows?: number | string\n } | {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: { ... }\n enabled?: { ... }\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: { ... }\n hint_text_key?: { ... }\n hint_custom_component?: { ... }\n hint_tooltip_placement?: { ... }\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: { ... }\n // ...\n}\n```\n\n### `EntityCapabilityWithCompositeID`\n\n```ts\ntype EntityCapabilityWithCompositeID = {\n id?: string\n name: string\n title?: string\n attributes?: Array<{\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: { ... }\n enabled?: { ... }\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: { ... }\n hint_text_key?: { ... }\n hint_custom_component?: { ... }\n hint_tooltip_placement?: { ... }\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: { ... }\n fuzzy_config?: { ... }\n }\n type: \"string\"\n multiline?: boolean\n rich_text?: boolean\n rows?: number | string\n } | {\n id?: string\n name: string\n label: string\n placeholder?: string\n hidden?: boolean\n show_in_table?: boolean\n sortable?: boolean\n required?: boolean\n readonly?: boolean\n deprecated?: boolean\n variant_overridable?: boolean\n default_value?: unknown\n group?: string\n order?: number\n layout?: string\n hide_label?: boolean\n icon?: string\n render_condition?: string\n data_classification?: \"public\" | \"pii\"\n _purpose?: string[]\n _manifest?: string // uuid[]\n constraints?: object\n feature_flag?: string\n settings_flag?: Array<{\n name?: { ... }\n enabled?: { ... }\n }>\n value_formatter?: string\n preview_value_formatter?: string\n entity_builder_disable_edit?: boolean\n protected?: boolean\n info_helpers?: {\n hint_text?: { ... }\n hint_text_key?: { ... }\n hint_custom_component?: { ... }\n hint_tooltip_placement?: { ... }\n }\n explicit_searchable?: boolean\n exclude_from_search?: boolean\n repeatable?: boolean\n has_primary?: boolean\n edit_mode?: \"direct\" | \"external\" | \"approval\"\n edit_mode_config?: {\n match_strategy?: { ... }\n // ...\n}\n```\n\n### `EntityViewDisabled`\n\n```ts\ntype EntityViewDisabled = {\n view_type?: \"disabled\"\n}\n```\n\n### `EntityDefaultTable`\n\n```ts\ntype EntityDefaultTable = {\n view_type?: \"default\"\n row_actions?: Array\n bulk_actions?: Array\n navbar_actions?: Array<{\n type: string\n options?: Array<{\n label: { ... }\n params?: { ... }\n }>\n }>\n enable_thumbnails?: boolean\n}\n```\n\n### `EntityDefaultCreate`\n\n```ts\ntype EntityDefaultCreate = {\n view_type?: \"default\"\n search_params?: Record\n}\n```\n\n### `EntityDefaultEdit`\n\n```ts\ntype EntityDefaultEdit = {\n view_type?: \"default\"\n search_params?: Record\n summary_attributes?: string[]\n}\n```\n\n### `RedirectEntityView`\n\n```ts\ntype RedirectEntityView = {\n view_type?: \"redirect\"\n route?: string\n}\n```\n\n### `EntityId`\n\n```ts\ntype EntityId = string // uuid\n```\n\n### `BaseEntity`\n\n```ts\ntype BaseEntity = {\n _id: object\n _org: string\n _owners?: Array<{\n org_id: string\n user_id?: string\n }>\n _schema: string\n _title: string\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n _deleted_at?: string // date-time\n _acl?: {\n view?: string[]\n edit?: string[]\n delete?: string[]\n }\n _purpose?: string[]\n _purpose_name?: string[]\n _manifest?: string // uuid[]\n _changesets?: Record\n }>\n}\n```\n\n### `Entity`\n\n```ts\ntype Entity = {\n _id?: object\n _org?: string\n _owners?: Array<{\n org_id: string\n user_id?: string\n }>\n _schema?: string\n _title?: string\n _tags?: string[]\n _created_at?: string // date-time\n _updated_at?: string // date-time\n _deleted_at?: string // date-time\n _acl?: {\n view?: string[]\n edit?: string[]\n delete?: string[]\n }\n _purpose?: string[]\n _purpose_name?: string[]\n _manifest?: string // uuid[]\n _changesets?: Record\n }>\n}\n```\n\n### `NullableEntity`\n\n```ts\ntype NullableEntity = {\n _id?: object\n _org?: string\n _owners?: Array<{\n org_id: string\n user_id?: string\n }>\n _schema?: string\n _title?: string\n _tags?: string[]\n _created_at?: string // date-time\n _updated_at?: string // date-time\n _deleted_at?: string // date-time\n _acl?: {\n view?: string[]\n edit?: string[]\n delete?: string[]\n }\n _purpose?: string[]\n _purpose_name?: string[]\n _manifest?: string // uuid[]\n _changesets?: Record\n }>\n}\n```\n\n### `EntityOwner`\n\nThe user / organization owning this entity.\n\nNote: Owner implicitly has access to the entity regardless of ACLs.\n\n\n```ts\ntype EntityOwner = {\n org_id: string\n user_id?: string\n}\n```\n\n### `EntityAcl`\n\nAccess control list (ACL) for an entity. Defines sharing access to external orgs or users.\n\n```ts\ntype EntityAcl = {\n view?: string[]\n edit?: string[]\n delete?: string[]\n}\n```\n\n### `HydratedEntity`\n\nEntity with relation data resolved into the attribute values\n\n```ts\ntype HydratedEntity = {\n _relations: Array<{\n entity_id: string // uuid\n }>\n}\n```\n\n### `EntityItem`\n\n```ts\ntype EntityItem = {\n _id?: object\n _org?: string\n _owners?: Array<{\n org_id: string\n user_id?: string\n }>\n _schema?: string\n _title?: string\n _tags?: string[]\n _created_at?: string // date-time\n _updated_at?: string // date-time\n _deleted_at?: string // date-time\n _acl?: {\n view?: string[]\n edit?: string[]\n delete?: string[]\n }\n _purpose?: string[]\n _purpose_name?: string[]\n _manifest?: string // uuid[]\n _changesets?: Record\n }>\n}\n```\n\n### `EntityValidationError`\n\nValidation error for an entity attribute\n\n```ts\ntype EntityValidationError = {\n code: string\n params: {\n type?: string\n }\n path: string[]\n message: string\n}\n```\n\n### `EntityValidationResultSuccess`\n\nValidation result for a successful validation\n\n```ts\ntype EntityValidationResultSuccess = {\n status: \"success\"\n errors: Array<{\n code: string\n params: {\n type?: { ... }\n }\n path: string[]\n message: string\n }>\n}\n```\n\n### `EntityValidationResultError`\n\nValidation result for a failed validation\n\n```ts\ntype EntityValidationResultError = {\n status: \"error\"\n errors: Array<{\n code: string\n params: {\n type?: { ... }\n }\n path: string[]\n message: string\n }>\n}\n```\n\n### `EntityValidationResult`\n\n```ts\ntype EntityValidationResult = {\n status: \"success\"\n errors: Array<{\n code: string\n params: {\n type?: { ... }\n }\n path: string[]\n message: string\n }>\n} | {\n status: \"error\"\n errors: Array<{\n code: string\n params: {\n type?: { ... }\n }\n path: string[]\n message: string\n }>\n}\n```\n\n### `EntityValidationV2Error`\n\n```ts\ntype EntityValidationV2Error = {\n keyword: string\n instance_path: string\n schema_path: string\n params: Record\n property_name?: string\n message?: string\n schema?: object\n parent_schema?: Record\n data?: Record\n}\n```\n\n### `EntityValidationV2ResultSuccess`\n\nValidation result for a successful validation\n\n```ts\ntype EntityValidationV2ResultSuccess = {\n status: \"success\"\n errors: Array<{\n keyword: string\n instance_path: string\n schema_path: string\n params: Record\n property_name?: string\n message?: string\n schema?: object\n parent_schema?: Record\n data?: Record\n }>\n}\n```\n\n### `EntityValidationV2ResultError`\n\nValidation result for a failed validation\n\n```ts\ntype EntityValidationV2ResultError = {\n status: \"error\"\n errors: Array<{\n keyword: string\n instance_path: string\n schema_path: string\n params: Record\n property_name?: string\n message?: string\n schema?: object\n parent_schema?: Record\n data?: Record\n }>\n}\n```\n\n### `EntityValidationV2Result`\n\n```ts\ntype EntityValidationV2Result = {\n status: \"success\"\n errors: Array<{\n keyword: string\n instance_path: string\n schema_path: string\n params: Record\n property_name?: string\n message?: string\n schema?: object\n parent_schema?: Record\n data?: Record\n }>\n} | {\n status: \"error\"\n errors: Array<{\n keyword: string\n instance_path: string\n schema_path: string\n params: Record\n property_name?: string\n message?: string\n schema?: object\n parent_schema?: Record\n data?: Record\n }>\n}\n```\n\n### `HydratedEntityItem`\n\n```ts\ntype HydratedEntityItem = {\n _relations: Array<{\n entity_id: string // uuid\n }>\n}\n```\n\n### `GetRelationsResp`\n\n```ts\ntype GetRelationsResp = Array<{\n entity_id: string // uuid\n org_id?: string\n _schema?: string\n attribute: string\n _tags?: string[]\n reverse?: boolean\n} | {\n $relation?: {\n entity_id: string // uuid\n org_id?: string\n _schema?: string\n attribute: string\n _tags?: string[]\n reverse?: boolean\n }\n}>\n```\n\n### `GetRelationsRespWithPagination`\n\n```ts\ntype GetRelationsRespWithPagination = {\n hits?: number\n relations?: Array<{\n entity_id: string // uuid\n org_id?: string\n _schema?: string\n attribute: string\n _tags?: string[]\n reverse?: boolean\n } | {\n $relation?: {\n entity_id: { ... }\n org_id?: { ... }\n _schema?: { ... }\n attribute: { ... }\n _tags?: { ... }\n reverse?: { ... }\n }\n }>\n}\n```\n\n### `GetRelatedEntitiesCount`\n\n```ts\ntype GetRelatedEntitiesCount = {\n hits?: number\n}\n```\n\n### `RelationEntity`\n\n```ts\ntype RelationEntity = {\n $relation?: {\n entity_id: string // uuid\n org_id?: string\n _schema?: string\n attribute: string\n _tags?: string[]\n reverse?: boolean\n }\n}\n```\n\n### `RelationItem`\n\n```ts\ntype RelationItem = {\n entity_id: string // uuid\n org_id?: string\n _schema?: string\n attribute: string\n _tags?: string[]\n reverse?: boolean\n}\n```\n\n### `EntitySearchIncludeDeletedParam`\n\nWhether to include deleted entities in the search results\n- `true`: include deleted entities\n- `false`: exclude deleted entities\n- `only`: include only deleted entities\n\nBy default, no deleted entities are included in the search results.\n\n\n```ts\ntype EntitySearchIncludeDeletedParam = \"true\" | \"false\" | \"only\"\n```\n\n### `EntitySearchParams`\n\n```ts\ntype EntitySearchParams = {\n q: string\n include_scores?: boolean\n sort?: string | string[]\n from?: number\n size?: number\n hydrate?: boolean\n anonymize?: boolean\n fields?: string[]\n aggs?: object\n include_deleted?: \"true\" | \"false\" | \"only\"\n highlight?: unknown\n stable_for?: number\n stable_query_id?: string\n search_after?: string | number[]\n}\n```\n\n### `EntityListParams`\n\n```ts\ntype EntityListParams = {\n query?: {\n query_string: {\n query: { ... }\n fields?: { ... }\n default_operator?: { ... }\n lenient?: { ... }\n }\n }\n filter: Array<{\n term?: Record\n terms?: Record\n ids?: {\n values?: { ... }\n }\n range?: Record\n exists?: {\n field: { ... }\n }\n $and?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n $or?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n $not?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n }>\n allow_targeting_all_schemas?: boolean\n sort?: string | string[]\n from?: number\n size?: number\n hydrate?: boolean\n anonymize?: boolean\n fields?: string[]\n aggs?: object\n include_deleted?: \"true\" | \"false\" | \"only\"\n include_scores?: boolean\n highlight?: unknown\n stable_for?: number\n stable_query_id?: string\n search_after?: string | number[]\n}\n```\n\n### `SearchFilter`\n\nA subset of simplified Elasticsearch query clauses. The default operator is a logical AND. Use nested $and, $or, $not to combine filters using different logical operators.\n\n```ts\ntype SearchFilter = Array<{\n term?: Record\n terms?: Record\n ids?: {\n values?: string[]\n }\n range?: Record\n exists?: {\n field: string\n }\n $and?: Array<{\n term?: Record\n terms?: Record\n ids?: {\n values?: { ... }\n }\n range?: Record\n exists?: {\n field: { ... }\n }\n $and?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n $or?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n $not?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n }>\n $or?: Array<{\n term?: Record\n terms?: Record\n ids?: {\n values?: { ... }\n }\n range?: Record\n exists?: {\n field: { ... }\n }\n $and?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n exists?: { ... }\n $and?: { ... }\n $or?: { ... }\n $not?: { ... }\n }>\n $or?: Array<{\n term?: { ... }\n terms?: { ... }\n ids?: { ... }\n range?: { ... }\n // ...\n}\n```\n\n### `SearchFilterValue`\n\nA filter field value.\n\n```ts\ntype SearchFilterValue = string | number | boolean\n```\n\n### `EntitySearchOptions`\n\n```ts\ntype EntitySearchOptions = {\n sort?: string | string[]\n from?: number\n size?: number\n hydrate?: boolean\n anonymize?: boolean\n fields?: string[]\n aggs?: object\n include_deleted?: \"true\" | \"false\" | \"only\"\n include_scores?: boolean\n stable_for?: number\n stable_query_id?: string\n search_after?: string | number[]\n}\n```\n\n### `FieldsParam`\n\nList of entity fields to include or exclude in the response\n\nUse ! to exclude fields, e.g. `!_id` to exclude the `_id` field.\n\nGlobbing and globstart (**) is supported for nested fields.\n\n\n```ts\ntype FieldsParam = string[]\n```\n\n### `EntityImportParams`\n\nThe parameters for importing entities.\n\n```ts\ntype EntityImportParams = {\n S3Reference: {\n bucket: string\n key: string\n }\n schema: string\n}\n```\n\n### `GraphQueryRequest`\n\n```ts\ntype GraphQueryRequest = {\n seed: {\n entity_id: string // uuid\n node_id: string\n }\n graph: {\n nodes: Array<{\n id: { ... }\n schema: { ... }\n cardinality?: { ... }\n fields?: { ... }\n }>\n edges: Array<{\n from: { ... }\n to: { ... }\n }>\n }\n hydrate?: boolean\n apply_changesets?: boolean\n}\n```\n\n### `GraphSeed`\n\n```ts\ntype GraphSeed = {\n entity_id: string // uuid\n node_id: string\n}\n```\n\n### `GraphDefinition`\n\n```ts\ntype GraphDefinition = {\n nodes: Array<{\n id: string\n schema: string\n cardinality?: \"one\" | \"many\"\n fields?: object\n }>\n edges: Array<{\n from: string\n to: string\n }>\n}\n```\n\n### `GraphNode`\n\n```ts\ntype GraphNode = {\n id: string\n schema: string\n cardinality?: \"one\" | \"many\"\n fields?: object\n}\n```\n\n### `GraphEdge`\n\n```ts\ntype GraphEdge = {\n from: string\n to: string\n}\n```\n\n### `GraphQueryResponse`\n\n```ts\ntype GraphQueryResponse = {\n nodes?: Record\n entityNodes?: Record\n _schema?: string\n _title?: string\n _tags?: string[]\n _created_at?: string // date-time\n _updated_at?: string // date-time\n _deleted_at?: string // date-time\n _acl?: {\n view?: { ... }\n edit?: { ... }\n delete?: { ... }\n }\n _purpose?: string[]\n _purpose_name?: string[]\n _manifest?: string // uuid[]\n _changesets?: Record\n } | Array<{\n _id?: object\n _org?: string\n _owners?: Array<{\n org_id: { ... }\n user_id?: { ... }\n }>\n _schema?: string\n _title?: string\n _tags?: string[]\n _created_at?: string // date-time\n _updated_at?: string // date-time\n _deleted_at?: string // date-time\n _acl?: {\n view?: { ... }\n edit?: { ... }\n delete?: { ... }\n }\n _purpose?: string[]\n _purpose_name?: string[]\n _manifest?: string // uuid[]\n _changesets?: Record\n }>>\n edges: Array<{\n from: string\n to: string\n }>\n}\n```\n\n### `EntitySearchResults`\n\n```ts\ntype EntitySearchResults = {\n hits?: number\n results?: Array<{\n _id?: object\n _org?: string\n _owners?: Array<{\n org_id: { ... }\n user_id?: { ... }\n }>\n _schema?: string\n _title?: string\n _tags?: string[]\n _created_at?: string // date-time\n _updated_at?: string // date-time\n _deleted_at?: string // date-time\n _acl?: {\n view?: { ... }\n edit?: { ... }\n delete?: { ... }\n }\n _purpose?: string[]\n _purpose_name?: string[]\n _manifest?: string // uuid[]\n _changesets?: Record\n }>\n aggregations?: object\n stable_query_id?: string\n sort_end?: string | number[]\n}\n```\n\n### `SearchMappings`\n\nAdvanced: explicit Elasticsearch index mapping definitions for entity data\n\n\n```ts\ntype SearchMappings = Record\n```\n\n### `ActivityId`\n\nSee https://github.com/ulid/spec\n\n```ts\ntype ActivityId = string // ulid\n```\n\n### `ActivityCallerContext`\n\n```ts\ntype ActivityCallerContext = {\n EpilotAuth?: {\n token?: {\n sub?: { ... }\n email?: { ... }\n cognito:username?: { ... }\n custom:ivy_user_id?: { ... }\n }\n }\n}\n```\n\n### `ActivityType`\n\nA type for the activity. Used to categorize activities in the activity feed and for event subscriptions.\n\nBuilt-in entity activity types (custom activities can be defined as well):\n- EntityCreated\n- EntityUpdated\n- EntityDeleted\n- EntitySoftDeleted\n- EntityRestored\n- RelationsAdded\n- RelationsRemove\n\n```ts\ntype ActivityType = string\n```\n\n### `Activity`\n\n```ts\ntype Activity = {\n type: string\n title: string\n message: string\n payload?: Record\n pending?: boolean\n}\n```\n\n### `EntityOperation`\n\n```ts\ntype EntityOperation = {\n entity: string // uuid\n org: string\n activity_id?: string // ulid\n activity_type?: string\n operation: \"createEntity\" | \"updateEntity\" | \"deleteEntity\" | \"softDeleteEntity\" | \"restoreEntity\" | \"relationsAdded\" | \"relationsRemoved\" | \"relationsSoftDeleted\" | \"relationsRestored\" | \"relationsDeleted\"\n params?: {\n id?: string // uuid\n slug?: string\n }\n payload?: {\n _id?: object\n _org?: string\n _owners?: Array<{\n org_id: { ... }\n user_id?: { ... }\n }>\n _schema?: string\n _title?: string\n _tags?: string[]\n _created_at?: string // date-time\n _updated_at?: string // date-time\n _deleted_at?: string // date-time\n _acl?: {\n view?: { ... }\n edit?: { ... }\n delete?: { ... }\n }\n _purpose?: string[]\n _purpose_name?: string[]\n _manifest?: string // uuid[]\n _changesets?: Record\n }\n diff?: {\n added?: {\n _id?: { ... }\n _org?: { ... }\n _owners?: { ... }\n _schema?: { ... }\n _title?: { ... }\n _tags?: { ... }\n _created_at?: { ... }\n _updated_at?: { ... }\n _deleted_at?: { ... }\n _acl?: { ... }\n _purpose?: { ... }\n _purpose_name?: { ... }\n _manifest?: { ... }\n _changesets?: { ... }\n }\n updated?: {\n _id?: { ... }\n _org?: { ... }\n _owners?: { ... }\n _schema?: { ... }\n _title?: { ... }\n _tags?: { ... }\n _created_at?: { ... }\n _updated_at?: { ... }\n _deleted_at?: { ... }\n _acl?: { ... }\n _purpose?: { ... }\n _purpose_name?: { ... }\n _manifest?: { ... }\n _changesets?: { ... }\n }\n deleted?: {\n _id?: { ... }\n _org?: { ... }\n _owners?: { ... }\n _schema?: { ... }\n _title?: { ... }\n _tags?: { ... }\n _created_at?: { ... }\n _updated_at?: { ... }\n _deleted_at?: { ... }\n _acl?: { ... }\n _purpose?: { ... }\n _purpose_name?: { ... }\n _manifest?: { ... }\n _changesets?: { ... }\n }\n }\n source_context?: {\n source: \"portal\" | \"epilot\" | \"erp\" | \"system\" | \"api\" | \"external\" | \"journey\" | \"automation\" | \"unknown\"\n source_label?: string\n source_system?: string\n source_reference?: string\n actor_type?: \"user\" | \"portal_user\" | \"api_client\" | \"automation\" | \"system\"\n actor_id?: string\n effective_at?: string // date-time\n // ...\n}\n```\n\n### `EntityOperationSourceContext`\n\nBilling and audit source context for the operation event.\n\n```ts\ntype EntityOperationSourceContext = {\n source: \"portal\" | \"epilot\" | \"erp\" | \"system\" | \"api\" | \"external\" | \"journey\" | \"automation\" | \"unknown\"\n source_label?: string\n source_system?: string\n source_reference?: string\n actor_type?: \"user\" | \"portal_user\" | \"api_client\" | \"automation\" | \"system\"\n actor_id?: string\n effective_at?: string // date-time\n}\n```\n\n### `BaseActivityItem`\n\n```ts\ntype BaseActivityItem = {\n _id?: string // ulid\n timestamp?: string // date-time\n type: string\n title: string\n message: string\n payload?: Record\n pending?: boolean\n caller?: {\n EpilotAuth?: {\n token?: { ... }\n }\n }\n}\n```\n\n### `ActivityItem`\n\n```ts\ntype ActivityItem = {\n operations_total?: number\n operations?: Array<{\n entity: string // uuid\n org: string\n activity_id?: string // ulid\n activity_type?: string\n operation: \"createEntity\" | \"updateEntity\" | \"deleteEntity\" | \"softDeleteEntity\" | \"restoreEntity\" | \"relationsAdded\" | \"relationsRemoved\" | \"relationsSoftDeleted\" | \"relationsRestored\" | \"relationsDeleted\"\n params?: {\n id?: { ... }\n slug?: { ... }\n }\n payload?: {\n _id?: { ... }\n _org?: { ... }\n _owners?: { ... }\n _schema?: { ... }\n _title?: { ... }\n _tags?: { ... }\n _created_at?: { ... }\n _updated_at?: { ... }\n _deleted_at?: { ... }\n _acl?: { ... }\n _purpose?: { ... }\n _purpose_name?: { ... }\n _manifest?: { ... }\n _changesets?: { ... }\n }\n diff?: {\n added?: { ... }\n updated?: { ... }\n deleted?: { ... }\n }\n source_context?: {\n source: { ... }\n source_label?: { ... }\n source_system?: { ... }\n source_reference?: { ... }\n actor_type?: { ... }\n actor_id?: { ... }\n effective_at?: { ... }\n }\n _workflow_origin?: {\n workflow_exec_id?: { ... }\n flow_template_id?: { ... }\n }\n _automation_chain?: string[]\n }>\n}\n```\n\n### `BlueprintEntityId`\n\nReference to blueprint\n\n```ts\ntype BlueprintEntityId = string // uuid\n```\n\n### `ListSavedViewsResults`\n\n```ts\ntype ListSavedViewsResults = {\n hits?: number\n results?: Array<{\n id?: string // uuid\n created_at?: string\n updated_at?: string\n }>\n}\n```\n\n### `SavedViewId`\n\nGenerated uuid for a saved view\n\n```ts\ntype SavedViewId = string // uuid\n```\n\n### `SavedViewItem`\n\n```ts\ntype SavedViewItem = {\n id?: string // uuid\n created_at?: string\n updated_at?: string\n}\n```\n\n### `SavedViewPartial`\n\nA saved entity view\n\n```ts\ntype SavedViewPartial = {\n slug?: string[]\n name?: string\n org?: string\n shared?: boolean\n isFavoritedBy?: string[]\n created_by?: {\n user_id?: string\n org_id?: string\n } | {\n source?: \"SYSTEM\" | \"BLUEPRINT\"\n }\n ui_config?: Record\n shared_with?: string[]\n}\n```\n\n### `SavedView`\n\nA saved entity view\n\n```ts\ntype SavedView = {\n slug: string[]\n name: string\n org?: string\n shared?: boolean\n isFavoritedBy?: string[]\n created_by?: {\n user_id?: string\n org_id?: string\n } | {\n source?: \"SYSTEM\" | \"BLUEPRINT\"\n }\n ui_config: Record\n shared_with?: string[]\n}\n```\n\n### `Taxonomy`\n\n```ts\ntype Taxonomy = {\n slug?: string\n name?: string\n plural?: string\n kind?: \"system\" | \"user_defined\"\n type?: \"entity\" | \"relation\" | \"system\" | \"file_collection\"\n icon?: string\n color?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n deleted_at?: string // date-time\n created_by?: string\n enabled?: boolean\n order?: number\n enabled_locations?: \"account\" | \"contact\" | \"contract\" | \"email_template\" | \"file\" | \"journey\" | \"meter_counter\" | \"meter\" | \"opportunity\" | \"order\" | \"partner\" | \"price\" | \"product\" | \"submission\" | \"tax\" | \"message\" | \"portal_user\" | \"request\" | \"comment\" | \"user\" | string[]\n}\n```\n\n### `TaxonomyLocationId`\n\n```ts\ntype TaxonomyLocationId = \"account\" | \"contact\" | \"contract\" | \"email_template\" | \"file\" | \"journey\" | \"meter_counter\" | \"meter\" | \"opportunity\" | \"order\" | \"partner\" | \"price\" | \"product\" | \"submission\" | \"tax\" | \"message\" | \"portal_user\" | \"request\" | \"comment\" | \"user\"\n```\n\n### `TaxonomySearchIncludeArchivedParam`\n\nWhether to include archived labels in the search results\n- `true`: include archived labels\n- `false`: exclude archived labels\n- `only`: include only archived labels\n\nBy default, no archived labels are included in the search results.\n\n\n```ts\ntype TaxonomySearchIncludeArchivedParam = \"true\" | \"false\" | \"only\"\n```\n\n### `TaxonomyClassification`\n\n```ts\ntype TaxonomyClassification = {\n id?: string\n slug: string\n name: string\n parents?: string[]\n color?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n archived?: boolean\n starred?: boolean\n enabled_locations?: \"account\" | \"contact\" | \"contract\" | \"email_template\" | \"file\" | \"journey\" | \"meter_counter\" | \"meter\" | \"opportunity\" | \"order\" | \"partner\" | \"price\" | \"product\" | \"submission\" | \"tax\" | \"message\" | \"portal_user\" | \"request\" | \"comment\" | \"user\" | string[]\n enabled_purposes?: string[]\n _manifest?: string // uuid[]\n}\n```\n\n### `ClassificationId`\n\n```ts\ntype ClassificationId = string\n```\n\n### `ClassificationIdOrPattern`\n\n```ts\ntype ClassificationIdOrPattern = string | {\n pattern: string\n}\n```\n\n### `ClassificationSlug`\n\nURL-friendly identifier for the classification\n\n```ts\ntype ClassificationSlug = string\n```\n\n### `TaxonomySlug`\n\nURL-friendly name for taxonomy\n\n```ts\ntype TaxonomySlug = string\n```\n\n### `ClassificationsUpdate`\n\n```ts\ntype ClassificationsUpdate = {\n create?: Array<{\n id?: string\n slug: string\n name: string\n parents?: string[]\n color?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n archived?: boolean\n starred?: boolean\n enabled_locations?: \"account\" | \"contact\" | \"contract\" | \"email_template\" | \"file\" | \"journey\" | \"meter_counter\" | \"meter\" | \"opportunity\" | \"order\" | \"partner\" | \"price\" | \"product\" | \"submission\" | \"tax\" | \"message\" | \"portal_user\" | \"request\" | \"comment\" | \"user\" | string[]\n enabled_purposes?: string[]\n _manifest?: string // uuid[]\n }>\n update?: Array<{\n id?: string\n slug: string\n name: string\n parents?: string[]\n color?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n archived?: boolean\n starred?: boolean\n enabled_locations?: \"account\" | \"contact\" | \"contract\" | \"email_template\" | \"file\" | \"journey\" | \"meter_counter\" | \"meter\" | \"opportunity\" | \"order\" | \"partner\" | \"price\" | \"product\" | \"submission\" | \"tax\" | \"message\" | \"portal_user\" | \"request\" | \"comment\" | \"user\" | string[]\n enabled_purposes?: string[]\n _manifest?: string // uuid[]\n }>\n delete?: string | string[]\n}\n```\n\n### `TaxonomyBulkJobTriggerResponse`\n\n```ts\ntype TaxonomyBulkJobTriggerResponse = {\n job_id?: string // uuid\n status?: \"PENDING\" | \"FAILED\" | \"COMPLETED\" | \"CANCELLED\"\n}\n```\n\n### `TaxonomyBulkJobStatus`\n\nThe status of the bulk job\n\n```ts\ntype TaxonomyBulkJobStatus = \"PENDING\" | \"FAILED\" | \"COMPLETED\" | \"CANCELLED\"\n```\n\n### `TaxonomyBulkJobActionType`\n\n```ts\ntype TaxonomyBulkJobActionType = \"MOVE_CLASSIFICATIONS\" | \"MERGE_CLASSIFICATIONS\" | \"DELETE_CLASSIFICATIONS\"\n```\n\n### `TaxonomyBulkJob`\n\n```ts\ntype TaxonomyBulkJob = {\n job_id?: string // uuid\n job_status?: \"PENDING\" | \"FAILED\" | \"COMPLETED\" | \"CANCELLED\"\n failure_reason?: string\n action_type?: \"MOVE_CLASSIFICATIONS\" | \"MERGE_CLASSIFICATIONS\" | \"DELETE_CLASSIFICATIONS\"\n request?: {\n target_taxonomy?: string\n target_classification?: string\n classification_ids?: string[]\n }\n output?: {\n target_entities_count?: number\n affected_entities_count?: number\n failures_count?: number\n failed_entities?: string // uuid[]\n }\n created_by?: string\n created_at?: string // date-time\n updated_at?: string // date-time\n org?: string\n}\n```\n\n### `ESClusterAssignment`\n\n```ts\ntype ESClusterAssignment = {\n orgId?: string\n cluster?: string\n}\n```\n\n### `SettingFlag`\n\n```ts\ntype SettingFlag = {\n name?: string\n enabled?: boolean\n}\n```\n\n### `ErrorObject`\n\nA generic error returned by the API\n\n```ts\ntype ErrorObject = {\n status?: number\n error?: string\n}\n```\n\n### `ChangesetCreator`\n\nIdentifies the actor that created the changeset.\n\n```ts\ntype ChangesetCreator = {\n type?: \"user\" | \"portal_user\" | \"api_client\" | \"automation\"\n id?: string\n}\n```\n\n### `Changeset`\n\nA pending proposed change for a single entity attribute, awaiting external confirmation or human approval.\n\n```ts\ntype Changeset = {\n proposed_value: unknown\n previous_value?: unknown\n created_at: string // date-time\n created_by?: {\n type?: \"user\" | \"portal_user\" | \"api_client\" | \"automation\"\n id?: string\n }\n edit_mode: \"external\" | \"approval\"\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n source?: string\n related_values?: Record\n}\n```\n\n### `ChangesetMap`\n\nMap of attribute name to pending changeset. At most one changeset per attribute.\n\n```ts\ntype ChangesetMap = Record\n}>\n```\n\n### `MeterReadingChangesetEntry`\n\nA meter readings changeset entry — service-managed by metering-api.\nStored on `Meter._meter_readings_changeset` array attribute. Each entry mirrors a\nClickHouse meter reading row plus a changeset metadata overlay.\n\nNote: `org_id` is NOT stored on the entry. The entries live on the Meter entity,\nwhic\n\n```ts\ntype MeterReadingChangesetEntry = {\n value: number\n direction?: \"feed-in\" | \"feed-out\"\n timestamp?: string // date-time\n meter_id: string // uuid\n counter_id: string // uuid\n source?: string\n reason?: string\n read_by?: string\n status?: \"valid\" | \"in-validation\" | \"implausible\"\n external_id?: string\n remark?: string\n metadata?: Record\n changeset_id: string\n edit_mode: \"external\" | \"approval\"\n match_strategy?: \"exact\" | \"fuzzy\"\n timestamp_tolerance?: \"exact\" | {\n type: \"same-day\"\n timezone?: string\n } | {\n type: \"within-seconds\"\n seconds: number\n }\n fuzzy_config?: {\n percentage_threshold?: number\n absolute_threshold?: number\n }\n created_at: string // date-time\n created_by?: {\n type?: \"user\" | \"portal_user\" | \"api_client\" | \"automation\"\n id?: string\n }\n previous?: {\n value?: number\n direction?: \"feed-in\" | \"feed-out\"\n timestamp?: string // date-time\n }\n}\n```\n\n### `EditMode`\n\nControls whether a write goes through immediately or is held as a pending entry\non the parent entity's `_changesets` map.\n\n- `direct`: write applied immediately. No changeset created.\n- `external`: write held as a pending changeset; auto-cleared on a matching direct/ERP write.\n- `approval`: write he\n\n```ts\ntype EditMode = \"direct\" | \"external\" | \"approval\"\n```\n\n### `EditModeConfig`\n\nConfiguration for `edit_mode: external` auto-clear matching.\nFields here (`match_strategy`, `fuzzy_config`) only take effect when\n`edit_mode` is `external`. They are ignored for `edit_mode: approval`,\nwhich never auto-clears and is resolved exclusively via the\n`:apply` / `:dismiss` changeset endpoin\n\n```ts\ntype EditModeConfig = {\n match_strategy?: \"exact\" | \"fuzzy\" | \"any\"\n fuzzy_config?: {\n type: \"suffix\" | \"digits_only\" | \"normalize_phone\" | \"ignore_fields\" | \"set_equivalent\" | \"entry_match\" | \"relation_set\" | \"regex\"\n suffix_length?: number\n fields_to_ignore?: string[]\n regex_flags?: string\n country_code?: string\n match_on?: string\n key?: string | string[]\n mode?: \"subset\" | \"exact_set\"\n ordered?: boolean\n require_tags_match?: boolean\n pattern?: string\n }\n}\n```\n\n### `FuzzyConfig`\n\nConfiguration for fuzzy auto-clear matching on `edit_mode: external` attributes.\nNot used for `edit_mode: approval`.\n\nType compatibility with attribute shape is enforced at schema save time:\n- scalar string attributes: `suffix`, `digits_only`, `regex`\n- repeatable attributes: `set_equivalent`, `entr\n\n```ts\ntype FuzzyConfig = {\n type: \"suffix\" | \"digits_only\" | \"normalize_phone\" | \"ignore_fields\" | \"set_equivalent\" | \"entry_match\" | \"relation_set\" | \"regex\"\n suffix_length?: number\n fields_to_ignore?: string[]\n regex_flags?: string\n country_code?: string\n match_on?: string\n key?: string | string[]\n mode?: \"subset\" | \"exact_set\"\n ordered?: boolean\n require_tags_match?: boolean\n pattern?: string\n}\n```\n\n### `MatchStrategy`\n\nStrategy for auto-clearing a changeset on an `edit_mode: external` attribute\nwhen a direct write (`?direct=true`) arrives — typically an ERP inbound sync.\nIgnored for `edit_mode: approval`, which does not auto-clear and is resolved\nexclusively via the `:apply` / `:dismiss` changeset endpoints.\n- `ex\n\n```ts\ntype MatchStrategy = \"exact\" | \"fuzzy\" | \"any\"\n```\n" diff --git a/packages/epilot-sdk-v2/src/types/entity.d.ts b/packages/epilot-sdk-v2/src/types/entity.d.ts index a830542f..64527fc4 100644 --- a/packages/epilot-sdk-v2/src/types/entity.d.ts +++ b/packages/epilot-sdk-v2/src/types/entity.d.ts @@ -21,6 +21,7 @@ export declare namespace Components { * 01F130Q52Q6MWSNS8N2AVXV4JN */ Schemas.ActivityId /* ulid ^01[0-9a-zA-Z]{24}$ */ | ("" | null); + export type AnonymizeQueryParam = boolean; export type ApplyChangesetsQueryParam = boolean; export type AsyncOperationQueryParam = boolean; export type DirectQueryParam = boolean; @@ -78,6 +79,7 @@ export declare namespace Components { ActivityIdPathParam?: Parameters.ActivityIdPathParam; } export interface QueryParameters { + AnonymizeQueryParam?: Parameters.AnonymizeQueryParam; TaxonomySlugQueryParam?: Parameters.TaxonomySlugQueryParam; TaxonomySlugQueryParamOptional?: Parameters.TaxonomySlugQueryParamOptional; AsyncOperationQueryParam?: Parameters.AsyncOperationQueryParam; @@ -391,6 +393,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -424,6 +433,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -609,6 +628,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -642,6 +668,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -844,6 +880,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -877,6 +920,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -1094,6 +1147,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -1127,6 +1187,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -1257,6 +1327,31 @@ export declare namespace Components { FuzzyConfig; }; } + export interface BaseConditionDefinition { + /** + * Stable identity of the condition, generated by the client when the condition is + * created. It is what makes a rename distinguishable from a remove + add, so it must + * be round-tripped unchanged for the lifetime of the condition. + * + * example: + * d5839b94-ba20-4225-a78e-76951d352bd6 + */ + id: string; // uuid + /** + * The key variant values are stored under. Unique within the schema and immutable + * once the condition has been saved. + * + * example: + * delivery_area + */ + name: string; // ^[a-z0-9_]+$ + /** + * Display label. Always editable. + * example: + * Delivery Area + */ + label: string; + } /** * example: * { @@ -1384,6 +1479,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -1417,6 +1519,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -1679,6 +1791,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -1712,6 +1831,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -1862,6 +1991,19 @@ export declare namespace Components { */ currency_field?: string; } + /** + * One dimension that conditional variants of an entity type are keyed by. `type` + * discriminates the variants: only a `select` condition carries `values`, and only a + * `location` condition carries `format`. + * + */ + export type ConditionDefinition = /** + * One dimension that conditional variants of an entity type are keyed by. `type` + * discriminates the variants: only a `select` condition carries `values`, and only a + * `location` condition carries `format`. + * + */ + /* A condition whose value is a plain scalar, with no further configuration. */ ScalarConditionDefinition | /* A condition whose value is one of a fixed set of options. */ SelectConditionDefinition | /* A condition whose value identifies a place. */ LocationConditionDefinition; /** * Consent Management */ @@ -1890,6 +2032,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -1923,6 +2072,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -2084,6 +2243,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -2117,6 +2283,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -2276,6 +2452,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -2309,6 +2492,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -2478,6 +2671,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -2511,6 +2711,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -2751,6 +2961,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -2784,6 +3001,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -3594,6 +3821,13 @@ export declare namespace Components { * When true, enables entity hydration to resolve nested $relation & $relation_ref references in-place. */ hydrate?: boolean; + /** + * When true, anonymizes PII in the response: identifiers are replaced with deterministic pseudonyms, + * addresses are generalized and well-known free-text fields are redacted. + * Anonymization is forced (regardless of this parameter) when the access token was created with `anonymize: true`. + * + */ + anonymize?: boolean; fields?: /** * List of entity fields to include or exclude in the response * @@ -4103,6 +4337,7 @@ export declare namespace Components { } | null; }; }; + source_context?: /* Billing and audit source context for the operation event. */ EntityOperationSourceContext; /** * Internal property for workflow origin tracking and infinite loop prevention. * Populated when an entity update originates from a workflow execution. @@ -4119,6 +4354,34 @@ export declare namespace Components { */ flow_template_id?: string; }; + /** + * Ordered automation flow ids that caused this change; used to break multi-automation trigger loops. + */ + _automation_chain?: string[]; + } + /** + * Billing and audit source context for the operation event. + */ + export interface EntityOperationSourceContext { + /** + * Normalized source bucket for the operation. + */ + source: "portal" | "epilot" | "erp" | "system" | "api" | "external" | "journey" | "automation" | "unknown"; + /** + * Original free-form source label from the caller or changeset, when available. + */ + source_label?: string; + /** + * Optional upstream system label, for example an ERP system name. + */ + source_system?: string; + /** + * Optional upstream change reference. + */ + source_reference?: string; + actor_type?: "user" | "portal_user" | "api_client" | "automation" | "system"; + actor_id?: string; + effective_at?: string; // date-time } /** * The user / organization owning this entity. @@ -4272,6 +4535,27 @@ export declare namespace Components { */ show_sharing_button?: boolean; }; + /** + * Widget-grid layout for the entity-details page (builder-authored); columns/cells drive the grid geometry. + */ + grid_layout?: { + /** + * Identifier of the chosen grid-layout preset. + */ + id?: string; + /** + * Number of columns in the widget grid. + */ + columns?: number; + /** + * Per-cell column span, positionally paired with the widgets in order. + */ + cells?: number[]; + }; + /** + * Ordered list of widget ids controlling the entity-details widget-grid order. Each id is a capability widget's `component` (or `summary` for the synthesized summary card); widgets absent from the list keep their natural order at the end. + */ + widget_order?: string[]; }; capabilities: /* Capabilities the Entity has. Turn features on/off for entities. */ EntityCapability[]; /** @@ -4383,6 +4667,20 @@ export declare namespace Components { */ SearchMappings; group_headlines?: GroupHeadline[]; + /** + * Dimensions that conditional variants of this entity type are keyed by. + * + * Absent or `null` means entities of this type are not conditional. Attributes whose + * values a variant may override are marked with `variant_overridable`. + * + */ + conditions?: /** + * One dimension that conditional variants of an entity type are keyed by. `type` + * discriminates the variants: only a `select` condition carries `values`, and only a + * `location` condition carries `format`. + * + */ + ConditionDefinition[] | null; } export interface EntitySchemaGroup { /** @@ -4668,6 +4966,27 @@ export declare namespace Components { */ show_sharing_button?: boolean; }; + /** + * Widget-grid layout for the entity-details page (builder-authored); columns/cells drive the grid geometry. + */ + grid_layout?: { + /** + * Identifier of the chosen grid-layout preset. + */ + id?: string; + /** + * Number of columns in the widget grid. + */ + columns?: number; + /** + * Per-cell column span, positionally paired with the widgets in order. + */ + cells?: number[]; + }; + /** + * Ordered list of widget ids controlling the entity-details widget-grid order. Each id is a capability widget's `component` (or `summary` for the synthesized summary card); widgets absent from the list keep their natural order at the end. + */ + widget_order?: string[]; }; capabilities: /* Capabilities the Entity has. Turn features on/off for entities. */ EntityCapability[]; /** @@ -4779,6 +5098,20 @@ export declare namespace Components { */ SearchMappings; group_headlines?: GroupHeadline[]; + /** + * Dimensions that conditional variants of this entity type are keyed by. + * + * Absent or `null` means entities of this type are not conditional. Attributes whose + * values a variant may override are marked with `variant_overridable`. + * + */ + conditions?: /** + * One dimension that conditional variants of an entity type are keyed by. `type` + * discriminates the variants: only a `select` condition carries `values`, and only a + * `location` condition carries `format`. + * + */ + ConditionDefinition[] | null; } /** * Whether to include deleted entities in the search results @@ -4809,6 +5142,13 @@ export declare namespace Components { * When true, enables entity hydration to resolve nested $relation & $relation_ref references in-place. */ hydrate?: boolean; + /** + * When true, anonymizes PII in the response: identifiers are replaced with deterministic pseudonyms, + * addresses are generalized and well-known free-text fields are redacted. + * Anonymization is forced (regardless of this parameter) when the access token was created with `anonymize: true`. + * + */ + anonymize?: boolean; fields?: /** * List of entity fields to include or exclude in the response * @@ -4909,6 +5249,13 @@ export declare namespace Components { * When true, enables entity hydration to resolve nested $relation & $relation_ref references in-place. */ hydrate?: boolean; + /** + * When true, anonymizes PII in the response: identifiers are replaced with deterministic pseudonyms, + * addresses are generalized and well-known free-text fields are redacted. + * Anonymization is forced (regardless of this parameter) when the access token was created with `anonymize: true`. + * + */ + anonymize?: boolean; fields?: /** * List of entity fields to include or exclude in the response * @@ -5309,6 +5656,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -5342,6 +5696,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -6186,6 +6550,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -6219,6 +6590,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -6378,6 +6759,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -6411,6 +6799,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -6570,6 +6968,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -6603,6 +7008,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -6770,6 +7185,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -6803,6 +7225,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -6942,6 +7374,42 @@ export declare namespace Components { hits?: number; results?: /* A saved entity view */ SavedViewItem[]; } + /** + * A condition whose value identifies a place. + */ + export interface LocationConditionDefinition { + /** + * Stable identity of the condition, generated by the client when the condition is + * created. It is what makes a rename distinguishable from a remove + add, so it must + * be round-tripped unchanged for the lifetime of the condition. + * + * example: + * d5839b94-ba20-4225-a78e-76951d352bd6 + */ + id: string; // uuid + /** + * The key variant values are stored under. Unique within the schema and immutable + * once the condition has been saved. + * + * example: + * delivery_area + */ + name: string; // ^[a-z0-9_]+$ + /** + * Display label. Always editable. + * example: + * Delivery Area + */ + label: string; + /** + * Immutable once the condition has been saved. + */ + type: "location"; + /** + * The shape of the location value. Immutable once the condition has been saved. + */ + format?: "zipcode" | "zipcode_town"; + } /** * Strategy for auto-clearing a changeset on an `edit_mode: external` attribute * when a direct write (`?direct=true`) arrives — typically an ERP inbound sync. @@ -6981,6 +7449,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -7014,6 +7489,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -7260,6 +7745,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -7293,6 +7785,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -7563,6 +8065,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -7596,6 +8105,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -7764,6 +8283,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -7797,6 +8323,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -7956,6 +8492,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -7989,6 +8532,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -8148,6 +8701,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -8181,6 +8741,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -8340,6 +8910,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -8373,6 +8950,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -8532,6 +9119,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -8565,6 +9159,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -8724,6 +9328,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -8757,6 +9368,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -8916,6 +9537,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -8949,6 +9577,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -9108,6 +9746,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -9141,6 +9786,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -9300,6 +9955,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -9333,6 +9995,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -9507,6 +10179,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -9540,6 +10219,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -9925,6 +10614,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -9958,6 +10654,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -10129,6 +10835,12 @@ export declare namespace Components { * 10598 */ user_id?: string; + /** + * The organization ID of the user who created the view. Used for partner access control. + * example: + * 739224 + */ + org_id?: string; } | { [name: string]: any; source?: "SYSTEM" | "BLUEPRINT"; @@ -10206,6 +10918,12 @@ export declare namespace Components { * 10598 */ user_id?: string; + /** + * The organization ID of the user who created the view. Used for partner access control. + * example: + * 739224 + */ + org_id?: string; } | { [name: string]: any; source?: "SYSTEM" | "BLUEPRINT"; @@ -10276,6 +10994,12 @@ export declare namespace Components { * 10598 */ user_id?: string; + /** + * The organization ID of the user who created the view. Used for partner access control. + * example: + * 739224 + */ + org_id?: string; } | { [name: string]: any; source?: "SYSTEM" | "BLUEPRINT"; @@ -10305,6 +11029,38 @@ export declare namespace Components { */ shared_with?: string[]; } + /** + * A condition whose value is a plain scalar, with no further configuration. + */ + export interface ScalarConditionDefinition { + /** + * Stable identity of the condition, generated by the client when the condition is + * created. It is what makes a rename distinguishable from a remove + add, so it must + * be round-tripped unchanged for the lifetime of the condition. + * + * example: + * d5839b94-ba20-4225-a78e-76951d352bd6 + */ + id: string; // uuid + /** + * The key variant values are stored under. Unique within the schema and immutable + * once the condition has been saved. + * + * example: + * delivery_area + */ + name: string; // ^[a-z0-9_]+$ + /** + * Display label. Always editable. + * example: + * Delivery Area + */ + label: string; + /** + * Immutable once the condition has been saved. + */ + type: "string" | "number" | "date" | "daterange" | "boolean"; + } /** * Generated uuid for schema */ @@ -10521,6 +11277,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -10554,6 +11317,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -10693,6 +11466,47 @@ export declare namespace Components { */ allow_any?: boolean; } + /** + * A condition whose value is one of a fixed set of options. + */ + export interface SelectConditionDefinition { + /** + * Stable identity of the condition, generated by the client when the condition is + * created. It is what makes a rename distinguishable from a remove + add, so it must + * be round-tripped unchanged for the lifetime of the condition. + * + * example: + * d5839b94-ba20-4225-a78e-76951d352bd6 + */ + id: string; // uuid + /** + * The key variant values are stored under. Unique within the schema and immutable + * once the condition has been saved. + * + * example: + * delivery_area + */ + name: string; // ^[a-z0-9_]+$ + /** + * Display label. Always editable. + * example: + * Delivery Area + */ + label: string; + /** + * Immutable once the condition has been saved. + */ + type: "select"; + /** + * Selectable options. May be empty while the condition is being configured. + * example: + * [ + * "12_months", + * "24_months" + * ] + */ + values?: string[]; + } /** * Sequence of unique identifiers */ @@ -10721,6 +11535,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -10754,6 +11575,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -10930,6 +11761,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -10963,6 +11801,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -11218,6 +12066,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -11251,6 +12106,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -11466,6 +12331,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -11499,6 +12371,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -11815,7 +12697,7 @@ export declare namespace Components { */ _manifest?: string /* uuid */[] | null; } - export type TaxonomyLocationId = "account" | "contact" | "contract" | "email_template" | "file" | "journey" | "meter_counter" | "meter" | "opportunity" | "order" | "partner" | "price" | "product" | "submission" | "tax" | "message" | "portal_user" | "request" | "comment"; + export type TaxonomyLocationId = "account" | "contact" | "contract" | "email_template" | "file" | "journey" | "meter_counter" | "meter" | "opportunity" | "order" | "partner" | "price" | "product" | "submission" | "tax" | "message" | "portal_user" | "request" | "comment" | "user"; /** * Whether to include archived labels in the search results * - `true`: include archived labels @@ -11860,6 +12742,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -11893,6 +12782,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -12065,6 +12964,13 @@ export declare namespace Components { required?: boolean; readonly?: boolean; deprecated?: boolean; + /** + * Allow conditional variants of the entity to override this attribute's value. + * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay + * fixed on the base entity. + * + */ + variant_overridable?: boolean; default_value?: any; /** * Which group the attribute should appear in. Accepts group ID or group name @@ -12098,6 +13004,16 @@ export declare namespace Components { * */ render_condition?: string; + /** + * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`). + * + * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data) + * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers) + * + * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields. + * + */ + data_classification?: "public" | "pii"; _purpose?: /** * example: * taxonomy-slug:classification-slug @@ -12233,6 +13149,45 @@ export declare namespace Components { } } export declare namespace Paths { + namespace AbortEntityImport { + namespace Parameters { + export type JobId = /** + * The unique identifier of the import job. + * example: + * abc123 + */ + Components.Schemas.ExportJobId; + export type Schema = string; + } + export interface QueryParameters { + job_id: Parameters.JobId; + schema: Parameters.Schema; + } + namespace Responses { + export interface $202 { + /** + * The job status at the time of the request. + */ + status?: string; + jobPollId?: string; + } + export interface $400 { + } + export interface $403 { + } + export interface $404 { + } + export type $429 = /** + * A generic error returned by the API + * example: + * { + * "status": 429, + * "error": "Too many requests. Try again later." + * } + */ + Components.Responses.TooManyRequestsError; + } + } namespace AddRelations { namespace Parameters { export type ActivityId = /** @@ -12387,6 +13342,7 @@ export declare namespace Paths { } namespace Autocomplete { namespace Parameters { + export type Anonymize = boolean; /** * example: * _tags @@ -12402,6 +13358,7 @@ export declare namespace Paths { Components.Schemas.EntitySlug /* ^[a-zA-Z0-9_-]+$ */; } export interface QueryParameters { + anonymize?: Parameters.Anonymize; input?: Parameters.Input; attribute: /** * example: @@ -12917,6 +13874,15 @@ export declare namespace Paths { namespace Responses { export interface $200 { } + export type $404 = /** + * A generic error returned by the API + * example: + * { + * "status": 404, + * "error": "Not Found" + * } + */ + Components.Responses.NotFoundError; export type $429 = /** * A generic error returned by the API * example: @@ -13258,6 +14224,7 @@ export declare namespace Paths { } namespace GetActivity { namespace Parameters { + export type Anonymize = boolean; export type Id = /** * See https://github.com/ulid/spec * example: @@ -13271,6 +14238,7 @@ export declare namespace Paths { id: Parameters.Id; } export interface QueryParameters { + anonymize?: Parameters.Anonymize; operations_size?: Parameters.OperationsSize; operations_from?: Parameters.OperationsFrom; } @@ -13289,6 +14257,7 @@ export declare namespace Paths { } namespace GetEntity { namespace Parameters { + export type Anonymize = boolean; export type Hydrate = boolean; export type Id = Components.Schemas.EntityId /* uuid */; export type Slug = /** @@ -13304,6 +14273,7 @@ export declare namespace Paths { } export interface QueryParameters { hydrate?: Parameters.Hydrate; + anonymize?: Parameters.Anonymize; } namespace Responses { export interface $200 { @@ -13416,6 +14386,7 @@ export declare namespace Paths { namespace GetEntityActivityFeed { namespace Parameters { export type After = string; // date-time + export type Anonymize = boolean; export type Before = string; // date-time export type EndDate = string; // date-time /** @@ -13453,6 +14424,7 @@ export declare namespace Paths { id: Parameters.Id; } export interface QueryParameters { + anonymize?: Parameters.Anonymize; after?: Parameters.After /* date-time */; before?: Parameters.Before /* date-time */; start_date?: Parameters.StartDate /* date-time */; @@ -13501,6 +14473,7 @@ export declare namespace Paths { } namespace GetEntityV2 { namespace Parameters { + export type Anonymize = boolean; export type ApplyChangesets = boolean; export type Fields = /** * List of entity fields to include or exclude in the response @@ -13535,6 +14508,7 @@ export declare namespace Paths { } export interface QueryParameters { hydrate?: Parameters.Hydrate; + anonymize?: Parameters.Anonymize; fields?: Parameters.Fields; apply_changesets?: Parameters.ApplyChangesets; } @@ -13955,6 +14929,7 @@ export declare namespace Paths { } namespace GetRelations { namespace Parameters { + export type Anonymize = boolean; export type ExcludeSchemas = /** * URL-friendly identifier for the entity schema * example: @@ -13985,6 +14960,7 @@ export declare namespace Paths { } export interface QueryParameters { hydrate?: Parameters.Hydrate; + anonymize?: Parameters.Anonymize; include_reverse?: Parameters.IncludeReverse; from?: Parameters.From; size?: Parameters.Size; @@ -14006,6 +14982,7 @@ export declare namespace Paths { } namespace GetRelationsV2 { namespace Parameters { + export type Anonymize = boolean; export type Fields = /** * List of entity fields to include or exclude in the response * @@ -14043,6 +15020,7 @@ export declare namespace Paths { } export interface QueryParameters { hydrate?: Parameters.Hydrate; + anonymize?: Parameters.Anonymize; query?: Parameters.Query; include_reverse?: Parameters.IncludeReverse; from?: Parameters.From; @@ -14064,6 +15042,7 @@ export declare namespace Paths { } namespace GetRelationsV3 { namespace Parameters { + export type Anonymize = boolean; export type ExcludeSchemas = /** * URL-friendly identifier for the entity schema * example: @@ -14123,6 +15102,7 @@ export declare namespace Paths { } export interface QueryParameters { hydrate?: Parameters.Hydrate; + anonymize?: Parameters.Anonymize; include_reverse?: Parameters.IncludeReverse; from?: Parameters.From; size?: Parameters.Size; @@ -14441,7 +15421,7 @@ export declare namespace Paths { /** * ISO 8601 timestamp to filter jobs created after this time (e.g., 2023-01-01T00:00:00Z). * example: - * 2023-01-01T00:00:00Z + * 2023-01-01T00:00:00.000Z */ export type CreatedAfter = string; // date-time /** @@ -14467,7 +15447,7 @@ export declare namespace Paths { created_after?: /** * ISO 8601 timestamp to filter jobs created after this time (e.g., 2023-01-01T00:00:00Z). * example: - * 2023-01-01T00:00:00Z + * 2023-01-01T00:00:00.000Z */ Parameters.CreatedAfter /* date-time */; sort_pending_first?: /* When true, sorts PENDING status jobs to the top of the results. */ Parameters.SortPendingFirst; @@ -14556,6 +15536,7 @@ export declare namespace Paths { } namespace ListChangesets { namespace Parameters { + export type Anonymize = boolean; export type Id = Components.Schemas.EntityId /* uuid */; export type Slug = /** * URL-friendly identifier for the entity schema @@ -14568,6 +15549,9 @@ export declare namespace Paths { slug: Parameters.Slug; id: Parameters.Id; } + export interface QueryParameters { + anonymize?: Parameters.Anonymize; + } namespace Responses { export type $200 = /* Map of attribute name to pending changeset. At most one changeset per attribute. */ Components.Schemas.ChangesetMap; export type $404 = /** @@ -14624,6 +15608,7 @@ export declare namespace Paths { */ Components.Schemas.FieldsParam; export type From = number; + export type Q = string; export type Size = number; export type Slug = /** * URL-friendly identifier for the entity schema @@ -14638,6 +15623,7 @@ export declare namespace Paths { sort?: Parameters.Sort; from?: Parameters.From; size?: Parameters.Size; + q?: Parameters.Q; fields?: Parameters.Fields; } namespace Responses { @@ -16520,7 +17506,7 @@ export interface OperationMethods { * Returns all pending changesets for an entity. */ 'listChangesets'( - parameters?: Parameters | null, + parameters?: Parameters | null, data?: any, config?: AxiosRequestConfig ): OperationResponse @@ -16658,6 +17644,25 @@ export interface OperationMethods { data?: Paths.ImportEntities.RequestBody, config?: AxiosRequestConfig ): OperationResponse + /** + * abortEntityImport - Abort a running entity import + * + * Asks a running import to stop. Rows already imported are **kept** - this is a stop, not a + * rollback - and the job still produces its result reports for everything that landed before + * the stop, then reaches the terminal status `CANCELLED`. + * + * The stop is cooperative: the worker notices the request at its next batch boundary, so the + * job typically reaches `CANCELLED` within seconds. Poll `POST /v1/entity:import` with the + * `job_id` as usual to observe it. + * + * Idempotent - aborting an already-aborted or already-finished job is not an error. + * + */ + 'abortEntityImport'( + parameters?: Parameters | null, + data?: any, + config?: AxiosRequestConfig + ): OperationResponse /** * listSavedViews - listSavedViews * @@ -17754,7 +18759,7 @@ export interface PathsDictionary { * Returns all pending changesets for an entity. */ 'get'( - parameters?: Parameters | null, + parameters?: Parameters | null, data?: any, config?: AxiosRequestConfig ): OperationResponse @@ -17909,6 +18914,27 @@ export interface PathsDictionary { config?: AxiosRequestConfig ): OperationResponse } + ['/v1/entity:abortImport']: { + /** + * abortEntityImport - Abort a running entity import + * + * Asks a running import to stop. Rows already imported are **kept** - this is a stop, not a + * rollback - and the job still produces its result reports for everything that landed before + * the stop, then reaches the terminal status `CANCELLED`. + * + * The stop is cooperative: the worker notices the request at its next batch boundary, so the + * job typically reaches `CANCELLED` within seconds. Poll `POST /v1/entity:import` with the + * `job_id` as usual to observe it. + * + * Idempotent - aborting an already-aborted or already-finished job is not an error. + * + */ + 'post'( + parameters?: Parameters | null, + data?: any, + config?: AxiosRequestConfig + ): OperationResponse + } ['/v1/entity/views']: { /** * listSavedViews - listSavedViews @@ -18416,6 +19442,7 @@ export type AttributeWithCompositeID = Components.Schemas.AttributeWithComposite export type AutomationAttribute = Components.Schemas.AutomationAttribute; export type BaseActivityItem = Components.Schemas.BaseActivityItem; export type BaseAttribute = Components.Schemas.BaseAttribute; +export type BaseConditionDefinition = Components.Schemas.BaseConditionDefinition; export type BaseEntity = Components.Schemas.BaseEntity; export type BlueprintEntityId = Components.Schemas.BlueprintEntityId; export type BooleanAttribute = Components.Schemas.BooleanAttribute; @@ -18427,6 +19454,7 @@ export type ClassificationIdOrPattern = Components.Schemas.ClassificationIdOrPat export type ClassificationSlug = Components.Schemas.ClassificationSlug; export type ClassificationsUpdate = Components.Schemas.ClassificationsUpdate; export type ComputedAttribute = Components.Schemas.ComputedAttribute; +export type ConditionDefinition = Components.Schemas.ConditionDefinition; export type ConsentAttribute = Components.Schemas.ConsentAttribute; export type CountryAttribute = Components.Schemas.CountryAttribute; export type CurrencyAttribute = Components.Schemas.CurrencyAttribute; @@ -18449,6 +19477,7 @@ export type EntityImportParams = Components.Schemas.EntityImportParams; export type EntityItem = Components.Schemas.EntityItem; export type EntityListParams = Components.Schemas.EntityListParams; export type EntityOperation = Components.Schemas.EntityOperation; +export type EntityOperationSourceContext = Components.Schemas.EntityOperationSourceContext; export type EntityOwner = Components.Schemas.EntityOwner; export type EntitySchema = Components.Schemas.EntitySchema; export type EntitySchemaGroup = Components.Schemas.EntitySchemaGroup; @@ -18497,6 +19526,7 @@ export type IsTemplate = Components.Schemas.IsTemplate; export type Language = Components.Schemas.Language; export type LinkAttribute = Components.Schemas.LinkAttribute; export type ListSavedViewsResults = Components.Schemas.ListSavedViewsResults; +export type LocationConditionDefinition = Components.Schemas.LocationConditionDefinition; export type MatchStrategy = Components.Schemas.MatchStrategy; export type MessageEmailAddressAttribute = Components.Schemas.MessageEmailAddressAttribute; export type MeterReadingChangesetEntry = Components.Schemas.MeterReadingChangesetEntry; @@ -18521,11 +19551,13 @@ export type SavedView = Components.Schemas.SavedView; export type SavedViewId = Components.Schemas.SavedViewId; export type SavedViewItem = Components.Schemas.SavedViewItem; export type SavedViewPartial = Components.Schemas.SavedViewPartial; +export type ScalarConditionDefinition = Components.Schemas.ScalarConditionDefinition; export type SchemaId = Components.Schemas.SchemaId; export type SearchFilter = Components.Schemas.SearchFilter; export type SearchFilterValue = Components.Schemas.SearchFilterValue; export type SearchMappings = Components.Schemas.SearchMappings; export type SelectAttribute = Components.Schemas.SelectAttribute; +export type SelectConditionDefinition = Components.Schemas.SelectConditionDefinition; export type SequenceAttribute = Components.Schemas.SequenceAttribute; export type SettingFlag = Components.Schemas.SettingFlag; export type StatusAttribute = Components.Schemas.StatusAttribute;