PaginatedWorkspaceList
countNumber of workspaces
nextURL to the next page
previousURL to the previous page
Dashboard
dashboard_idDashboard ID
titleDashboard title
data_nameDashboard Data Type
DataSource
namestring identifier of datasource
titleData source title
categoriesList of categories that the data source belongs to
PaginatedDataSourceList
countNumber of datasources
nextURL to the next page
previousURL to the previous page
Connection
idConnection ID
uidConnection UID
titleConnection title
datasource_nameData source name
statusConnection status
created_atConnection creation date
updated_atConnection update date
accounts_numberTotal number of accounts available on this connection (excluding accounts disabled on the data source side).
enabled_for_extraction_accounts_numberNumber of accounts on this connection that are selected for extraction. Use this to detect connections that have no accounts enabled and prompt the user to select at least one before setting up extractions or loads.
accounts_statusAccounts status
update_accounts_last_successedLast successful accounts update date
update_accounts_was_successfullWas the last accounts update successful
PaginatedConnectionsList
countNumber of connections
nextURL to the next page
previousURL to the previous page
Account
idAccount ID
account_idRemote account ID
titleAccount title
currencyAccount currency
connection_idConnection ID
datasource_nameData source name
created_atAccount creation date
updated_atAccount update date
is_activeIs the account active
enabled_for_embedded_extractionIs the account enabled for embedded extraction
Data source-specific account item information
PaginatedAccountList
countNumber of accounts
nextURL to the next page
previousURL to the previous page
ExtractTemplateCreateRequest
parent_idID of the parent (global) extraction template to base this template on
titleTitle for the new template (must be unique within the agency)
descriptionDescription of the template (can be empty)
fieldsList of field names to include in the template
Extraction schedule configuration
additional_paramsAdditional parameters for the template (e.g. time_granularity)
hashed_fieldsList of field names to hash (optional)
historical_data_depth_limitLimit on historical data depth in days (optional, null for no limit)
connection_idConnection ID, required for wide report templates (parent has allow_to_select_dimensions or is_created_from_wide)
ExtractTemplate
idExtract Template ID
titleExtract Template title
descriptionExtract Template description
data_classData class
datasource_nameData source name
schedules_limitSchedules limit
PaginatedExtractTemplateList
countNumber of extract templates
nextURL to the next page
previousURL to the previous page
Scheduling
daysDay offset within the interval, starting from 0. The valid range depends on interval:
hour,day— must be 0week— 0–6 (day of week)month— 0–30 (day of month)
hoursHour at which the run will start (0–23)
minutesMinute of hour at which the run will start (0–59)
intervalFrequency at which the run will be performed:
hour— every hourday— once per dayweek— once per weekmonth— once per month
timezoneIANA timezone name (e.g. UTC, America/New_York) the schedule is interpreted in.
recurrenceHow often the schedule repeats within the interval. Defaults to 1.
Defines the period data will be extracted for. Applies to extract schedules only — ignored for load schedules.
Field
titleField title
nameField name
user_kindField kind
user_typeField type
selectedIs the field selected
can_editCan the field be edited
sql_nameSql Name of a Field
formatField format
is_dynamicIs the field dynamic
AdditionalParams
typeAdditional Params type
nameAdditional Params name
requiredIs the Additional Params required
titleAdditional Params title
descriptionAdditional Params description
paramsAdditional Params params
initial_valueAdditional Params initial value
Extract
idExtract ID
titleExtract title
connection_idConnection ID
account_idAccount ID
account_nameAccount name
created_atExtract creation date
last_syncLast sync date
statusExtract status
error_textError text
schedules_limitSchedules limit
sync_historical_dataStart date for historical data backfill (ISO date format, e.g. "2025-02-25"). Null if not set.
PaginatedExtractList
countNumber of extracts
nextURL to the next page
previousURL to the previous page
Destination
namestring identifier of destination
titleDestination title
infoDestination info
PaginatedDestinationList
countNumber of destinations
nextURL to the next page
previousURL to the previous page
DestinationConnection
idDestination Connection ID
Destination object
titleDestination Connection title
updated_atDestination Connection update date
statusDestination Connection status
error_textDestination Connection error text
is_editableIs the Destination Connection editable
create_load_for_new_tablesCreate load for new tables
PaginatedDestinationConnectionList
countNumber of destination connections
nextURL to the next page
previousURL to the previous page
DataTable
idData Table ID
titleData Table title
datasource_nameData source name
TableField
kindField kind
titleField title
sql_nameSQL name
field_typeField type
formatField format
is_dynamicIs the field dynamic
is_selectedIs the field selected
DataTableDetail
titleData Table title
freshnessData Table freshness date
datasource_nameData source name
report_typeReport type
data_classData class
workspaceWorkspace ID
sql_nameSQL name
auto_extract_new_accountsAuto extract new accounts
Fields object
PaginatedDataTableList
countNumber of data tables
nextURL to the next page
previousURL to the previous page
Load
idLoad ID
Data Table object
destination_tableDestination table name
run_policyLoad run policy
statusLoad status
last_updateLast update date
error_textError text
uploaded_rows_countNumber of uploaded rows
PaginatedLoadList
countNumber of loads
nextURL to the next page
previousURL to the previous page
List of Loads
ExtractTemplatePreviewRequest
connection_idConnection ID to use for the preview.
Custom settings for the extraction.
fieldsList of fields to include in the preview.
dynamic_fieldsList of dynamic fields to include.
accountsList of account IDs.
custom_filtersCustom filters to apply. Null if no filters.
CustomSettingOptionsRequest
template_idExtraction template ID whose custom setting is being resolved.
connection_idConnection ID used to resolve credentials and scope accounts.
account_idsRemote account IDs from the source platform, scoped by connection_id. These are the same string account IDs used by extraction template preview.
custom_setting_nameCustom setting name from the extraction template.
search_queryOptional case-insensitive search query applied to loaded options.
pagePage number for paginated options.
page_sizeNumber of options to return per account.
CustomSettingOption
valueValue that should be submitted as the custom setting value.
labelHuman-readable option label.
descriptionOptional extra text that can be shown in the UI.
CustomSettingOptionsAccountResult
account_idRemote account ID from the request.
countTotal number of options after the search filter is applied.
nextNext page number as a string, or null if this is the last page.
previousPrevious page number as a string, or null if this is the first page.
Page of selectable options for this account.
search_appliedWhether a non-empty search query was applied.
CustomSettingOptionsResponse
custom_setting_nameCustom setting name from the request.
Role
idRole ID
titleRole title (unique within the agency)
descriptionOptional human-readable description
is_systemTrue for built-in Improvado-managed roles. Read-only — cannot be edited or deleted.
is_internalTrue for internal-only roles (impersonation, guest viewers). These are never listed in the API.
Permissions grouped by product layer. Layer codes match code in the permissions catalog.
user_countNumber of users currently assigned to this role across the agency.
RoleListResponse
RoleWriteRequest
titleRole title. Must be non-empty and unique within the agency.
Permissions grouped by product layer. Use codes from GET /api/v3/roles/permissions.
descriptionOptional description.
DeleteRoleResponse
reassigned_users_countNumber of users that were reassigned to the Viewer system role as part of the delete.
CatalogPermission
codePermission code (stable identifier, e.g. view, create, manage_roles).
titleHuman-readable title.
descriptionLonger description suitable for tooltips.
CatalogLayer
codeProduct layer code (stable identifier, e.g. extract, admin).
titleHuman-readable layer name.
descriptionLayer description suitable for headers/tooltips.
PermissionsCatalogResponse
Ordered list of product layers with their valid permissions.
RoleUser
user_idnameDisplay name. Falls back to email if first/last name are blank.
emailworkspace_idworkspace_titleRoleUsersResponse
AutomatedRecipeTemplateDataSource
nameData source identifier
titleData source display name
AutomatedRecipeTemplate
idTemplate ID
titleTemplate title
descriptionTemplate description
List of data sources used by this template
created_atTemplate creation timestamp
updated_atTemplate last update timestamp
PaginatedAutomatedRecipeTemplateList
countTotal number of templates
nextURL to the next page
previousURL to the previous page
AutomatedRecipeTemplateTreeNode
idNode ID
titleNode title
levelDepth level in the tree (0 = root)
parent_idParent node ID (absent for root)
AutomatedRecipeTemplateTreeStructure
Node in the template dependency tree
AutomatedRecipeTemplateDetail
idTemplate ID
titleTemplate title
descriptionTemplate description
List of data sources used by this template
Tree structure showing template dependencies
dependencies_countNumber of dependencies in the template
created_atTemplate creation timestamp
updated_atTemplate last update timestamp
AutomatedRecipe
recipe_idUnique recipe identifier (numeric string)
template_idID of the template this recipe was created from
template_titleTitle of the source template
titleRecipe title
stateCurrent recipe state
workspace_idWorkspace ID
created_atRecipe creation timestamp
updated_atRecipe last update timestamp
PaginatedAutomatedRecipeList
countTotal number of recipes
nextURL to the next page
previousURL to the previous page
AutomatedRecipeCreateResponse
recipe_idUnique recipe identifier (numeric string)
template_idID of the template this recipe was created from
titleRecipe title
stateInitial recipe state (typically "Extracting Data")
AutomatedRecipeConnectionAccount
idAccount ID
account_idExternal account identifier
AutomatedRecipeConnection
connection_idConnection ID
connection_data_sourceData source name for this connection
List of accounts for this connection
AutomatedRecipeDetail
recipe_idUnique recipe identifier (numeric string)
template_idID of the template this recipe was created from
datatable_idAssociated data table ID (null if not yet created)
titleRecipe title
stateCurrent recipe state
data_sourcesList of configured data source names
allowed_data_sourcesList of allowed data source names for this recipe
List of configured connections
sync_from_dateStart date for data synchronization
last_build_atLast successful build timestamp
created_atRecipe creation timestamp
updated_atRecipe last update timestamp
AutomatedRecipeUpdateRequest
data_sourcesList of data source names to include
List of connections with accounts
sync_from_dateStart date for data synchronization (YYYY-MM-DD)
AutomatedRecipeBuildResponse
statusBuild operation status
messageHuman-readable status message
WebhookSubscription
idSubscription ID
event_type_nameName of the event type this subscription receives
is_activeWhether the subscription is active
created_atWhen the subscription was created
WebhookEndpointListItem
idWebhook endpoint ID
urlReceiver URL
statusEndpoint lifecycle status. unverified endpoints do not receive event deliveries.
consecutive_failuresNumber of consecutive failed deliveries since the last successful delivery
subscriptions_countNumber of event types this endpoint is subscribed to
created_atupdated_atWebhookEndpointDetail
idurlsecret64-character hex signing secret
statusconsecutive_failurescreated_atupdated_atWebhookEndpointCreateRequest
urlHTTPS URL of the receiver that will accept event deliveries.
event_typesEvent types this endpoint will subscribe to. See GET /api/v3/webhook_event_types/ for the list of
available event names. Duplicates are deduplicated server-side. May be empty.

