Skip to content

Latest commit

 

History

History
6882 lines (4730 loc) · 77.5 KB

File metadata and controls

6882 lines (4730 loc) · 77.5 KB

Reference

Workflows

client.workflows.create_revision(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.workflows.create_revision(
    workflow_id="workflow_id",
    workflow_key="workflow_key",
)

⚙️ Parameters

workflow_id: typing.Optional[str]

workflow_key: typing.Optional[str]

workflow_display_name: typing.Optional[str]

workflow_schema_version: typing.Optional[str]

workflow_img_url: typing.Optional[str]

workflow_description: typing.Optional[str]

blocks: typing.Optional[typing.Sequence[BlockInput]]

notes: typing.Optional[typing.Sequence[WorkflowNoteInput]]

placeholders: typing.Optional[typing.Sequence[PlaceholderInput]]

tags: typing.Optional[typing.Sequence[str]]

is_tool: typing.Optional[bool]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.workflows.list(...)

📝 Description

List all workflows in the organization

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.workflows.list(
    sort="sort",
    direction="direction",
    start_at="start_at",
    limit=1,
    query="query",
    tags="tags",
    drive=True,
)

⚙️ Parameters

sort: typing.Optional[str] — Field to sort by

direction: typing.Optional[str] — Sort in ascending or descending order

start_at: typing.Optional[str] — created_at to start at

limit: typing.Optional[int] — Limit of records to return

query: typing.Optional[str] — Search query

tags: typing.Optional[str] — Filter by tags

drive: typing.Optional[bool]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.workflows.create(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.workflows.create(
    workflow_key="workflow_key",
)

⚙️ Parameters

workflow_key: typing.Optional[str] — A unique key to identify the workflow

workflow_display_name: typing.Optional[str]

workflow_schema_version: typing.Optional[str]

workflow_img_url: typing.Optional[str]

workflow_description: typing.Optional[str]

blocks: typing.Optional[typing.Sequence[BlockInput]]

notes: typing.Optional[typing.Sequence[WorkflowNoteInput]]

placeholders: typing.Optional[typing.Sequence[PlaceholderInput]]

tags: typing.Optional[typing.Sequence[str]]

is_tool: typing.Optional[bool]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.workflows.get(...)

📝 Description

Fetch app configuration by ID.

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.workflows.get(
    workflow_id="workflow_id",
)

⚙️ Parameters

workflow_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.workflows.update(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.workflows.update(
    workflow_id="workflow_id",
)

⚙️ Parameters

workflow_id: str

workflow_display_name: typing.Optional[str]

workflow_schema_version: typing.Optional[str]

workflow_img_url: typing.Optional[str]

workflow_description: typing.Optional[str]

blocks: typing.Optional[typing.Sequence[BlockInput]]

notes: typing.Optional[typing.Sequence[WorkflowNoteInput]]

placeholders: typing.Optional[typing.Sequence[PlaceholderInput]]

tags: typing.Optional[typing.Sequence[str]]

is_tool: typing.Optional[bool]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.workflows.delete(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.workflows.delete(
    workflow_id="workflow_id",
)

⚙️ Parameters

workflow_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.workflows.run_stream(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
response = client.workflows.run_stream(
    workflow_id="workflow_id",
    environment="environment",
    revision_id="revision_id",
    session_id="session_id",
)
for chunk in response.data:
    yield chunk

⚙️ Parameters

workflow_id: str

environment: typing.Optional[str]

Specifies the execution environment for the workflow. The available environments include:

  • production: The production environment, where workflows are executed under live conditions.
  • staging: A staging environment used for testing prior to production deployment.
  • development: A development environment used for testing new changes.
  • console: The console environment, runs latest changes on a workflow.

revision_id: typing.Optional[str]

session_id: typing.Optional[str]

inputs: typing.Optional[typing.Dict[str, WorkflowsRunStreamRequestInputsValue]]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.workflows.run(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.workflows.run(
    workflow_id="workflow_id",
    environment="environment",
    revision_id="revision_id",
    session_id="session_id",
)

⚙️ Parameters

workflow_id: str

environment: typing.Optional[str]

Specifies the execution environment for the workflow. The available environments include:

  • production: The production environment, where workflows are executed under live conditions.
  • staging: A staging environment used for testing prior to production deployment.
  • development: A development environment used for testing new changes.
  • console: The console environment, runs latest changes on a workflow.

revision_id: typing.Optional[str]

session_id: typing.Optional[str]

inputs: typing.Optional[typing.Dict[str, WorkflowsRunRequestInputsValue]]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.workflows.run_with_config(...)

🔌 Usage

from scoutos import Scout, WorkflowConfigInput

client = Scout(
    api_key="YOUR_API_KEY",
)
client.workflows.run_with_config(
    environment="environment",
    revision_id="revision_id",
    session_id="session_id",
    workflow_config=WorkflowConfigInput(),
)

⚙️ Parameters

workflow_config: WorkflowConfigInput

environment: typing.Optional[str]

Specifies the execution environment for the workflow. The available environments include:

  • production: The production environment, where workflows are executed under live conditions.
  • staging: A staging environment used for testing prior to production deployment.
  • development: A development environment used for testing new changes.
  • console: The console environment, runs latest changes on a workflow.

revision_id: typing.Optional[str]

session_id: typing.Optional[str]

workflow_key: typing.Optional[str]

inputs: typing.Optional[ typing.Dict[str, SrcHandlersWorkflowsExecuteWithConfigReqBodyInputsValue] ]

streaming: typing.Optional[bool]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

WorkflowRevisions

client.workflow_revisions.update(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.workflow_revisions.update(
    workflow_id="workflow_id",
    revision_id="revision_id",
    name="name",
)

⚙️ Parameters

workflow_id: str

revision_id: str

name: str

description: typing.Optional[str]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Revisions

client.revisions.delete(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.revisions.delete(
    workflow_id="workflow_id",
    revision_id="revision_id",
)

⚙️ Parameters

workflow_id: str

revision_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.revisions.list(...)

📝 Description

List all app revisions in the organization

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.revisions.list(
    workflow_id="workflow_id",
)

⚙️ Parameters

workflow_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.revisions.update(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.revisions.update(
    workflow_id="workflow_id",
    revision_id="revision_id",
)

⚙️ Parameters

workflow_id: str

revision_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Environments

client.environments.list(...)

📝 Description

List all environments for a workflow in the organization

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.environments.list(
    workflow_id="workflow_id",
)

⚙️ Parameters

workflow_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.environments.update(...)

📝 Description

Update deployments within a workflow environment

🔌 Usage

from scoutos import EnvironmentDeploymentConfig, Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.environments.update(
    workflow_id="workflow_id",
    environment_id="environment_id",
    name="name",
    description="description",
    deployments=[
        EnvironmentDeploymentConfig(
            revision_lookup="latest",
        )
    ],
)

⚙️ Parameters

workflow_id: str

environment_id: str

name: str

description: str

deployments: typing.Sequence[EnvironmentDeploymentConfig]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Usage

client.usage.get(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.usage.get(
    start_date="start_date",
    end_date="end_date",
)

⚙️ Parameters

start_date: typing.Optional[str] — Start date for the usage data

end_date: typing.Optional[str] — End date for the usage data

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

WorkflowLogs

client.workflow_logs.list_logs(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
response = client.workflow_logs.list_logs(
    workflow_id="workflow_id",
    start_date="start_date",
    end_date="end_date",
    limit=1,
    session_id="session_id",
    status="status",
    cursor="cursor",
    summary_only=True,
)
for chunk in response.data:
    yield chunk

⚙️ Parameters

workflow_id: str

start_date: typing.Optional[str]

end_date: typing.Optional[str]

limit: typing.Optional[int]

session_id: typing.Optional[str]

status: typing.Optional[str]

cursor: typing.Optional[str]

summary_only: typing.Optional[bool]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.workflow_logs.get_details(...)

📝 Description

Get full log details for a specific workflow run. Requires either session_id or workflow_run_id to identify the log.

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.workflow_logs.get_details(
    workflow_id="workflow_id",
    session_id="session_id",
    workflow_run_id="workflow_run_id",
)

⚙️ Parameters

workflow_id: str — The workflow ID

session_id: typing.Optional[str] — The session ID to identify the log. Either session_id or workflow_run_id must be provided.

workflow_run_id: typing.Optional[str] — The workflow run ID to identify the log. Either session_id or workflow_run_id must be provided.

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Copilots

client.copilots.list(...)

📝 Description

List all copilots in the organization

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.copilots.list(
    sort="sort",
    direction="direction",
    start_at="start_at",
    limit=1,
    query="query",
)

⚙️ Parameters

sort: typing.Optional[str] — Field to sort by

direction: typing.Optional[str] — Sort in ascending or descending order

start_at: typing.Optional[str] — created_at to start at

limit: typing.Optional[int] — Limit of records to return

query: typing.Optional[str] — Search query

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.copilots.create(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.copilots.create()

⚙️ Parameters

workflow_id: typing.Optional[str]

img_url: typing.Optional[str]

display_name: typing.Optional[str]

mode: typing.Optional[CopilotConfigMode]

code_theme: typing.Optional[CopilotConfigCodeTheme]

colors: typing.Optional[typing.Dict[str, str]]

fab: typing.Optional[typing.Dict[str, typing.Optional[CopilotConfigFabValue]]]

loading_text: typing.Optional[str]

message_placeholder: typing.Optional[str]

initial_activity: typing.Optional[typing.Sequence[typing.Optional[typing.Any]]]

allowed_origins: typing.Optional[str]

powered_by: typing.Optional[str]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.copilots.get(...)

📝 Description

Fetch copilot configuration by ID.

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.copilots.get(
    copilot_id="copilot_id",
)

⚙️ Parameters

copilot_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.copilots.update(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.copilots.update(
    copilot_id="copilot_id",
)

⚙️ Parameters

copilot_id: str

workflow_id: typing.Optional[str]

img_url: typing.Optional[str]

display_name: typing.Optional[str]

mode: typing.Optional[CopilotConfigMode]

code_theme: typing.Optional[CopilotConfigCodeTheme]

colors: typing.Optional[typing.Dict[str, str]]

fab: typing.Optional[typing.Dict[str, typing.Optional[CopilotConfigFabValue]]]

loading_text: typing.Optional[str]

message_placeholder: typing.Optional[str]

initial_activity: typing.Optional[typing.Sequence[typing.Optional[typing.Any]]]

allowed_origins: typing.Optional[str]

powered_by: typing.Optional[str]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.copilots.delete(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.copilots.delete(
    copilot_id="copilot_id",
)

⚙️ Parameters

copilot_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Triggers

client.triggers.list(...)

📝 Description

All apis and effects are injected into every endpoint via request.context. The request_context() utility can be used to get Intellisense type-completion

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.triggers.list(
    action_type="workflow.execute",
    workflow_id="workflow_id",
)

⚙️ Parameters

action_type: typing.Optional[ActionType] — Filter by action type

workflow_id: typing.Optional[str] — Filter by workflow ID

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.triggers.create(...)

🔌 Usage

from scoutos import AgentExecute, Scout, SlackTriggerConfigInput

client = Scout(
    api_key="YOUR_API_KEY",
)
client.triggers.create(
    request=SlackTriggerConfigInput(
        action=AgentExecute(
            agent_id="agent_id",
        ),
    ),
)

⚙️ Parameters

request: TriggersCreateRequest

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.triggers.update(...)

🔌 Usage

from scoutos import AgentExecute, Scout, SlackTriggerConfigInput

client = Scout(
    api_key="YOUR_API_KEY",
)
client.triggers.update(
    trigger_id="trigger_id",
    request=SlackTriggerConfigInput(
        action=AgentExecute(
            agent_id="agent_id",
        ),
    ),
)

⚙️ Parameters

trigger_id: str

request: TriggersUpdateRequest

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.triggers.delete(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.triggers.delete(
    trigger_id="trigger_id",
)

⚙️ Parameters

trigger_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.triggers.execute_slack()

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.triggers.execute_slack()

⚙️ Parameters

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.triggers.execute_telegram(...)

📝 Description

Receive Telegram webhook updates. Telegram sends POST with JSON body (Update object). Respond 200 quickly; look up Trigger docs for this connection and run agent, streaming replies to Telegram.

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.triggers.execute_telegram(
    connection_id="connection_id",
)

⚙️ Parameters

connection_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.triggers.execute_cron()

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.triggers.execute_cron()

⚙️ Parameters

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.triggers.update_cron_auth_headers(...)

📝 Description

Update Cloud Scheduler job Authorization headers for organizations. Lists all Cloud Scheduler jobs and updates those matching the trigger pattern.

Args: dry_run: If True, only shows what would be updated without making changes test_org_id: If provided, only processes jobs for this specific organization ID

Only accessible to Scout internal organizations for security.

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.triggers.update_cron_auth_headers(
    dry_run=True,
    test_org_id="test_org_id",
)

⚙️ Parameters

dry_run: typing.Optional[bool]

test_org_id: typing.Optional[str]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Integrations

client.integrations.list(...)

📝 Description

List all OAuth integrations for the organization

If service is 'all', returns integrations for all services.

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.integrations.list(
    service="service",
    fetch_icons=True,
)

⚙️ Parameters

service: str

fetch_icons: typing.Optional[bool]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.integrations.list_channels(...)

📝 Description

List all channels for a specific Slack workspace

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.integrations.list_channels(
    team_id="team_id",
)

⚙️ Parameters

team_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Organizations

client.organizations.delete_integration(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.organizations.delete_integration(
    integration_type="integration_type",
    integration_id="integration_id",
)

⚙️ Parameters

integration_type: str

integration_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Collections

client.collections.list(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.collections.list(
    start_at="start_at",
    limit=1,
    query="query",
    tags="tags",
    sort="sort",
    drive=True,
)

⚙️ Parameters

start_at: typing.Optional[str] — created_at to start at

limit: typing.Optional[int] — Limit of records to return

query: typing.Optional[str] — Search query

tags: typing.Optional[str] — Filter by tags

sort: typing.Optional[str] — Sort

drive: typing.Optional[bool]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.collections.create(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.collections.create()

⚙️ Parameters

collection_display_name: typing.Optional[str]

collection_img_url: typing.Optional[str]

collection_description: typing.Optional[str]

tags: typing.Optional[typing.Sequence[str]]

table_order: typing.Optional[typing.Sequence[str]]

collection_id: typing.Optional[str] — Optional user-provided collection ID. Must be a lowercase slug (a-z, 0-9, hyphens, underscores) between 3 and 63 characters. If omitted, an ID is auto-generated.

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.collections.get(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.collections.get(
    collection_id="collection_id",
)

⚙️ Parameters

collection_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.collections.update(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.collections.update(
    collection_id="collection_id",
)

⚙️ Parameters

collection_id: str

collection_display_name: typing.Optional[str]

collection_img_url: typing.Optional[str]

collection_description: typing.Optional[str]

tags: typing.Optional[typing.Sequence[str]]

table_order: typing.Optional[typing.Sequence[str]]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.collections.delete(...)

📝 Description

Delete a collection. By default, enqueues deletion and returns immediately. Pass await_completion=true to block until deletion is fully complete.

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.collections.delete(
    collection_id="collection_id",
    await_completion=True,
)

⚙️ Parameters

collection_id: str

await_completion: typing.Optional[bool] — Whether to wait for collection deletion to complete before responding

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.collections.list_syncs(...)

📝 Description

List Sources by Destination, specifically given a collection and table

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.collections.list_syncs(
    collection_id="collection_id",
    table_id="table_id",
)

⚙️ Parameters

collection_id: str

table_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.collections.get_views(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.collections.get_views(
    collection_id="collection_id",
)

⚙️ Parameters

collection_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.collections.update_views(...)

🔌 Usage

from scoutos import CollectionViewStateInput, Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.collections.update_views(
    collection_id="collection_id",
    view_state=CollectionViewStateInput(
        organization_id="organization_id",
        collection_id="collection_id",
    ),
)

⚙️ Parameters

collection_id: str

view_state: CollectionViewStateInput

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.collections.delete_views(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.collections.delete_views(
    collection_id="collection_id",
)

⚙️ Parameters

collection_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.collections.list_individual_views(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.collections.list_individual_views(
    collection_id="collection_id",
)

⚙️ Parameters

collection_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.collections.create_view(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.collections.create_view(
    collection_id="collection_id",
    name="name",
)

⚙️ Parameters

collection_id: str

name: str

type: typing.Optional[CreateViewRequestType]

emoji: typing.Optional[str]

table_id: typing.Optional[str]

settings: typing.Optional[CreateViewRequestSettings]

visibility: typing.Optional[ViewVisibility]

shared_with: typing.Optional[typing.Sequence[str]]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.collections.update_view(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.collections.update_view(
    collection_id="collection_id",
    view_id="view_id",
)

⚙️ Parameters

collection_id: str

view_id: str

name: typing.Optional[str]

type: typing.Optional[UpdateViewRequestType]

emoji: typing.Optional[str]

settings: typing.Optional[UpdateViewRequestSettings]

visibility: typing.Optional[ViewVisibility]

shared_with: typing.Optional[typing.Sequence[str]]

filters: typing.Optional[typing.Sequence[ViewFilter]]

query: typing.Optional[ViewQueryInput]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.collections.delete_view(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.collections.delete_view(
    collection_id="collection_id",
    view_id="view_id",
)

⚙️ Parameters

collection_id: str

view_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Tables

client.tables.list(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.tables.list(
    collection_id="collection_id",
)

⚙️ Parameters

collection_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.tables.create(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.tables.create(
    collection_id="collection_id",
)

⚙️ Parameters

collection_id: str

table_display_name: typing.Optional[str]

table_img_url: typing.Optional[str]

table_description: typing.Optional[str]

schema: typing.Optional[typing.Sequence[CreateTableRequestSchemaItem]]

icon_emoji: typing.Optional[str]

icon_asset_url: typing.Optional[str]

icon_fill: typing.Optional[str]

plural_name: typing.Optional[str]

table_id: typing.Optional[str] — Optional user-provided table ID. Must be a lowercase slug (a-z, 0-9, hyphens, underscores) between 3 and 63 characters. If omitted, an ID is auto-generated.

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.tables.get(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.tables.get(
    collection_id="collection_id",
    table_id="table_id",
)

⚙️ Parameters

collection_id: str

table_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.tables.update(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.tables.update(
    collection_id="collection_id",
    table_id="table_id",
)

⚙️ Parameters

collection_id: str

table_id: str

table_display_name: typing.Optional[str]

table_img_url: typing.Optional[str]

table_description: typing.Optional[str]

schema: typing.Optional[typing.Sequence[TableDataSchemaItem]]

icon_emoji: typing.Optional[str]

icon_asset_url: typing.Optional[str]

icon_fill: typing.Optional[str]

plural_name: typing.Optional[str]

index_id: typing.Optional[str]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.tables.delete(...)

📝 Description

Delete a table given a collection_id and table_id.

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.tables.delete(
    collection_id="collection_id",
    table_id="table_id",
)

⚙️ Parameters

collection_id: str

table_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.tables.get_schema(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.tables.get_schema(
    collection_id="collection_id",
    table_id="table_id",
)

⚙️ Parameters

collection_id: str

table_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.tables.sync(...)

📝 Description

Sync a table with a list of documents.

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.tables.sync(
    collection_id="collection_id",
    table_id="table_id",
    request=[{"key": "value"}],
)

⚙️ Parameters

collection_id: str

table_id: str

request: typing.Sequence[typing.Dict[str, typing.Optional[typing.Any]]]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Documents

client.documents.list(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.documents.list(
    collection_id="collection_id",
    table_id="table_id",
    limit=1,
    cursor="cursor",
    query="query",
    offset=1,
    sort_by="sort_by",
    filter_column="filter_column",
    filter_value="filter_value",
)

⚙️ Parameters

collection_id: str

table_id: str

limit: typing.Optional[int] — Limit of records to return

cursor: typing.Optional[str] — Cursor to fetch next set of records

query: typing.Optional[str] — Search query

offset: typing.Optional[int] — Offset to fetch next set of records

sort_by: typing.Optional[str] — Sort by field

filter_column: typing.Optional[str] — Column to filter by (column_id or column_display_name). Requires filter_value. Cannot be used with pagination, sorting or query.

filter_value: typing.Optional[str] — Value to match on. No partial text matching. Requires filter_column. Cannot be used with pagination, sorting or query.

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.documents.create(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.documents.create(
    collection_id="collection_id",
    table_id="table_id",
    job_id="job_id",
    sync_id="sync_id",
    await_completion=True,
    mode="mode",
    merge_fields=True,
    request={"key": True},
)

⚙️ Parameters

collection_id: str

table_id: str

request: DocumentsCreateRequestBody

job_id: typing.Optional[str] — The job id responsible for the document creation/update

sync_id: typing.Optional[str] — The sync id the job belongs to thats responsible for the document creation/update

await_completion: typing.Optional[bool] — Whether to wait for document creation/update to complete

mode: typing.Optional[str] — The mode to use for the document creation/update

merge_fields: typing.Optional[bool] — Whether to merge only provided fields into existing document

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.documents.update_batch(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.documents.update_batch(
    collection_id="collection_id",
    table_id="table_id",
    job_id="job_id",
    sync_id="sync_id",
    await_completion=True,
    mode="mode",
    merge_fields=True,
    request={"key": True},
)

⚙️ Parameters

collection_id: str

table_id: str

request: DocumentsUpdateBatchRequestBody

job_id: typing.Optional[str] — The job id responsible for the document creation/update

sync_id: typing.Optional[str] — The sync id the job belongs to thats responsible for the document creation/update

await_completion: typing.Optional[bool] — Whether to wait for document creation/update to complete

mode: typing.Optional[str] — The mode to use for the document creation/update

merge_fields: typing.Optional[bool] — Whether to merge only provided fields into existing document

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.documents.get(...)

📝 Description

Route handler for getting a document

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.documents.get(
    collection_id="collection_id",
    table_id="table_id",
    document_id="document_id",
)

⚙️ Parameters

collection_id: str

table_id: str

document_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.documents.update(...)

📝 Description

Route handler for updating a document

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.documents.update(
    collection_id="collection_id",
    table_id="table_id",
    document_id="document_id",
    request={},
)

⚙️ Parameters

collection_id: str

table_id: str

document_id: str

request: DocumentsUpdateRequest

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.documents.delete(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.documents.delete(
    collection_id="collection_id",
    table_id="table_id",
    document_id="document_id",
)

⚙️ Parameters

collection_id: str

table_id: str

document_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.documents.delete_batch(...)

📝 Description

Delete documents given a list of document ids.

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.documents.delete_batch(
    collection_id="collection_id",
    table_id="table_id",
    request=["string"],
)

⚙️ Parameters

collection_id: str

table_id: str

request: typing.Sequence[str]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Sources

client.sources.list()

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.sources.list()

⚙️ Parameters

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Syncs

client.syncs.list()

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.syncs.list()

⚙️ Parameters

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.syncs.create(...)

🔌 Usage

from scoutos import (
    CollectionDestination,
    Mapping,
    Scout,
    SourceSyncGoogleDriveSettings,
    SyncConfigInput,
)

client = Scout(
    api_key="YOUR_API_KEY",
)
client.syncs.create(
    sync_config=SyncConfigInput(
        source_settings=SourceSyncGoogleDriveSettings(),
        destination=CollectionDestination(
            collection_id="collection_id",
            table_id="table_id",
        ),
        mapping=Mapping(),
    ),
)

⚙️ Parameters

sync_config: SyncConfigInput

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.syncs.get(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.syncs.get(
    sync_id="sync_id",
)

⚙️ Parameters

sync_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.syncs.update(...)

🔌 Usage

from scoutos import (
    CollectionDestination,
    Mapping,
    Scout,
    SourceSyncGoogleDriveSettings,
    SyncConfigInput,
)

client = Scout(
    api_key="YOUR_API_KEY",
)
client.syncs.update(
    sync_id="sync_id",
    sync_config=SyncConfigInput(
        source_settings=SourceSyncGoogleDriveSettings(),
        destination=CollectionDestination(
            collection_id="collection_id",
            table_id="table_id",
        ),
        mapping=Mapping(),
    ),
)

⚙️ Parameters

sync_id: str

sync_config: SyncConfigInput

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.syncs.delete(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.syncs.delete(
    sync_id="sync_id",
)

⚙️ Parameters

sync_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.syncs.execute(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.syncs.execute(
    sync_id="sync_id",
)

⚙️ Parameters

sync_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Agents

client.agents.interact(...)

🔌 Usage

from scoutos import IncomingMessage, Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
response = client.agents.interact(
    agent_id="agent_id",
    session_id="session_id",
    messages=[
        IncomingMessage(
            content="content",
        )
    ],
)
for chunk in response.data:
    yield chunk

⚙️ Parameters

agent_id: str

messages: typing.Sequence[IncomingMessage] — List of incoming user messages and drive file references.

session_id: typing.Optional[str]

metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] — Optional metadata (e.g., salesforce_session)

callback_url: typing.Optional[str] — Optional callback URL. If provided, the interaction runs asynchronously and the response returns 202 with session_id + events_url.

revision_id: typing.Optional[str]

tags: typing.Optional[typing.Sequence[str]] — Optional tags for categorizing this interaction in observability history. Max 20 tags, each up to 32 lowercase alphanumeric characters plus ':', '_', '-'.

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.agents.interact_sync(...)

🔌 Usage

from scoutos import IncomingMessage, Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.agents.interact_sync(
    agent_id="agent_id",
    session_id="session_id",
    messages=[
        IncomingMessage(
            content="content",
        )
    ],
)

⚙️ Parameters

agent_id: str

messages: typing.Sequence[IncomingMessage] — List of incoming user messages and drive file references.

session_id: typing.Optional[str]

metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] — Optional metadata (e.g., salesforce_session)

callback_url: typing.Optional[str] — Optional callback URL. If provided, the interaction runs asynchronously and the response returns 202 with session_id + events_url.

revision_id: typing.Optional[str]

tags: typing.Optional[typing.Sequence[str]] — Optional tags for categorizing this interaction in observability history. Max 20 tags, each up to 32 lowercase alphanumeric characters plus ':', '_', '-'.

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.agents.interact_with_session(...)

🔌 Usage

from scoutos import IncomingMessage, Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
response = client.agents.interact_with_session(
    agent_id="agent_id",
    session_id="session_id",
    messages=[
        IncomingMessage(
            content="content",
        )
    ],
)
for chunk in response.data:
    yield chunk

⚙️ Parameters

agent_id: str

session_id: typing.Optional[str]

messages: typing.Sequence[IncomingMessage] — List of incoming user messages and drive file references.

metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] — Optional metadata (e.g., salesforce_session)

callback_url: typing.Optional[str] — Optional callback URL. If provided, the interaction runs asynchronously and the response returns 202 with session_id + events_url.

revision_id: typing.Optional[str]

tags: typing.Optional[typing.Sequence[str]] — Optional tags for categorizing this interaction in observability history. Max 20 tags, each up to 32 lowercase alphanumeric characters plus ':', '_', '-'.

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.agents.interact_sync_with_session(...)

🔌 Usage

from scoutos import IncomingMessage, Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.agents.interact_sync_with_session(
    agent_id="agent_id",
    session_id="session_id",
    messages=[
        IncomingMessage(
            content="content",
        )
    ],
)

⚙️ Parameters

agent_id: str

session_id: typing.Optional[str]

messages: typing.Sequence[IncomingMessage] — List of incoming user messages and drive file references.

metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] — Optional metadata (e.g., salesforce_session)

callback_url: typing.Optional[str] — Optional callback URL. If provided, the interaction runs asynchronously and the response returns 202 with session_id + events_url.

revision_id: typing.Optional[str]

tags: typing.Optional[typing.Sequence[str]] — Optional tags for categorizing this interaction in observability history. Max 20 tags, each up to 32 lowercase alphanumeric characters plus ':', '_', '-'.

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.agents.interact_async(...)

📝 Description

Dedicated handler for async agent interactions exposed via the SDK.

Requires callback_url and always returns 202 with session_id + events_url.

🔌 Usage

from scoutos import IncomingMessage, Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.agents.interact_async(
    agent_id="agent_id",
    session_id="session_id",
    messages=[
        IncomingMessage(
            content="content",
        )
    ],
    callback_url="callback_url",
)

⚙️ Parameters

agent_id: str

messages: typing.Sequence[IncomingMessage] — List of incoming user messages and drive file references.

callback_url: str — Callback URL that Scout will POST to when the interaction completes. The request is signed with HMAC-SHA256 using the organization's secret key.

session_id: typing.Optional[str]

metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] — Optional metadata (e.g., salesforce_session)

tags: typing.Optional[typing.Sequence[str]] — Optional tags for categorizing this interaction in observability history. Max 20 tags, each up to 32 lowercase alphanumeric characters plus ':', '_', '-'.

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.agents.interact_async_with_session(...)

📝 Description

Dedicated handler for async agent interactions exposed via the SDK.

Requires callback_url and always returns 202 with session_id + events_url.

🔌 Usage

from scoutos import IncomingMessage, Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.agents.interact_async_with_session(
    agent_id="agent_id",
    session_id="session_id",
    messages=[
        IncomingMessage(
            content="content",
        )
    ],
    callback_url="callback_url",
)

⚙️ Parameters

agent_id: str

session_id: typing.Optional[str]

messages: typing.Sequence[IncomingMessage] — List of incoming user messages and drive file references.

callback_url: str — Callback URL that Scout will POST to when the interaction completes. The request is signed with HMAC-SHA256 using the organization's secret key.

metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] — Optional metadata (e.g., salesforce_session)

tags: typing.Optional[typing.Sequence[str]] — Optional tags for categorizing this interaction in observability history. Max 20 tags, each up to 32 lowercase alphanumeric characters plus ':', '_', '-'.

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.agents.list()

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.agents.list()

⚙️ Parameters

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.agents.upsert(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.agents.upsert(
    agent="agent",
    revision="revision",
)

⚙️ Parameters

agent: str

revision: str

agent_id: typing.Optional[str]

activate: typing.Optional[bool]

agent_image: `from future import annotations

typing.Optional[core.File]` — See core.File for more documentation

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.agents.get(...)

📝 Description

Retrieve an agent and its active revision by agent_id. Verifies that the agent belongs to the actor's organization.

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.agents.get(
    agent_id="agent_id",
)

⚙️ Parameters

agent_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.agents.delete(...)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.agents.delete(
    agent_id="agent_id",
)

⚙️ Parameters

agent_id: str

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

Drive

client.drive.upload(...)

📝 Description

Upload one or more files to Drive.

  • files: the file uploads (multipart)
  • metadata: a JSON string containing a list of per-file metadata dicts, positionally aligned with files. Each dict may contain:
    • path — fully qualified destination path (takes precedence)
    • folder — destination folder
    • name — destination filename

Resolution logic for each file at index i:

  • If path is provided, use it as the fully qualified path
  • Else if folder and name are provided, combine as {folder}/{name}
  • Else if folder is provided, combine as {folder}/{upload_filename}
  • Else if name is provided, use /{name} (root)
  • Else fall back to None (domain default behavior)

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.drive.upload()

⚙️ Parameters

files: `from future import annotations

typing.List[core.File]` — See core.File for more documentation

metadata: typing.Optional[str]

request_options: typing.Optional[RequestOptions] — Request-specific configuration.

client.drive.download(...)

📝 Description

Download a single file from Drive.

Provide one of the following to identify the file:

  • path: fully qualified path (e.g., '/foo/bar/hello.txt')
  • name + folder: file name within a specific folder (e.g., name='hello.txt', folder='/foo/bar')

Returns the file content as a streaming binary response.

🔌 Usage

from scoutos import Scout

client = Scout(
    api_key="YOUR_API_KEY",
)
client.drive.download()

⚙️ Parameters

path: typing.Optional[str] — Fully qualified path to the file (e.g., '/foo/bar/hello.txt')

name: typing.Optional[str] — File name to search for (e.g., 'hello.txt')

folder: typing.Optional[str] — Folder to search within (e.g., '/foo/bar')

request_options: typing.Optional[RequestOptions] — Request-specific configuration. You can pass in configuration such as chunk_size, and more to customize the request and response.