---
title: "Get assistant"
method: GET
path: "/orgs/assistants/{assistant_id}"
tags: ["Assistants"]
---

# Get assistant

`GET /orgs/assistants/{assistant_id}`

## Request

- Base URL: `https://api.useinvent.com`
- URL: `https://api.useinvent.com/orgs/assistants/{assistant_id}`
- Auth: HTTP bearer

Fetch a specific assistant by ID.

## Path parameters

- `assistant_id` string, required

## Response `200`

The assistant details.

- AssistantSchema: Schema for an assistant
  - `id` string, required
  - `name` string, required: The name of the assistant
  - `deleted` boolean, required: Whether the assistant has been soft-deleted
  - `secret_key` string, nullable, required: The secret key to create session hashes
  - `avatar_url` string, nullable, required: The URL of the avatar photo
  - `config` AssistantConfigSchema, required: Schema for the configuration of an assistant
    - `instructions` string: The instructions for the assistant: its system prompt
    - `language` 'auto' | 'en' | 'es', required: List of supported languages for the model in ISO 639-1 format or "auto"
    - `model` string, required: The model to use for the assistant
    - `conversation` AssistantConversationConfigSchema, required: Configuration options for the conversation thread of the assistant
      - `thread_mode` 'new' | 'continue', required: Whether returning users start a new conversation or continue the previous one.
      - `welcome_banner` string: Static greeting shown in the UI when a conversation starts.
      - `suggested_messages` string[]: Up to 5 suggested messages shown when a conversation starts.
      - `auto_intro_message` string: First message the assistant sends automatically when a conversation begins via API.
      - `enable_memories` boolean, required: Let the assistant store memories about the contact.
      - `enable_end_conversation_tool` boolean: Let the assistant close conversations on its own.
      - `enable_transfer_to_human_tool` boolean, required: The AI Routing switch: let the assistant hand a conversation to one of your members. Off turns routing off, whatever the routing instructions say.
      - `routing_instructions` string: Business instructions that steer how this assistant routes transfers to a human (which member or team to prefer, when to escalate). Appended to the transfer tool guidance.
      - `enable_block_contact_tool` boolean: Let the assistant block abusive contacts.
      - `enable_ai_replies` boolean: When false the assistant is human-only: messages are received but the AI never responds.
      - `enable_auto_resolve` boolean: Automatically resolve conversations after a period of inactivity.
      - `enable_auto_follow_ups` boolean: Let the assistant follow up on conversations on its own.
      - `follow_up_instructions` string: Business rules that steer automatic follow-ups (cadence, hours, stop rules, tone).
      - `follow_ups_outside_window` boolean: After the messaging window closes, still follow up about something the contact asked for or is waiting on (WhatsApp).
      - `enable_auto_csat` boolean: Automatically score customer satisfaction when closing conversations.
      - `enable_private_chats` boolean: Enable private chats that do not appear in the inbox.
      - `enable_update_contact_tool` boolean: Let the assistant collect and update contact information.
      - `enable_transcription` boolean: Turn voice notes and videos into text, and describe what videos show, so any model understands them.
    - `widget` AssistantWidgetConfigSchema: Configuration of the embeddable web chat widget
      - `enabled` boolean: Whether the widget shows where its embed code is installed. Off hides it without removing the code.
      - `mode` 'button' | 'omnibar' | 'auto': Default shape of the embedded widget: corner bubble button, centered omnibar, or auto (omnibar until the visitor has a conversation). A mode attribute on the embed element overrides it, and a visitor’s own header-toggle pick outranks both on desktop; mobile has no toggle and always follows the attribute or this setting.
      - `appearance` 'auto' | 'light' | 'dark': Theme of the widget: follow the visitor system or force one
      - `position` 'right' | 'left': Corner where the bubble launcher is anchored (the omnibar is always centered). A position attribute on the embed element overrides it.
      - `omnibar_minimize_desktop` boolean: Fold the omnibar into its compact centered button while visitors scroll on desktop too. On mobile viewports it always folds.
      - `hide_powered_by` boolean
      - `enable_dictation` boolean
      - `enable_file_uploads` boolean
      - `colors` AssistantWidgetColorsConfigSchema: Color overrides for the widget
        - `accent` string: Accent color used inside the chat (buttons, visitor messages, links)
        - `launcher_background` string: Background color of the widget button; the icon color adapts automatically
      - `teaser` AssistantWidgetTeaserConfigSchema: Proactive teaser configuration for the widget. The suggested replies shown with the teaser come from conversation.suggested_messages.
        - `enabled` boolean
        - `message` string: Short invitation shown next to the closed widget button
        - `modes` 'all' | 'button' | 'omnibar': Which widget modes show the teaser: both, only the bubble button, or only the omnibar
        - `suggestions` 'all' | 'button' | 'omnibar' | 'none': Which widget modes show the suggested replies with the teaser, or none. Defaults to the bubble button; the omnibar already shows them when focused, independent of this setting.
        - `delay_seconds` integer: Seconds to wait before showing the teaser
        - `frequency` 'once_per_visitor' | 'once_per_session' | 'every_visit': How often the teaser can show again to the same visitor
        - `devices` 'all' | 'desktop' | 'mobile': Devices where the teaser shows
        - `version` integer: Bump to show the teaser again to visitors who already dismissed it
      - `channels` AssistantWidgetChannelsConfigSchema: Alternative channels offered in the widget launcher menu when any are configured
        - `items` AssistantWidgetChannelItemSchema[]
          - `channel_id` string: Connected assistant channel to link to; the URL is generated from the connection and ignored when the channel no longer exists
          - `enabled` boolean: Connected channels are included by default; set to false to hide one from the widget
          - `type` 'whatsapp' | 'messenger' | 'instagram' | 'telegram' | 'email' | 'phone' | 'link': Type of a custom channel link
          - `label` string
          - `url` string, uri: Destination of a custom link channel
          - `email` string, email: Address of a custom email channel
          - `phone` string: E.164 number of a custom phone channel
        - `label` string: Heading above the channels menu; defaults to "Talk to us on"
        - `chat_button_label` string: Label of the launcher chat action; defaults to "Chat with us"
    - `knowledge_scope` 'all' | 'restricted', required: Which knowledge the assistant searches: all sources, or only the ones linked to it (List/Link/Unlink Assistant Knowledge Source).
    - `timezone` string, required: IANA timezone, e.g. "America/New_York".
  - `channels` AssistantChannelSchema[], required
    - `id` string, required
    - `enabled` boolean, required
    - `channel_type` 'internal' | 'org' | 'agent' | 'custom' | 'whatsapp_bot' | 'messenger_bot' | 'instagram_dm' | 'tiktok_dm' | 'telegram_bot' | 'slack_bot' | 'teams_bot' | 'gmail' | 'outlook' | 'twilio' | 'telnyx' | 'email' | 'smpp', required: The channel type
    - `assistant_id` string, required
    - `connection_id` string, nullable, required
    - `config` AssistantChannelConfigSchema, required: Configuration object for the assistant integration
    - `error` string, nullable, required
    - `platform_url` string, nullable, required
    - `created_at` string, date-time, nullable, required
    - `updated_at` string, date-time, nullable, required
  - `actions` AssistantActionSchema[], required
    - `id` string, required: The ID of the action
    - `enabled` boolean, required: Whether the action is enabled
    - `name` string, nullable, required: The name of the action
    - `instructions` string, nullable, required: The instructions for the action
    - `action_id` string, required: The ID of the action, e.g. "TOOLS:HTTP_REQUEST"
    - `assistant_id` string, required: The ID of the assistant
    - `connection_id` string, nullable, required: The ID of the connection to use for the action if required
    - `config` InputValuesWithDefinitionsSchema, required: The input values with their dynamic field definitions
      - `input` object, required: Values of the fields
      - `definitions` DynamicFieldsSchema[]
        - `path` string, required
        - `definition` FieldsSchema, required: The definition of the field schemas
    - `approval_mode` 'auto' | 'ask' | 'never', required: When the assistant must ask before running the action
    - `position` integer, required: The position of the action within its group. Bucketed in multiples of 100, e.g. 100, 101, 102 for the first group, 200, 201, 202 for the second
    - `created_at` string, date-time, nullable, required
    - `updated_at` string, date-time, nullable, required
  - `contact_fields` AssistantContactFieldSchema[], required
    - `mode` 'none' | 'read' | 'write', required: read: AI sees the property in its context but cannot update it. write: AI sees AND can update via the update_contact tool.
    - `field` union, required
      - TableSystemFieldSchema
        - `id` string, required
        - `table_id` string, required
        - `key` string, required
        - `type` 'id' | 'string' | 'number' | 'boolean' | 'date' | 'datetime' | 'enum' | 'file' | 'record' | 'contact' | 'user' | 'chat' | 'segment' | 'assistant' | 'agent', required
        - `schema` union, required: A user-created field: the table field types, without the props only built-in definitions set
          - FieldIdBaseSchema
            - `type` 'id', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldDisplaySchema: Display options for the field
              - …
            - `prefix` string: Uppercase alphanumeric prefix rendered before the record number (e.g. `LEAD` → `LEAD-42`). Omit to render the bare number.
          - FieldStringBaseSchema
            - `type` 'string', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldStringDisplaySchema: Display options for the string field
              - …
            - `default` union: The default value of the string field
              - …
            - `format` 'url' | 'email' | 'phone': The validation type for the field
            - `min` number: The minimum length of the string field
            - `max` number: The maximum length of the string field
          - FieldNumberBaseSchema
            - `type` 'number', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldNumberDisplaySchema: Display options for the number field
              - …
            - `default` union: The default value of the number field
              - …
          - FieldBooleanBaseSchema
            - `type` 'boolean', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldDisplaySchema: Display options for the field
              - …
            - `default` boolean: The default value of the boolean field
          - FieldDateBaseSchema
            - `type` 'date', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldDateDisplaySchema: Display options for the date field
              - …
            - `default` string, date-time, nullable: The default value of the date field, formatted as YYYY-MM-DD
            - `range` boolean: Turns the field into a range: requires `array: true`, and the value becomes an array of exactly two dates (start, end). A Timeline can draw it as a bar.
          - FieldDateTimeBaseSchema
            - `type` 'datetime', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldDateTimeDisplaySchema: Display options for the datetime field
              - …
            - `default` string, date-time, nullable: The default value of the date time field, formatted as YYYY-MM-DDTHH:MM:SS
            - `range` boolean: Turns the field into a range: requires `array: true`, and the value becomes an array of exactly two dates (start, end). A Timeline can draw it as a bar.
            - `source` 'created_at' | 'updated_at': Record timestamp a sourced datetime field renders. A sourced field is readonly and stores no values. Table fields on custom tables only; immutable after create.
          - FieldEnumBaseSchema
            - `type` 'enum', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldEnumDisplaySchema: Display options for the enum field
              - …
            - `default` union: The default value of the enum field
              - …
            - `items` FieldEnumItemSchema[], required: The options for the enum field
              - …
            - `additional_items` boolean: Indicates whether additional unlisted items are allowed
          - FieldFileBaseSchema
            - `type` 'file', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldFileDisplaySchema: Display options for the file field
              - …
            - `allowed_types` string[]: Allowed mime types for the file field (e.g. image/*, application/pdf)
            - `visibility` 'PUBLIC' | 'PRIVATE': Whether the file is private or public, private files URLs are signed with a token and can be accessed temporarily
            - `default` union: The default value of the file field: the already-attached file(s), pre-filled and replaceable
              - …
          - FieldRecordBaseSchema
            - `type` 'record', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldDisplaySchema: Display options for the field
              - …
            - `default` union: The default value of the record field (encoded record id)
              - …
            - `target_table_id` string: The id of the table whose records are referenceable
          - FieldContactBaseSchema
            - `type` 'contact', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldDisplaySchema: Display options for the field
              - …
            - `default` union: The default value of the contact field (encoded contact id)
              - …
          - FieldUserBaseSchema
            - `type` 'user', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldDisplaySchema: Display options for the field
              - …
            - `default` union: The default value of the user field (encoded user id of an org member)
              - …
            - `source` 'created_by' | 'updated_by': Record actor a sourced user field renders. A sourced field is readonly and stores no values. Table fields on custom tables only; immutable after create.
          - FieldChatBaseSchema
            - `type` 'chat', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldDisplaySchema: Display options for the field
              - …
            - `default` union: The default value of the chat field (encoded chat id)
              - …
          - FieldSegmentBaseSchema
            - `type` 'segment', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldDisplaySchema: Display options for the field
              - …
            - `default` union: The default value of the segment field (encoded segment id)
              - …
          - FieldAssistantBaseSchema
            - `type` 'assistant', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldDisplaySchema: Display options for the field
              - …
            - `default` union: The default value of the assistant field (encoded assistant id)
              - …
          - FieldAgentBaseSchema
            - `type` 'agent', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldDisplaySchema: Display options for the field
              - …
            - `default` union: The default value of the agent field (encoded agent id)
              - …
        - `readonly` boolean, required
        - `sortable` boolean, required: Whether views can sort their records by this field.
        - `groupable_in` string[], required: View kinds that accept this field as their grouping axis.
        - `kind` 'system', required
      - TableCustomFieldSchema
        - `id` string, required
        - `table_id` string, required
        - `key` string, required
        - `type` 'id' | 'string' | 'number' | 'boolean' | 'date' | 'datetime' | 'enum' | 'file' | 'record' | 'contact' | 'user' | 'chat' | 'segment' | 'assistant' | 'agent', required
        - `schema` union, required: A user-created field: the table field types, without the props only built-in definitions set
          - FieldIdBaseSchema
            - `type` 'id', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldDisplaySchema: Display options for the field
              - …
            - `prefix` string: Uppercase alphanumeric prefix rendered before the record number (e.g. `LEAD` → `LEAD-42`). Omit to render the bare number.
          - FieldStringBaseSchema
            - `type` 'string', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldStringDisplaySchema: Display options for the string field
              - …
            - `default` union: The default value of the string field
              - …
            - `format` 'url' | 'email' | 'phone': The validation type for the field
            - `min` number: The minimum length of the string field
            - `max` number: The maximum length of the string field
          - FieldNumberBaseSchema
            - `type` 'number', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldNumberDisplaySchema: Display options for the number field
              - …
            - `default` union: The default value of the number field
              - …
          - FieldBooleanBaseSchema
            - `type` 'boolean', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldDisplaySchema: Display options for the field
              - …
            - `default` boolean: The default value of the boolean field
          - FieldDateBaseSchema
            - `type` 'date', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldDateDisplaySchema: Display options for the date field
              - …
            - `default` string, date-time, nullable: The default value of the date field, formatted as YYYY-MM-DD
            - `range` boolean: Turns the field into a range: requires `array: true`, and the value becomes an array of exactly two dates (start, end). A Timeline can draw it as a bar.
          - FieldDateTimeBaseSchema
            - `type` 'datetime', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldDateTimeDisplaySchema: Display options for the datetime field
              - …
            - `default` string, date-time, nullable: The default value of the date time field, formatted as YYYY-MM-DDTHH:MM:SS
            - `range` boolean: Turns the field into a range: requires `array: true`, and the value becomes an array of exactly two dates (start, end). A Timeline can draw it as a bar.
            - `source` 'created_at' | 'updated_at': Record timestamp a sourced datetime field renders. A sourced field is readonly and stores no values. Table fields on custom tables only; immutable after create.
          - FieldEnumBaseSchema
            - `type` 'enum', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldEnumDisplaySchema: Display options for the enum field
              - …
            - `default` union: The default value of the enum field
              - …
            - `items` FieldEnumItemSchema[], required: The options for the enum field
              - …
            - `additional_items` boolean: Indicates whether additional unlisted items are allowed
          - FieldFileBaseSchema
            - `type` 'file', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldFileDisplaySchema: Display options for the file field
              - …
            - `allowed_types` string[]: Allowed mime types for the file field (e.g. image/*, application/pdf)
            - `visibility` 'PUBLIC' | 'PRIVATE': Whether the file is private or public, private files URLs are signed with a token and can be accessed temporarily
            - `default` union: The default value of the file field: the already-attached file(s), pre-filled and replaceable
              - …
          - FieldRecordBaseSchema
            - `type` 'record', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldDisplaySchema: Display options for the field
              - …
            - `default` union: The default value of the record field (encoded record id)
              - …
            - `target_table_id` string: The id of the table whose records are referenceable
          - FieldContactBaseSchema
            - `type` 'contact', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldDisplaySchema: Display options for the field
              - …
            - `default` union: The default value of the contact field (encoded contact id)
              - …
          - FieldUserBaseSchema
            - `type` 'user', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldDisplaySchema: Display options for the field
              - …
            - `default` union: The default value of the user field (encoded user id of an org member)
              - …
            - `source` 'created_by' | 'updated_by': Record actor a sourced user field renders. A sourced field is readonly and stores no values. Table fields on custom tables only; immutable after create.
          - FieldChatBaseSchema
            - `type` 'chat', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldDisplaySchema: Display options for the field
              - …
            - `default` union: The default value of the chat field (encoded chat id)
              - …
          - FieldSegmentBaseSchema
            - `type` 'segment', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldDisplaySchema: Display options for the field
              - …
            - `default` union: The default value of the segment field (encoded segment id)
              - …
          - FieldAssistantBaseSchema
            - `type` 'assistant', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldDisplaySchema: Display options for the field
              - …
            - `default` union: The default value of the assistant field (encoded assistant id)
              - …
          - FieldAgentBaseSchema
            - `type` 'agent', required: The type of the field
            - `name` string: The name of the field
            - `description` string: The description of the field
            - `optional` boolean: Indicates whether the field is optional
            - `array` boolean: Indicates whether the field can contain multiple values
            - `placeholder` string: The placeholder of the field
            - `display` FieldDisplaySchema: Display options for the field
              - …
            - `default` union: The default value of the agent field (encoded agent id)
              - …
        - `readonly` boolean, required
        - `sortable` boolean, required: Whether views can sort their records by this field.
        - `groupable_in` string[], required: View kinds that accept this field as their grouping axis.
        - `kind` 'custom', required
        - `icon` union, required
          - string, emoji: The emoji of a curated icon a user can pick for a table, view, field, or other entity
          - 'TableCellsIcon' | 'DatabaseIcon' | 'DocumentTextIcon' | 'DocumentChartBarIcon' | 'ClipboardDocumentListIcon' | 'ClipboardDocumentCheckIcon' | 'FolderIcon' | 'ArchiveBoxIcon' | 'InboxIcon' | 'BookOpenIcon' | 'BookmarkIcon' | 'NewspaperIcon' | 'RectangleStackIcon' | 'PencilSquareIcon' | 'UserIcon' | 'UsersIcon' | 'UserGroupIcon' | 'UserPlusIcon' | 'IdentificationIcon' | 'FaceSmileIcon' | 'HandThumbUpIcon' | 'HeartIcon' | 'StarIcon' | 'CheckBadgeIcon' | 'TrophyIcon' | 'CrownIcon' | 'ChatBubbleLeftIcon' | 'ChatBubbleLeftRightIcon' | 'EnvelopeIcon' | 'EnvelopeOpenIcon' | 'PhoneIcon' | 'DevicePhoneMobileIcon' | 'MegaphoneIcon' | 'BellIcon' | 'PaperAirplaneIcon' | 'AtSymbolIcon' | 'RssIcon' | 'LifebuoyIcon' | 'ShoppingCartIcon' | 'ShoppingBagIcon' | 'BuildingStorefrontIcon' | 'CreditCardIcon' | 'BanknotesIcon' | 'CurrencyDollarIcon' | 'CurrencyEuroIcon' | 'ReceiptPercentIcon' | 'WalletIcon' | 'CoinsIcon' | 'GiftIcon' | 'TagIcon' | 'TicketIcon' | 'ScaleIcon' | 'TruckIcon' | 'CubeIcon' | 'CalendarIcon' | 'CalendarDaysIcon' | 'CalendarDateRangeIcon' | 'ClockIcon' | 'FlagIcon' | 'CheckCircleIcon' | 'ListBulletIcon' | 'QueueListIcon' | 'FunnelIcon' | 'ChartBarIcon' | 'ChartPieIcon' | 'PresentationChartLineIcon' | 'ArrowTrendingUpIcon' | 'BriefcaseIcon' | 'WrenchScrewdriverIcon' | 'Cog6ToothIcon' | 'KeyIcon' | 'LockClosedIcon' | 'ShieldCheckIcon' | 'BoltIcon' | 'LightBulbIcon' | 'BeakerIcon' | 'BugAntIcon' | 'CpuChipIcon' | 'CodeBracketIcon' | 'CommandLineIcon' | 'ServerIcon' | 'LinkIcon' | 'HomeIcon' | 'HomeModernIcon' | 'BuildingOfficeIcon' | 'BuildingOffice2Icon' | 'BuildingLibraryIcon' | 'MapPinIcon' | 'MapIcon' | 'GlobeAltIcon' | 'GlobeAmericasIcon' | 'RocketLaunchIcon' | 'PlaneIcon' | 'CarIcon' | 'SunIcon' | 'MoonIcon' | 'FireIcon' | 'SparklesIcon' | 'CakeIcon' | 'AcademicCapIcon' | 'ScissorsIcon' | 'SwatchIcon' | 'PaintBrushIcon' | 'CoffeeIcon' | 'UtensilsIcon' | 'LeafIcon' | 'DumbbellIcon' | 'HeartPulseIcon' | 'PawPrintIcon' | 'StethoscopeIcon' | 'CameraIcon' | 'PhotoIcon' | 'FilmIcon' | 'VideoCameraIcon' | 'MicrophoneIcon' | 'MusicalNoteIcon' | 'SpeakerWaveIcon' | 'PlayCircleIcon' | 'TvIcon' | 'RadioIcon' | 'PuzzlePieceIcon' | 'GamepadIcon': The name of a curated icon a user can pick for a table, view, field, or other entity
        - `color` 'red' | 'orange' | 'amber' | 'yellow' | 'lime' | 'green' | 'teal' | 'cyan' | 'sky' | 'blue' | 'indigo' | 'violet' | 'purple' | 'fuchsia' | 'pink' | 'rose' | 'neutral', required: Accent color, by name
        - `unique` boolean, required
        - `on_target_delete` 'restrict' | 'clear' | 'cascade', required: What happens when the referenced target is deleted (ref-typed fields only). `restrict` forbids deleting the target while any cell still points to it. `clear` allows the delete and drops those field values on remaining rows. `cascade` also deletes table rows that reference the target via this field.
        - `archived` boolean, required
        - `created_at` string, date-time, nullable, required
        - `updated_at` string, date-time, nullable, required
    - `created_at` string, date-time, nullable, required
  - `members` OrgMemberSchema[]: Bounded preview of assigned members (list reads only) for the collage
    - `id` string, required: Unique identifier for the org member
    - `name` string, nullable, required: Name of the org member
    - `email` string, email, required: Email address of the org member
    - `avatar` string, nullable, required: Avatar URL of the org member
    - `role` 'ADMIN' | 'DEVELOPER' | 'MANAGER' | 'STAFF', required: Role of the org member within the org
    - `status` 'ACTIVE' | 'INACTIVE', required: Status of the org member
    - `description` string, nullable, required: What this member handles — visible to the AI when routing conversations
    - `org_id` string, required: Identifier of the org to which the member belongs
    - `user_id` string, required: Identifier of the user associated with the org member
    - `preferences` OrgMemberPreferencesSchema, required: Preferences of the org member
      - `notifications` OrgMemberNotificationsSchema, required: Notifications of the org member
        - `assigned_to_me` OrgMemberNotificationSchema, required: Notification of the org member, one flag per channel
          - `email` boolean, required
          - `push` boolean, required
          - `notified_at` string, date-time, nullable
        - `billing` OrgMemberNotificationSchema, required: Notification of the org member, one flag per channel
          - `email` boolean, required
          - `push` boolean, required
          - `notified_at` string, date-time, nullable
        - `agent_attention` OrgMemberNotificationSchema, required: Notification of the org member, one flag per channel
          - `email` boolean, required
          - `push` boolean, required
          - `notified_at` string, date-time, nullable
        - `mentioned` OrgMemberNotificationSchema, required: Notification of the org member, one flag per channel
          - `email` boolean, required
          - `push` boolean, required
          - `notified_at` string, date-time, nullable
    - `roles` CustomRoleSchema[], required: Custom roles assigned to the member
      - `id` string, required
      - `name` string, required
      - `description` string, nullable, required
      - `color` 'red' | 'orange' | 'amber' | 'yellow' | 'lime' | 'green' | 'teal' | 'cyan' | 'sky' | 'blue' | 'indigo' | 'violet' | 'purple' | 'fuchsia' | 'pink' | 'rose' | 'neutral', required: Accent color, by name
      - `permissions` OrgPermissionSchema[], required
    - `spending_cap` SpendingCapSchema, required: A monthly spending cap on a user, an agent or an assistant
      - `id` string, required
      - `amount` number, nullable, required: The subject's own monthly limit in USD; null follows the org's default for its kind, or none
      - `used` number, required: Spent this month in USD, back to zero on the first day of the month
    - `created_at` string, date-time, nullable, required: Timestamp when the org member was created
    - `updated_at` string, date-time, nullable, required: Timestamp when the org member was last updated
    - `seen_at` string, date-time, nullable, required: Timestamp when the user was last seen
    - `routines_count` number: How many private routines the member runs in this org, on the members list only
  - `members_count` number: Total number of assigned members (list reads only)
  - `spending_cap` SpendingCapSchema, required: A monthly spending cap on a user, an agent or an assistant
    - `id` string, required
    - `amount` number, nullable, required: The subject's own monthly limit in USD; null follows the org's default for its kind, or none
    - `used` number, required: Spent this month in USD, back to zero on the first day of the month
  - `created_at` string, date-time, nullable, required
  - `updated_at` string, date-time, nullable, required

---

[API](https://skmtc.dev/useinvent/apis/invent-api.md) · [All operations](https://skmtc.dev/useinvent/apis/invent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/useinvent/apis/invent-api/revisions/98824f3fde82?raw)
