Civis API Python Client

The Civis API Python client is a Python package that helps analysts and developers interact with the Civis Platform. The package includes a set of tools around common workflows as well as a convenient interface to make requests directly to the Civis API.

Installation

The recommended install method is pip:

pip install civis

Alternatively, you may clone the code from github and build from source:

git clone https://github.com/civisanalytics/civis-python.git
cd civis-python
python setup.py install

The client has a soft dependency on pandas to support features such as data type parsing. If you are using the io namespace to read or write data from Civis, it is highly recommended that you install pandas and set use_pandas=True in functions that accept that parameter. To install pandas:

pip install pandas

Authentication

In order to make requests to the Civis API, you will need an API key that is unique to you. Instructions for creating a new key are found here: https://civis.zendesk.com/hc/en-us/articles/216341583-Generating-an-API-Key. By default, the Python client will look for your key in the environment variable CIVIS_API_KEY. To add the API key to your environment, copy the key you generated to your clipboard and follow the instructions below for your operating system.

Mac

Open .bash_profile in TextEdit:

cd ~/
touch .bash_profile
open -e .bash_profile

Then add the following line, replacing api_key_here with your key:

export CIVIS_API_KEY="api_key_here"

Linux

Open .bash_profile in your favorite editor (nano is used here):

cd ~/
nano .bash_profile

Then add the following line, replacing api_key_here with your key:

export CIVIS_API_KEY="api_key_here"

User Guide

For a more detailed walkthrough, see the User Guide.

Client API Reference

User Guide

Getting Started

After installing the Civis API Python client and setting up your API key, you can now import the package civis:

>>> import civis

There are two entrypoints for working with the Civis API. The first is the civis namespace, which contains tools for typical workflows in a user friendly manner. For example, you may want to perform some transformation on your data in Python that might be tricky to code in SQL. This code downloads data from Civis, calculates the correlation between all the columns and then uploads the data back into Civis:

>>> df = civis.io.read_civis(table="my_schema.my_table",
...                          database="database",
...                          use_pandas=True)
>>> correlation_matrix = df.corr()
>>> correlation_matrix["corr_var"] = correlation_matrix.index
>>> poller = civis.io.dataframe_to_civis(df=correlation_matrix,
...                                      database="database",
...                                      table="my_schema.my_correlations")
>>> poller.result()

Pollable Results

In the code above, dataframe_to_civis() returns a special PollableResult object. Making a request to the Civis API usually results in a long running job. To account for this, various functions in the civis namespace return a PollableResult to allow you to process multiple long running jobs simultaneously. For instance, you may want to start many jobs in parallel and wait for them all to finish rather than wait for each job to finish before starting the next one.

The PollableResult follows the concurrent.futures.Future API fairly closely. For example, calling result() on poller above forces the program to wait for the job started with dataframe_to_civis() to finish and returns the result.

Working Directly with the Client

Although many common workflows are included in the Civis API Python client, projects often require direct calls to the Civis API. For convenience, the Civis API Python client implements an APIClient object to make these API calls with Python syntax rather than a manually crafted HTTP request. To make a call, first instantiate an APIClient object:

>>> client = civis.APIClient()

Note

Creating an instance of APIClient makes an HTTP request to determine the functions to attach to the object. You must have an API key and internet connection to create an APIClient object. By default, the functions attached to the object come from a base set of Civis API endpoints. Based on your user profile, you may have access to a set of developmental endpoints. To access these, instantiate the client with client = civis.APIClient(resources='all').

With the client object instantiated, you can now make API requests like listing your user information:

>>> client.users.list_me()
{'email': 'user@email.com',
 'feature_flags': {'left_nav_basic': True,
                   'results': True,
                   'scripts_notify': True,
                   'table_person_matching': True},
 'id': 1,
 'initials': 'UN',
 'name': 'User Name',
 'username': 'uname'}

Suppose we did not have the civis.io namespace. This is how we might export a CSV file from Civis. As you will see, this can be quite involved and the civis namespace entrypoint should be preferred whenever possible.

First, we get the ID for our database then we get the default credential for the current user.

>>> db_id = client.get_database_id('cluster-name')
>>> cred_id = client.default_credential

In order to export a table, we need to write some SQL that will generate the data to export. Then we create the export job and run it.

>>> generate_table = "select * from schema.tablename"
>>> export_job = client.scripts.post_sql(name="our export job",
                                         remote_host_id=db_id,
                                         credential_id=cred_id,
                                         sql=generate_table)
>>> export_run = client.scripts.post_sql_runs(export_job.id)

We can then poll and wait for the export to be completed.

>>> import time
>>> export_state = client.scripts.get_sql_runs(export_job.id,
...                                            export_run.id)
>>> while export_state.state in ['queued', 'running']:
...    time.sleep(60)
...    export_state = client.scripts.get_sql_runs(export_job.id,
...                                               export_run.id)

Now, we can get the URL of the exported csv. First, we grab the result of our export job.

>>> export_result = client.scripts.get_sql_runs(export_job.id,
...                                             export_run.id)

In the future, a script may export multiple jobs, so the output of this is a list.

The path returned will have a gzipped csv file, which we could load, for example, with pandas.

>>> url = export_result.output[0].path

Data Import and Export

The civis.io namespace provides several functions for moving data in and out of Civis.

Tables

Often, your data will be in structured format like a table in a relational database, a CSV or a dataframe. The following functions handle moving structured data to and from Civis. When using these functions, it is recommended to have pandas installed and to pass use_pandas=True in the appropriate functions. If pandas is not installed, data returned from Civis will all be treated as strings.

civis_to_csv(filename, sql, database[, ...]) Export data from Civis to a local CSV file.
csv_to_civis(filename, database, table[, ...]) Upload the contents of a local CSV file to Civis.
dataframe_to_civis(df, database, table[, ...]) Upload a pandas DataFrame into a Civis table.
read_civis(table, database[, columns, ...]) Read data from a Civis table.
read_civis_sql(sql, database[, use_pandas, ...]) Read data from Civis using a custom SQL string.

Files

These functions will pass flat files to and from Civis. This is useful if you have data stored in binary or JSON format. Any type of file can be stored in platform via the files endpoint.

civis_to_file(file_id, buf[, api_key]) Download a file from Civis.
file_to_civis(buf, name[, api_key]) Upload a file to Civis.

Databases

These functions move data from one database to another and expose an interface to run SQL in the database. Use query_civis() when you need to execute SQL that does not return data (for example, a GRANT or DROP TABLE statement).

transfer_table(source_db, dest_db, ...[, ...]) Transfer a table from one location to another.
query_civis(sql, database[, api_key, ...]) Execute a SQL statement as a Civis query.

API Client

APIClient is a class for handling requests to the Civis API. An instantiated APIClient contains a set of resources (listed below) where each resource is an object with methods. By convention, an instantiated APIClient object is named client and API requests are made with the following syntax:

client = civis.APIClient()
response = client.resource.method(params)
class civis.APIClient(api_key=None, return_type='snake', retry_total=6, api_version='1.0', resources='base')

The Civis API client.

Parameters:

api_key : str, optional

Your API key obtained from the Civis Platform. If not given, the client will use the CIVIS_API_KEY environment variable.

return_type : str, optional

The following types are implemented:

retry_total : int, optional

A number indicating the maximum number of retries for 429, 502, 503, or 504 errors.

api_version : string, optional

The version of endpoints to call. May instantiate multiple client objects with different versions. Currently only “1.0” is supported.

resources : string, optional

When set to “base”, only the default endpoints will be exposed in the client object. Set to “all” to include all endpoints available for a given user, including those that may be in development and subject to breaking changes at a later date.

Attributes

credentials An instance of the Credentials endpoint
databases An instance of the Databases endpoint
files An instance of the Files endpoint
imports An instance of the Imports endpoint
jobs An instance of the Jobs endpoint
models An instance of the Models endpoint
predictions An instance of the Predictions endpoint
projects An instance of the Projects endpoint
queries An instance of the Queries endpoint
reports An instance of the Reports endpoint
scripts An instance of the Scripts endpoint
tables An instance of the Tables endpoint
users An instance of the Users endpoint
default_credential

The current user’s default credential.

get_aws_credential_id(cred_name, owner=None)

Find an AWS credential ID.

Parameters:

cred_name : str or int

If an integer ID is given, this passes through directly. If a str is given, return the ID corresponding to the AWS credential with that name.

owner : str, optional

Return the credential with this owner. If not provided, search for credentials under your username to disambiguate multiple credentials with the same name. Note that this function cannot return credentials which are not associated with an owner.

Returns:

aws_credential_id : int

The ID number of the AWS credentials.

Raises:

ValueError

If the AWS credential can’t be found.

Examples

>>> import civis
>>> client = civis.APIClient()
>>> client.get_aws_credential_id('jsmith')
1234
>>> client.get_aws_credential_id(1111)
1111
>>> client.get_aws_credential_id('shared-cred',
...                              owner='research-group')
99
get_database_credential_id(username, database_name)

Return the credential ID for a given username in a given database.

Parameters:

username : str or int

If an integer ID is given, this passes through directly. If a str is given, return the ID corresponding to the database credential with that username.

database_name : str or int

Return the ID of the database credential with username username for this database name or ID.

Returns:

database_credential_id : int

The ID of the database credentials.

Raises:

ValueError

If the credential can’t be found.

Examples

>>> import civis
>>> client = civis.APIClient()
>>> client.get_database_credential_id('jsmith', 'redshift-general')
1234
>>> client.get_database_credential_id(1111, 'redshift-general')
1111
get_database_id(database)

Return the database ID for a given database name.

Parameters:

database : str or int

If an integer ID is given, passes through. If a str is given the database ID corresponding to that database name is returned.

Returns:

database_id : int

The ID of the database.

Raises:

ValueError

If the database can’t be found.

get_table_id(table, database)

Return the table ID for a given database and table name.

Parameters:

table : str

The name of the table in format schema.table.

database : str or int

The name or ID of the database.

Returns:

table_id : int

The ID of the table. Only returns exact match to specified table.

Raises:

ValueError

If an exact table match can’t be found.

username

The current user’s username.

API Response Types

class civis.response.Response(json_data, snake_case=True, headers=None)

Custom Civis response object.

Notes

The main features of this class are that it maps camelCase to snake_case at the top level of the json object and attaches keys as attributes. Nested object keys are not changed.

Attributes

json_data (dict | None) This is json_data as it is originally returned to the user without the key names being changed. See Notes. None is used if the original response returned a 204 No Content response.
headers (dict) This is the header for the API call without changing the key names.
calls_remaining (int) Number of API calls remaining before rate limit is reached.
rate_limit (int) Total number of calls per API rate limit period.
class civis.response.PaginatedResponse(path, initial_params, endpoint)

A response object that supports iteration.

Parameters:

path : str

Make GET requests to this path.

initial_params : dict

Query params that should be passed along with each request. Note that if initial_params contains the keys page_num or limit, they will be ignored. The given dict is not modified.

endpoint : civis.base.Endpoint

An endpoint used to make API requests.

Notes

This response is returned automatically by endpoints which support pagination when the iterator kwarg is specified.

Examples

>>> client = civis.APIClient()
>>> queries = client.queries.list(iterator=True)
>>> for query in queries:
...    print(query['id'])
class civis.polling.PollableResult(poller, poller_args, polling_interval=15, api_key=None)

Bases: civis.base.CivisAsyncResultBase

A class for tracking pollable results.

This class will begin polling immediately upon creation, and poll for job completion once every polling_interval seconds until the job completes in Civis.

Parameters:

poller : func

A function which returns an object that has a state attribute.

poller_args : tuple

The arguments with which to call the poller function.

polling_interval : int or float

The number of seconds between API requests to check whether a result is ready.

api_key : str, optional

This is not used by PollableResult, but is required to match the interface from CivisAsyncResultBase.

Examples

>>> client = civis.APIClient()
>>> database_id = client.get_database_id("my_database")
>>> cred_id = client.default_credential
>>> sql = "SELECT 1"
>>> preview_rows = 10
>>> response = client.queries.post(database_id, sql, preview_rows,
>>>                                credential=cred_id)
>>> job_id = response.id
>>>
>>> poller = client.queries.get
>>> poller_args = (job_id, ) # (job_id, run_id) if poller requires run_id
>>> polling_interval = 10
>>> poll = PollableResult(poller, poller_args, polling_interval)

API Resources

Credentials
class Credentials(session, return_type='civis')

Methods

get(id) Get a credential
list(**kwargs) List credentials
post(username, type, password, **kwargs) Create or update a credential
post_authenticate(username, url, ...) Authenticate against a remote host
post_temporary(id, **kwargs) Generate a temporary credential for accessing S3
put(id, username, type, password, **kwargs) Update an existing credential
get(id)

Get a credential

Parameters:

id : integer

The ID of the credential.

Returns:

owner : string

The name of the user who this credential belongs to.

id : integer

The ID of the credential.

username : string

The username for the credential.

name : string

The name identifying the credential

remote_host_name : string

The name of the remote host associated with this credential.

description : string

A long description of the credential.

created_at : string/time

The creation time for this credential.

updated_at : string/time

The last modification time for this credential.

remote_host_id : integer

The ID of the remote host associated with this credential.

type : string

The credential’s type.

list(**kwargs)

List credentials

Parameters:

type : string, optional

The type (or types) of credentials to return. One or more of: Amazon Web Services S3, BSD::API, CASS/NCOA PAF, Catalist::API, Catalist::SFTP, Certificate, Civis Platform, Custom, Database, Google, Github, JobTraits::Ftp, Salesforce User, Salesforce Client, Silverpop Application, Silverpop Refresh Token, Silverpop User, TableauUser, VAN::MyVoterFile, VAN::MyCampaign, and VAN::BothModes. Specify multiple values as a comma- separated list (e.g., “A,B”).

default : boolean, optional

If true, will return a list with a single credential which is the current user’s default credential.

limit : integer, optional

Number of results to return. Defaults to its maximum of 1000.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to updated_at. Must be one of: updated_at, created_at, name.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to desc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

owner : string

The name of the user who this credential belongs to.

id : integer

The ID of the credential.

username : string

The username for the credential.

name : string

The name identifying the credential

remote_host_name : string

The name of the remote host associated with this credential.

description : string

A long description of the credential.

created_at : string/time

The creation time for this credential.

updated_at : string/time

The last modification time for this credential.

remote_host_id : integer

The ID of the remote host associated with this credential.

type : string

The credential’s type.

post(username, type, password, **kwargs)

Create or update a credential

Parameters:

username : string

The username for the credential.

type : string

password : string

The password for the credential.

remote_host : dict, optional:

- url : string
    The URL to your host.
- name : string
    The human readable name for the remote host.
- type : string
    The type of remote host. One of: RemoteHostTypes::BSD,
    RemoteHostTypes::Ftp, RemoteHostTypes::Github,
    RemoteHostTypes::GoogleDoc, RemoteHostTypes::JDBC,
    RemoteHostTypes::Redshift, RemoteHostTypes::Salesforce, and
    RemoteHostTypes::Van

name : string, optional

The name identifying the credential.

description : string, optional

A long description of the credential.

remote_host_id : integer, optional

The ID of the remote host associated with the credential.

Returns:

owner : string

The name of the user who this credential belongs to.

id : integer

The ID of the credential.

username : string

The username for the credential.

name : string

The name identifying the credential

remote_host_name : string

The name of the remote host associated with this credential.

description : string

A long description of the credential.

created_at : string/time

The creation time for this credential.

updated_at : string/time

The last modification time for this credential.

remote_host_id : integer

The ID of the remote host associated with this credential.

type : string

The credential’s type.

post_authenticate(username, url, remote_host_type, password)

Authenticate against a remote host

Parameters:

username : string

The username for the credential.

url : string

The URL to your host.

remote_host_type : string

The type of remote host. One of: RemoteHostTypes::BSD, RemoteHostTypes::Ftp, RemoteHostTypes::Github, RemoteHostTypes::GoogleDoc, RemoteHostTypes::JDBC, RemoteHostTypes::Redshift, RemoteHostTypes::Salesforce, and RemoteHostTypes::Van

password : string

The password for the credential.

Returns:

owner : string

The name of the user who this credential belongs to.

id : integer

The ID of the credential.

username : string

The username for the credential.

name : string

The name identifying the credential

remote_host_name : string

The name of the remote host associated with this credential.

description : string

A long description of the credential.

created_at : string/time

The creation time for this credential.

updated_at : string/time

The last modification time for this credential.

remote_host_id : integer

The ID of the remote host associated with this credential.

type : string

The credential’s type.

post_temporary(id, **kwargs)

Generate a temporary credential for accessing S3

Parameters:

id : integer

The ID of the credential.

duration : integer, optional

The number of seconds the temporary credential should be valid. Defaults to 15 minutes. Must not be less than 15 minutes or greater than 36 hours.

Returns:

access_key : string

The identifier of the credential.

secret_access_key : string

The secret part of the credential.

session_token : string

The session token identifier.

put(id, username, type, password, **kwargs)

Update an existing credential

Parameters:

id : integer

The ID of the credential.

username : string

The username for the credential.

type : string

password : string

The password for the credential.

remote_host : dict, optional:

- url : string
    The URL to your host.
- name : string
    The human readable name for the remote host.
- type : string
    The type of remote host. One of: RemoteHostTypes::BSD,
    RemoteHostTypes::Ftp, RemoteHostTypes::Github,
    RemoteHostTypes::GoogleDoc, RemoteHostTypes::JDBC,
    RemoteHostTypes::Redshift, RemoteHostTypes::Salesforce, and
    RemoteHostTypes::Van

name : string, optional

The name identifying the credential.

description : string, optional

A long description of the credential.

remote_host_id : integer, optional

The ID of the remote host associated with the credential.

Returns:

owner : string

The name of the user who this credential belongs to.

id : integer

The ID of the credential.

username : string

The username for the credential.

name : string

The name identifying the credential

remote_host_name : string

The name of the remote host associated with this credential.

description : string

A long description of the credential.

created_at : string/time

The creation time for this credential.

updated_at : string/time

The last modification time for this credential.

remote_host_id : integer

The ID of the remote host associated with this credential.

type : string

The credential’s type.

Databases
class Databases(session, return_type='civis')

Methods

delete_whitelist_ips(id, whitelisted_ip_id) Remove a whitelisted IP address
get_whitelist_ips(id, whitelisted_ip_id) View details about a whitelisted IP
list() List databases
list_schemas(id) List schemas in this database
list_whitelist_ips(id) List whitelisted IPs for the specified database
post_whitelist_ips(id, subnet_mask) Whitelist an IP address
delete_whitelist_ips(id, whitelisted_ip_id)

Remove a whitelisted IP address

Parameters:

id : integer

The ID of the database this rule is applied to.

whitelisted_ip_id : integer

The ID of this whitelisted IP address.

Returns:

None

Response code 204: success

get_whitelist_ips(id, whitelisted_ip_id)

View details about a whitelisted IP

Parameters:

id : integer

The ID of the database this rule is applied to.

whitelisted_ip_id : integer

The ID of this whitelisted IP address.

Returns:

is_active : boolean

True if the rule is applied, false if it has been revoked.

id : integer

The ID of this whitelisted IP address.

authorized_by : string

The user who authorized this rule.

security_group_id : string

The ID of the security group this rule is applied to.

created_at : string/time

The time this rule was created.

subnet_mask : string

The subnet mask that is allowed by this rule.

updated_at : string/time

The time this rule was last updated.

remote_host_id : integer

The ID of the database this rule is applied to.

list()

List databases

Returns:

id : integer

The ID for the database.

name : string

The name of the database.

list_schemas(id)

List schemas in this database

Parameters:

id : integer

The ID of the database.

Returns:

schema : string

The name of a schema.

list_whitelist_ips(id)

List whitelisted IPs for the specified database

Parameters:

id : integer

The ID for the database.

Returns:

id : integer

The ID of this whitelisted IP address.

security_group_id : string

The ID of the security group this rule is applied to.

created_at : string/time

The time this rule was created.

subnet_mask : string

The subnet mask that is allowed by this rule.

updated_at : string/time

The time this rule was last updated.

remote_host_id : integer

The ID of the database this rule is applied to.

post_whitelist_ips(id, subnet_mask)

Whitelist an IP address

Parameters:

id : integer

The ID of the database this rule is applied to.

subnet_mask : string

The subnet mask that is allowed by this rule.

Returns:

is_active : boolean

True if the rule is applied, false if it has been revoked.

id : integer

The ID of this whitelisted IP address.

authorized_by : string

The user who authorized this rule.

security_group_id : string

The ID of the security group this rule is applied to.

created_at : string/time

The time this rule was created.

subnet_mask : string

The subnet mask that is allowed by this rule.

updated_at : string/time

The time this rule was last updated.

remote_host_id : integer

The ID of the database this rule is applied to.

Files
class Files(session, return_type='civis')

Methods

delete_projects(id, project_id) Remove a Data::S3File from a project
delete_shares_groups(id, group_id) Revoke the permissions a group has on this object
delete_shares_users(id, user_id) Revoke the permissions a user has on this object
get(id) Get details about a file
list_projects(id) List the projects a Data::S3File belongs to
list_shares(id) List users and groups permissioned on this object
post(name, **kwargs) Initiate an upload of a file into the platform
put_projects(id, project_id) Add a Data::S3File to a project
put_shares_groups(id, group_ids, ...) Set the permissions groups has on this object
put_shares_users(id, user_ids, permission_level) Set the permissions users have on this object
delete_projects(id, project_id)

Remove a Data::S3File from a project

Parameters:

id : integer

ID of the resource

project_id : integer

The ID of the project

Returns:

None

Response code 204: success

delete_shares_groups(id, group_id)

Revoke the permissions a group has on this object

Parameters:

id : integer

ID of the resource to be revoked

group_id : integer

ID of the group

Returns:

None

Response code 204: success

delete_shares_users(id, user_id)

Revoke the permissions a user has on this object

Parameters:

id : integer

ID of the resource to be revoked

user_id : integer

ID of the user

Returns:

None

Response code 204: success

get(id)

Get details about a file

Parameters:

id : integer

The ID of the file object.

Returns:

id : integer

The ID of the file object.

name : string

The file name.

created_at : string/date-time

The date and time the file was created.

file_url : string

The URL that may be used to download the file.

file_size : integer

The file size.

expires_at : string/date-time

The date and time the file will expire. If not specified, the file will expire in 30 days. To keep a file indefinitely, specify null.

download_url : string

A JSON string containing information about the URL of the file.

list_projects(id)

List the projects a Data::S3File belongs to

Parameters:

id : integer

The ID of the resource.

Returns:

id : integer

The ID for this project.

name : string

The name of this project.

auto_share : boolean

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

description : string

A description of the project

users : list:

Users who can see the project
- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

archived : string

The archival status of the requested object(s).

created_at : string/time

updated_at : string/time

list_shares(id)

List users and groups permissioned on this object

Parameters:

id : integer

The ID of the object.

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
post(name, **kwargs)

Initiate an upload of a file into the platform

Parameters:

name : string

The file name.

expires_at : string/date-time, optional

The date and time the file will expire. If not specified, the file will expire in 30 days. To keep a file indefinitely, specify null.

Returns:

id : integer

The ID of the file object.

name : string

The file name.

upload_url : string

The URL that may be used to upload a file. To use the upload URL, initiate a POST request to the given URL with the file you wish to import as the “file” form field.

created_at : string/date-time

The date and time the file was created.

upload_fields : dict

A hash containing the form fields to be included with the POST request.

file_size : integer

The file size.

expires_at : string/date-time

The date and time the file will expire. If not specified, the file will expire in 30 days. To keep a file indefinitely, specify null.

put_projects(id, project_id)

Add a Data::S3File to a project

Parameters:

id : integer

ID of the resource

project_id : integer

The ID of the project

Returns:

None

Response code 204: success

put_shares_groups(id, group_ids, permission_level)

Set the permissions groups has on this object

Parameters:

id : integer

ID of the resource to be shared

group_ids : list

An array of one or more group IDs

permission_level : string

Options are: “read”, “write”, or “manage”

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
put_shares_users(id, user_ids, permission_level)

Set the permissions users have on this object

Parameters:

id : integer

ID of the resource to be shared

user_ids : list

An array of one or more user IDs

permission_level : string

Options are: “read”, “write”, or “manage”

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
Imports
class Imports(session, return_type='civis')

Methods

delete_files_runs(id, run_id) Cancel a run
delete_projects(id, project_id) Remove a JobTypes::Import from a project
delete_shares_groups(id, group_id) Revoke the permissions a group has on this object
delete_shares_users(id, user_id) Revoke the permissions a user has on this object
delete_syncs(id, sync_id) Delete a sync
get(id) Get details about an import
get_batches(id) Get details about a batch import
get_files_runs(id, run_id) Check status of a run
list(**kwargs) List imports
list_batches(**kwargs) List batch imports
list_files_runs(id, **kwargs) List runs for the given import
list_projects(id) List the projects a JobTypes::Import belongs to
list_runs(id) Get the run history of this import
list_shares(id) List users and groups permissioned on this object
post(name, is_outbound, sync_type, **kwargs) Create a new import configuration
post_batches(schema, table, file_ids, ...) Upload multiple files to Redshift
post_cancel(id) Cancel a run
post_files(schema, name, remote_host_id, ...) Initate an import of a tabular file into the platform
post_files_runs(id) Start a run
post_runs(id) Run an import
post_syncs(id, destination, source, **kwargs) Create a sync
put(id, name, is_outbound, sync_type, **kwargs) Update an import
put_archive(id, status) Update the archive status of this object
put_projects(id, project_id) Add a JobTypes::Import to a project
put_shares_groups(id, group_ids, ...) Set the permissions groups has on this object
put_shares_users(id, user_ids, permission_level) Set the permissions users have on this object
put_syncs(id, sync_id, destination, source, ...) Update a sync
delete_files_runs(id, run_id)

Cancel a run

Parameters:

id : integer

The ID of the import.

run_id : integer

The ID of the run.

Returns:

None

Response code 202: success

delete_projects(id, project_id)

Remove a JobTypes::Import from a project

Parameters:

id : integer

ID of the resource

project_id : integer

The ID of the project

Returns:

None

Response code 204: success

delete_shares_groups(id, group_id)

Revoke the permissions a group has on this object

Parameters:

id : integer

ID of the resource to be revoked

group_id : integer

ID of the group

Returns:

None

Response code 204: success

delete_shares_users(id, user_id)

Revoke the permissions a user has on this object

Parameters:

id : integer

ID of the resource to be revoked

user_id : integer

ID of the user

Returns:

None

Response code 204: success

delete_syncs(id, sync_id)

Delete a sync

Parameters:

id : integer

The ID of the import to fetch.

sync_id : integer

The ID of the sync to fetch.

Returns:

None

Response code 204: success

get(id)

Get details about an import

Parameters:

id : integer

The ID for the import.

Returns:

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

name : string

The name of the import.

is_outbound : boolean

state : string

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

source : dict:

- credential_id : integer
- name : string
- remote_host_id : integer
- additional_credentials : list
    Array that holds additional credentials used for specific imports. For
    salesforce imports, the first and only element is the client credential
    id.

parent_id : integer

Parent id to trigger this import from

updated_at : string/date-time

syncs : list:

List of syncs.
- id : integer
- source : dict::
    - id : integer
        The ID of the table or file, if available.
    - path : string
        The path of the dataset to sync from; for a database source,
        schema.tablename.
- advanced_options : dict::
    - partition_table_partition_column_max_name : string
    - truncate_long_lines : boolean
    - partition_column_name : string
    - partition_table_name : string
    - wipe_destination_table : boolean
    - first_row_is_header : boolean
    - max_errors : integer
    - export_action : string
    - identity_column : string
    - column_delimiter : string
    - partition_schema_name : string
    - sortkey1 : string
    - partition_table_partition_column_min_name : string
    - verify_table_row_counts : boolean
    - existing_table_rows : string
    - sortkey2 : string
    - distkey : string
    - row_chunk_size : integer
    - last_modified_column : string
    - sql_query : string
    - contact_lists : string
    - soql_query : string
    - mysql_catalog_matches_schema : boolean
    - invalid_char_replacement : string
- destination : dict::
    - path : string
        The schema.tablename to sync to.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

user : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

created_at : string/date-time

archived : string

The archival status of the requested object(s).

destination : dict:

- credential_id : integer
- name : string
- remote_host_id : integer
- additional_credentials : list
    Array that holds additional credentials used for specific imports. For
    salesforce imports, the first and only element is the client credential
    id.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

time_zone : string

The time zone of this import.

id : integer

The ID for the import.

next_run_at : string/time

The time of the next scheduled run.

sync_type : string

The type of sync to perform; one of Dbsync, AutoImport, SilverpopDataImport, SilverpopContactImport, GdocImport, GdocExport, and Salesforce.

get_batches(id)

Get details about a batch import

Parameters:

id : integer

The ID for the import.

Returns:

id : integer

The ID for the import.

schema : string

The destination schema name. This schema must already exist in Redshift.

error : string

The error returned by the run, if any.

finished_at : string/time

The time the last run completed.

state : string

The state of the run; one of “queued”, “running”, “succeeded”, “failed”, or “cancelled”.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

table : string

The destination table name, without the schema prefix. This table must already exist in Redshift.

started_at : string/time

The time the last run started at.

remote_host_id : integer

The ID of the destination database host.

get_files_runs(id, run_id)

Check status of a run

Parameters:

id : integer

The ID of the import.

run_id : integer

The ID of the run.

Returns:

id : integer

The ID of the run.

import_id : integer

The ID of the import.

is_cancel_requested : boolean

True if run cancel requested, else false.

finished_at : string/time

The time the last run completed.

state : string

The state of the run, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

started_at : string/time

The time the last run started at.

error : string

The error, if any, returned by the run.

list(**kwargs)

List imports

Parameters:

type : string, optional

If specified, return imports of these types. It accepts a comma-separated list, possible values are ‘AutoImport’, ‘DbSync’, ‘Salesforce’, ‘GdocImport’.

author : string, optional

If specified, return imports from this author. It accepts a comma-separated list of author ids.

destination : string, optional

If specified, returns imports with one of these destinations. It accepts a comma-separated list of remote host ids.

status : string, optional

If specified, returns imports with one of these statuses. It accepts a comma-separated list, possible values are ‘running’, ‘failed’, ‘succeeded’, ‘idle’, ‘scheduled’.

archived : string, optional

The archival status of the requested object(s).

limit : integer, optional

Number of results to return. Defaults to 20. Maximum allowed is 50.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to updated_at. Must be one of: updated_at, name, created_at, last_run.updated_at.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to desc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

name : string

The name of the import.

is_outbound : boolean

id : integer

The ID for the import.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

state : string

source : dict:

- credential_id : integer
- name : string
- remote_host_id : integer
- additional_credentials : list
    Array that holds additional credentials used for specific imports. For
    salesforce imports, the first and only element is the client credential
    id.

user : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this import.

created_at : string/date-time

archived : string

The archival status of the requested object(s).

updated_at : string/date-time

destination : dict:

- credential_id : integer
- name : string
- remote_host_id : integer
- additional_credentials : list
    Array that holds additional credentials used for specific imports. For
    salesforce imports, the first and only element is the client credential
    id.

sync_type : string

The type of sync to perform; one of Dbsync, AutoImport, SilverpopDataImport, SilverpopContactImport, GdocImport, GdocExport, and Salesforce.

list_batches(**kwargs)

List batch imports

Parameters:

limit : integer, optional

Number of results to return. Defaults to 20. Maximum allowed is 50.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to updated_at. Must be one of: updated_at, created_at.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to desc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

id : integer

The ID for the import.

schema : string

The destination schema name. This schema must already exist in Redshift.

error : string

The error returned by the run, if any.

finished_at : string/time

The time the last run completed.

state : string

The state of the run; one of “queued”, “running”, “succeeded”, “failed”, or “cancelled”.

table : string

The destination table name, without the schema prefix. This table must already exist in Redshift.

started_at : string/time

The time the last run started at.

remote_host_id : integer

The ID of the destination database host.

list_files_runs(id, **kwargs)

List runs for the given import

Parameters:

id : integer

The ID of the import.

limit : integer, optional

Number of results to return. Defaults to 20. Maximum allowed is 100.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to id. Must be one of: id.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to desc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

id : integer

The ID of the run.

import_id : integer

The ID of the import.

is_cancel_requested : boolean

True if run cancel requested, else false.

finished_at : string/time

The time the last run completed.

state : string

The state of the run, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

started_at : string/time

The time the last run started at.

error : string

The error, if any, returned by the run.

list_projects(id)

List the projects a JobTypes::Import belongs to

Parameters:

id : integer

The ID of the resource.

Returns:

id : integer

The ID for this project.

name : string

The name of this project.

auto_share : boolean

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

description : string

A description of the project

users : list:

Users who can see the project
- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

archived : string

The archival status of the requested object(s).

created_at : string/time

updated_at : string/time

list_runs(id)

Get the run history of this import

Parameters:

id : integer

Returns:

id : integer

error : string

The error message for this run, if present.

finished_at : string/time

The time that the run completed.

state : string

created_at : string/time

The time that the run was queued.

started_at : string/time

The time that the run started.

list_shares(id)

List users and groups permissioned on this object

Parameters:

id : integer

The ID of the object.

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
post(name, is_outbound, sync_type, **kwargs)

Create a new import configuration

Parameters:

name : string

The name of the import.

is_outbound : boolean

sync_type : string

The type of sync to perform; one of Dbsync, AutoImport, SilverpopDataImport, SilverpopContactImport, GdocImport, GdocExport, and Salesforce.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

next_run_at : string/time, optional

The time of the next scheduled run.

destination : dict, optional:

- credential_id : integer
- remote_host_id : integer
- additional_credentials : list
    Array that holds additional credentials used for specific imports. For
    salesforce imports, the first and only element is the client credential
    id.

hidden : boolean, optional

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

time_zone : string, optional

The time zone of this import.

source : dict, optional:

- credential_id : integer
- remote_host_id : integer
- additional_credentials : list
    Array that holds additional credentials used for specific imports. For
    salesforce imports, the first and only element is the client credential
    id.

parent_id : integer, optional

Parent id to trigger this import from

notifications : dict, optional:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on
Returns:

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

name : string

The name of the import.

is_outbound : boolean

state : string

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

source : dict:

- credential_id : integer
- name : string
- remote_host_id : integer
- additional_credentials : list
    Array that holds additional credentials used for specific imports. For
    salesforce imports, the first and only element is the client credential
    id.

parent_id : integer

Parent id to trigger this import from

updated_at : string/date-time

syncs : list:

List of syncs.
- id : integer
- source : dict::
    - id : integer
        The ID of the table or file, if available.
    - path : string
        The path of the dataset to sync from; for a database source,
        schema.tablename.
- advanced_options : dict::
    - partition_table_partition_column_max_name : string
    - truncate_long_lines : boolean
    - partition_column_name : string
    - partition_table_name : string
    - wipe_destination_table : boolean
    - first_row_is_header : boolean
    - max_errors : integer
    - export_action : string
    - identity_column : string
    - column_delimiter : string
    - partition_schema_name : string
    - sortkey1 : string
    - partition_table_partition_column_min_name : string
    - verify_table_row_counts : boolean
    - existing_table_rows : string
    - sortkey2 : string
    - distkey : string
    - row_chunk_size : integer
    - last_modified_column : string
    - sql_query : string
    - contact_lists : string
    - soql_query : string
    - mysql_catalog_matches_schema : boolean
    - invalid_char_replacement : string
- destination : dict::
    - path : string
        The schema.tablename to sync to.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

user : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

created_at : string/date-time

archived : string

The archival status of the requested object(s).

destination : dict:

- credential_id : integer
- name : string
- remote_host_id : integer
- additional_credentials : list
    Array that holds additional credentials used for specific imports. For
    salesforce imports, the first and only element is the client credential
    id.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

time_zone : string

The time zone of this import.

id : integer

The ID for the import.

next_run_at : string/time

The time of the next scheduled run.

sync_type : string

The type of sync to perform; one of Dbsync, AutoImport, SilverpopDataImport, SilverpopContactImport, GdocImport, GdocExport, and Salesforce.

post_batches(schema, table, file_ids, credential_id, remote_host_id, **kwargs)

Upload multiple files to Redshift

Parameters:

schema : string

The destination schema name. This schema must already exist in Redshift.

table : string

The destination table name, without the schema prefix. This table must already exist in Redshift.

file_ids : list

The file IDs for the import.

credential_id : integer

The ID of the credentials to be used when performing the database import.

remote_host_id : integer

The ID of the destination database host.

first_row_is_header : boolean, optional

A boolean value indicating whether or not the first row is a header row. If unspecified, defaults to false.

column_delimiter : string, optional

The column delimiter for the file. Valid arguments are “comma”, “tab”, and “pipe”. If unspecified, defaults to “comma”.

hidden : boolean, optional

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

compression : string, optional

The type of compression. Valid arguments are “gzip”, “zip”, and “none”. If unspecified, defaults to “gzip”.

Returns:

id : integer

The ID for the import.

schema : string

The destination schema name. This schema must already exist in Redshift.

error : string

The error returned by the run, if any.

finished_at : string/time

The time the last run completed.

state : string

The state of the run; one of “queued”, “running”, “succeeded”, “failed”, or “cancelled”.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

table : string

The destination table name, without the schema prefix. This table must already exist in Redshift.

started_at : string/time

The time the last run started at.

remote_host_id : integer

The ID of the destination database host.

post_cancel(id)

Cancel a run

Parameters:

id : integer

The ID of the job.

Returns:

id : integer

The ID of the run.

is_cancel_requested : boolean

True if run cancel requested, else false.

state : string

The state of the run, one of ‘queued’, ‘running’ or ‘cancelled’.

post_files(schema, name, remote_host_id, credential_id, **kwargs)

Initate an import of a tabular file into the platform

Parameters:

schema : string

The schema of the destination table.

name : string

The name of the destination table.

remote_host_id : integer

The id of the destination database host.

credential_id : integer

The id of the credentials to be used when performing the database import.

first_row_is_header : boolean, optional

A boolean value indicating whether or not the first row is a header row. If first_row_is_header is null or omitted, it will be auto-detected.

sortkey2 : string, optional

The second column in a compound sortkey for the table.

max_errors : integer, optional

The maximum number of rows with errors to remove from the import before failing.

distkey : string, optional

The column to use as the distkey for the table.

multipart : boolean, optional

If true, the upload URI will require a multipart/form-data POST request. Defaults to false.

existing_table_rows : string, optional

The behaviour if a table with the requested name already exists. One of “fail”, “truncate”, “append”, or “drop”.Defaults to “fail”.

column_delimiter : string, optional

The column delimiter of the file. If column_delimiter is null or omitted, it will be auto-detected. Valid arguments are “comma”, “tab”, and “pipe”.

hidden : boolean, optional

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

sortkey1 : string, optional

The column to use as the sort key for the table.

Returns:

upload_fields : dict

If multipart was set to true, these fields should be included in the multipart upload.

id : integer

The id of the import.

upload_uri : string

The URI which may be used to upload a tabular file for import. You must use this URI to upload the file you wish imported and then inform the Civis API when your upload is complete using the URI given by the runUri field of this reponse.

run_uri : string

The URI to POST to once the file upload is complete. After uploading the file using the URI given in the uploadUri attribute of the reponse, POST to this URI to initiate the import of your uploaded file into the platform.

post_files_runs(id)

Start a run

Parameters:

id : integer

The ID of the import.

Returns:

id : integer

The ID of the run.

import_id : integer

The ID of the import.

is_cancel_requested : boolean

True if run cancel requested, else false.

finished_at : string/time

The time the last run completed.

state : string

The state of the run, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

started_at : string/time

The time the last run started at.

error : string

The error, if any, returned by the run.

post_runs(id)

Run an import

Parameters:

id : integer

The ID of the import to run.

Returns:

run_id : integer

The ID of the new run triggered.

post_syncs(id, destination, source, **kwargs)

Create a sync

Parameters:

id : integer

destination : dict:

- path : string
    The schema.tablename to sync to.

source : dict:

- path : string
    The path of the dataset to sync from; for a database source,
    schema.tablename.

advanced_options : dict, optional:

- partition_table_partition_column_max_name : string
- truncate_long_lines : boolean
- partition_column_name : string
- partition_table_name : string
- wipe_destination_table : boolean
- first_row_is_header : boolean
- max_errors : integer
- export_action : string
- identity_column : string
- column_delimiter : string
- partition_schema_name : string
- sortkey1 : string
- partition_table_partition_column_min_name : string
- verify_table_row_counts : boolean
- existing_table_rows : string
- sortkey2 : string
- distkey : string
- row_chunk_size : integer
- last_modified_column : string
- sql_query : string
- contact_lists : string
- soql_query : string
- mysql_catalog_matches_schema : boolean
- invalid_char_replacement : string
Returns:

id : integer

source : dict:

- id : integer
    The ID of the table or file, if available.
- path : string
    The path of the dataset to sync from; for a database source,
    schema.tablename.

advanced_options : dict:

- partition_table_partition_column_max_name : string
- truncate_long_lines : boolean
- partition_column_name : string
- partition_table_name : string
- wipe_destination_table : boolean
- first_row_is_header : boolean
- max_errors : integer
- export_action : string
- identity_column : string
- column_delimiter : string
- partition_schema_name : string
- sortkey1 : string
- partition_table_partition_column_min_name : string
- verify_table_row_counts : boolean
- existing_table_rows : string
- sortkey2 : string
- distkey : string
- row_chunk_size : integer
- last_modified_column : string
- sql_query : string
- contact_lists : string
- soql_query : string
- mysql_catalog_matches_schema : boolean
- invalid_char_replacement : string

destination : dict:

- path : string
    The schema.tablename to sync to.
put(id, name, is_outbound, sync_type, **kwargs)

Update an import

Parameters:

id : integer

The ID for the import.

name : string

The name of the import.

is_outbound : boolean

sync_type : string

The type of sync to perform; one of Dbsync, AutoImport, SilverpopDataImport, SilverpopContactImport, GdocImport, GdocExport, and Salesforce.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

next_run_at : string/time, optional

The time of the next scheduled run.

destination : dict, optional:

- credential_id : integer
- remote_host_id : integer
- additional_credentials : list
    Array that holds additional credentials used for specific imports. For
    salesforce imports, the first and only element is the client credential
    id.

time_zone : string, optional

The time zone of this import.

source : dict, optional:

- credential_id : integer
- remote_host_id : integer
- additional_credentials : list
    Array that holds additional credentials used for specific imports. For
    salesforce imports, the first and only element is the client credential
    id.

parent_id : integer, optional

Parent id to trigger this import from

notifications : dict, optional:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on
Returns:

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

name : string

The name of the import.

is_outbound : boolean

state : string

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

source : dict:

- credential_id : integer
- name : string
- remote_host_id : integer
- additional_credentials : list
    Array that holds additional credentials used for specific imports. For
    salesforce imports, the first and only element is the client credential
    id.

parent_id : integer

Parent id to trigger this import from

updated_at : string/date-time

syncs : list:

List of syncs.
- id : integer
- source : dict::
    - id : integer
        The ID of the table or file, if available.
    - path : string
        The path of the dataset to sync from; for a database source,
        schema.tablename.
- advanced_options : dict::
    - partition_table_partition_column_max_name : string
    - truncate_long_lines : boolean
    - partition_column_name : string
    - partition_table_name : string
    - wipe_destination_table : boolean
    - first_row_is_header : boolean
    - max_errors : integer
    - export_action : string
    - identity_column : string
    - column_delimiter : string
    - partition_schema_name : string
    - sortkey1 : string
    - partition_table_partition_column_min_name : string
    - verify_table_row_counts : boolean
    - existing_table_rows : string
    - sortkey2 : string
    - distkey : string
    - row_chunk_size : integer
    - last_modified_column : string
    - sql_query : string
    - contact_lists : string
    - soql_query : string
    - mysql_catalog_matches_schema : boolean
    - invalid_char_replacement : string
- destination : dict::
    - path : string
        The schema.tablename to sync to.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

user : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

created_at : string/date-time

archived : string

The archival status of the requested object(s).

destination : dict:

- credential_id : integer
- name : string
- remote_host_id : integer
- additional_credentials : list
    Array that holds additional credentials used for specific imports. For
    salesforce imports, the first and only element is the client credential
    id.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

time_zone : string

The time zone of this import.

id : integer

The ID for the import.

next_run_at : string/time

The time of the next scheduled run.

sync_type : string

The type of sync to perform; one of Dbsync, AutoImport, SilverpopDataImport, SilverpopContactImport, GdocImport, GdocExport, and Salesforce.

put_archive(id, status)

Update the archive status of this object

Parameters:

id : integer

The ID of the object.

status : boolean

The desired archived status of the object.

Returns:

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

name : string

The name of the import.

is_outbound : boolean

state : string

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

source : dict:

- credential_id : integer
- name : string
- remote_host_id : integer
- additional_credentials : list
    Array that holds additional credentials used for specific imports. For
    salesforce imports, the first and only element is the client credential
    id.

parent_id : integer

Parent id to trigger this import from

updated_at : string/date-time

syncs : list:

List of syncs.
- id : integer
- source : dict::
    - id : integer
        The ID of the table or file, if available.
    - path : string
        The path of the dataset to sync from; for a database source,
        schema.tablename.
- advanced_options : dict::
    - partition_table_partition_column_max_name : string
    - truncate_long_lines : boolean
    - partition_column_name : string
    - partition_table_name : string
    - wipe_destination_table : boolean
    - first_row_is_header : boolean
    - max_errors : integer
    - export_action : string
    - identity_column : string
    - column_delimiter : string
    - partition_schema_name : string
    - sortkey1 : string
    - partition_table_partition_column_min_name : string
    - verify_table_row_counts : boolean
    - existing_table_rows : string
    - sortkey2 : string
    - distkey : string
    - row_chunk_size : integer
    - last_modified_column : string
    - sql_query : string
    - contact_lists : string
    - soql_query : string
    - mysql_catalog_matches_schema : boolean
    - invalid_char_replacement : string
- destination : dict::
    - path : string
        The schema.tablename to sync to.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

user : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

created_at : string/date-time

archived : string

The archival status of the requested object(s).

destination : dict:

- credential_id : integer
- name : string
- remote_host_id : integer
- additional_credentials : list
    Array that holds additional credentials used for specific imports. For
    salesforce imports, the first and only element is the client credential
    id.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

time_zone : string

The time zone of this import.

id : integer

The ID for the import.

next_run_at : string/time

The time of the next scheduled run.

sync_type : string

The type of sync to perform; one of Dbsync, AutoImport, SilverpopDataImport, SilverpopContactImport, GdocImport, GdocExport, and Salesforce.

put_projects(id, project_id)

Add a JobTypes::Import to a project

Parameters:

id : integer

ID of the resource

project_id : integer

The ID of the project

Returns:

None

Response code 204: success

put_shares_groups(id, group_ids, permission_level)

Set the permissions groups has on this object

Parameters:

id : integer

ID of the resource to be shared

group_ids : list

An array of one or more group IDs

permission_level : string

Options are: “read”, “write”, or “manage”

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
put_shares_users(id, user_ids, permission_level)

Set the permissions users have on this object

Parameters:

id : integer

ID of the resource to be shared

user_ids : list

An array of one or more user IDs

permission_level : string

Options are: “read”, “write”, or “manage”

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
put_syncs(id, sync_id, destination, source, **kwargs)

Update a sync

Parameters:

id : integer

The ID of the import to fetch.

sync_id : integer

The ID of the sync to fetch.

destination : dict:

- path : string
    The schema.tablename to sync to.

source : dict:

- path : string
    The path of the dataset to sync from; for a database source,
    schema.tablename.

advanced_options : dict, optional:

- partition_table_partition_column_max_name : string
- truncate_long_lines : boolean
- partition_column_name : string
- partition_table_name : string
- wipe_destination_table : boolean
- first_row_is_header : boolean
- max_errors : integer
- export_action : string
- identity_column : string
- column_delimiter : string
- partition_schema_name : string
- sortkey1 : string
- partition_table_partition_column_min_name : string
- verify_table_row_counts : boolean
- existing_table_rows : string
- sortkey2 : string
- distkey : string
- row_chunk_size : integer
- last_modified_column : string
- sql_query : string
- contact_lists : string
- soql_query : string
- mysql_catalog_matches_schema : boolean
- invalid_char_replacement : string
Returns:

id : integer

source : dict:

- id : integer
    The ID of the table or file, if available.
- path : string
    The path of the dataset to sync from; for a database source,
    schema.tablename.

advanced_options : dict:

- partition_table_partition_column_max_name : string
- truncate_long_lines : boolean
- partition_column_name : string
- partition_table_name : string
- wipe_destination_table : boolean
- first_row_is_header : boolean
- max_errors : integer
- export_action : string
- identity_column : string
- column_delimiter : string
- partition_schema_name : string
- sortkey1 : string
- partition_table_partition_column_min_name : string
- verify_table_row_counts : boolean
- existing_table_rows : string
- sortkey2 : string
- distkey : string
- row_chunk_size : integer
- last_modified_column : string
- sql_query : string
- contact_lists : string
- soql_query : string
- mysql_catalog_matches_schema : boolean
- invalid_char_replacement : string

destination : dict:

- path : string
    The schema.tablename to sync to.
Jobs
class Jobs(session, return_type='civis')

Methods

delete_projects(id, project_id) Remove a Job from a project
delete_shares_groups(id, group_id) Revoke the permissions a group has on this object
delete_shares_users(id, user_id) Revoke the permissions a user has on this object
get(id) Show basic job info
get_runs(id, run_id) Check status of a job
list(**kwargs) List jobs
list_children(id) Show nested tree of children that this job triggers
list_parents(id) Show chain of parents as a list that this job triggers from
list_projects(id) List the projects a Job belongs to
list_shares(id) List users and groups permissioned on this object
post_runs(id) Run a job
post_trigger_email(id) Generate and retrieve trigger email address
put_projects(id, project_id) Add a Job to a project
put_shares_groups(id, group_ids, ...) Set the permissions groups has on this object
put_shares_users(id, user_ids, permission_level) Set the permissions users have on this object
delete_projects(id, project_id)

Remove a Job from a project

Parameters:

id : integer

ID of the resource

project_id : integer

The ID of the project

Returns:

None

Response code 204: success

delete_shares_groups(id, group_id)

Revoke the permissions a group has on this object

Parameters:

id : integer

ID of the resource to be revoked

group_id : integer

ID of the group

Returns:

None

Response code 204: success

delete_shares_users(id, user_id)

Revoke the permissions a user has on this object

Parameters:

id : integer

ID of the resource to be revoked

user_id : integer

ID of the user

Returns:

None

Response code 204: success

get(id)

Show basic job info

Parameters:

id : integer

The ID for this job.

Returns:

id : integer

runs : list:

Information about the most recent runs of the job.
- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

name : string

state : string

Whether the job is idle, queued, running, cancelled, or failed.

created_at : string/date-time

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

archived : string

The archival status of the requested object(s).

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

updated_at : string/date-time

type : string

get_runs(id, run_id)

Check status of a job

Parameters:

id : integer

The ID of the Job.

run_id : integer

The ID of the Run.

Returns:

id : integer

error : string

The error message for this run, if present.

finished_at : string/time

The time that the run completed.

state : string

created_at : string/time

The time that the run was queued.

started_at : string/time

The time that the run started.

list(**kwargs)

List jobs

Parameters:

limit : integer, optional

The maximum number of jobs to return.

state : string, optional

The job’s state. One or more of queued, running, succeeded, failed, and cancelled. Specify multiple values as a comma-separated list (e.g., “A,B”).

type : string, optional

The job’s type. Specify multiple values as a comma-separated list (e.g., “A,B”).

q : string, optional

Query string to search on the id, name, and job type

permission : string, optional

A permissions string, one of “read”, “write”, or “manage”. Lists only jobs for which the current user has that permission.

archived : string, optional

The archival status of the requested object(s).

Returns:

id : integer

name : string

state : string

Whether the job is idle, queued, running, cancelled, or failed.

created_at : string/date-time

archived : string

The archival status of the requested object(s).

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

updated_at : string/date-time

type : string

list_children(id)

Show nested tree of children that this job triggers

Parameters:

id : integer

The ID for this job.

Returns:

id : integer

runs : list:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

name : string

state : string

created_at : string/date-time

children : list

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

updated_at : string/date-time

type : string

list_parents(id)

Show chain of parents as a list that this job triggers from

Parameters:

id : integer

The ID for this job.

Returns:

id : integer

runs : list:

Information about the most recent runs of the job.
- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

name : string

state : string

Whether the job is idle, queued, running, cancelled, or failed.

created_at : string/date-time

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

archived : string

The archival status of the requested object(s).

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

updated_at : string/date-time

type : string

list_projects(id)

List the projects a Job belongs to

Parameters:

id : integer

The ID of the resource.

Returns:

id : integer

The ID for this project.

name : string

The name of this project.

auto_share : boolean

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

description : string

A description of the project

users : list:

Users who can see the project
- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

archived : string

The archival status of the requested object(s).

created_at : string/time

updated_at : string/time

list_shares(id)

List users and groups permissioned on this object

Parameters:

id : integer

The ID of the object.

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
post_runs(id)

Run a job

Parameters:

id : integer

The ID for this job.

Returns:

id : integer

error : string

The error message for this run, if present.

finished_at : string/time

The time that the run completed.

state : string

created_at : string/time

The time that the run was queued.

started_at : string/time

The time that the run started.

post_trigger_email(id)

Generate and retrieve trigger email address

Parameters:

id : integer

The ID for this job.

Returns:

trigger_email : string

Email address which may be used to trigger this job to run.

put_projects(id, project_id)

Add a Job to a project

Parameters:

id : integer

ID of the resource

project_id : integer

The ID of the project

Returns:

None

Response code 204: success

put_shares_groups(id, group_ids, permission_level)

Set the permissions groups has on this object

Parameters:

id : integer

ID of the resource to be shared

group_ids : list

An array of one or more group IDs

permission_level : string

Options are: “read”, “write”, or “manage”

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
put_shares_users(id, user_ids, permission_level)

Set the permissions users have on this object

Parameters:

id : integer

ID of the resource to be shared

user_ids : list

An array of one or more user IDs

permission_level : string

Options are: “read”, “write”, or “manage”

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
Models
class Models(session, return_type='civis')

Methods

delete_builds(id, build_id) Cancel a build
delete_projects(id, project_id) Remove a models from a project
delete_shares_groups(id, group_id) Revoke the permissions a group has on this object
delete_shares_users(id, user_id) Revoke the permissions a user has on this object
get(id) Retrieve model configuration
get_builds(id, build_id) Check status of a build
list(**kwargs) List models
list_builds(id, **kwargs) List builds for the given model
list_projects(id) List the projects a models belongs to
list_schedules(id) Show the model build schedule
list_shares(id) List users and groups permissioned on this object
list_types() List all available model types
patch(id, **kwargs) Update model configuration
post(**kwargs) Create new configuration for a model
post_builds(id) Start a build
put_archive(id, status) Update the archive status of this object
put_predictions(id, primary_key, table_name, ...) Add a table on which to apply the predictive model
put_projects(id, project_id) Add a models to a project
put_schedules(id, schedule) Schedule the model build
put_shares_groups(id, group_ids, ...) Set the permissions groups has on this object
put_shares_users(id, user_ids, permission_level) Set the permissions users have on this object
delete_builds(id, build_id)

Cancel a build

Parameters:

id : integer

The ID of the model.

build_id : integer

The ID of the build.

Returns:

None

Response code 202: success

delete_projects(id, project_id)

Remove a models from a project

Parameters:

id : integer

ID of the resource

project_id : integer

The ID of the project

Returns:

None

Response code 204: success

delete_shares_groups(id, group_id)

Revoke the permissions a group has on this object

Parameters:

id : integer

ID of the resource to be revoked

group_id : integer

ID of the group

Returns:

None

Response code 204: success

delete_shares_users(id, user_id)

Revoke the permissions a user has on this object

Parameters:

id : integer

ID of the resource to be revoked

user_id : integer

ID of the user

Returns:

None

Response code 204: success

get(id)

Retrieve model configuration

Parameters:

id : integer

The ID of the model.

Returns:

table_name : string

The qualified name of the table containing the training set from which to build the model.

cross_validation_parameters : dict

Cross validation parameter grid for tree methods, e.g. {“n_estimators”: [100, 200, 500], “learning_rate”: [0.01, 0.1], “max_depth”: [2, 3]}.

model_name : string

The name of the model.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

number_of_folds : integer

Number of folds for cross validation. Default value is 5.

archived : string

The archival status of the requested object(s).

predictions : list:

The tables upon which the model will be applied.
- id : integer
    The ID of the model to which to apply the prediction.
- table_name : string
    The qualified name of the table on which to apply the predictive model.
- limiting_sql : string
    A SQL WHERE clause used to scope the rows to be predicted.
- primary_key : list
    The primary key or composite keys of the table being predicted.
- state : string
    The status of the prediction. One of: "succeeded", "failed", "queued",
    or "running,"or "idle", if no build has been attempted.
- output_table : string
    The qualified name of the table to be created which will contain the
    model's predictions.
- schedule : dict::
    - scheduled_hours : list
        Hours of the day it is scheduled on
    - scheduled_days : list
        Day based on numeric value starting at 0 for Sunday
    - scheduled_minutes : list
        Minutes of the day it is scheduled on
    - scheduled : boolean
        If the object is scheduled
    - scheduled_runs_per_hour : integer
        Alternative to scheduled minutes, number of times to run per hour

limiting_sql : string

A custom SQL WHERE clause used to filter the rows used to build the model. (e.g., “id > 105”).

parent_id : integer

The ID of the parent job that will trigger this model.

excluded_columns : list

A list of columns which will be considered ineligible to be independent variables.

created_at : string/date-time

The time the model was created.

description : string

A description of the model.

dependent_variable_order : list

The order of dependent variables, especially useful for Ordinal Modeling.

dependent_variable : string

The dependent variable of the training dataset.

id : integer

The ID of the model.

model_type_id : integer

The ID of the model’s type.

database_id : integer

The ID of the database holding the training set table used to build the model.

active_build_id : integer

The ID of the current active build, the build used to score predictions.

time_zone : string

The time zone of this model.

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

interaction_terms : boolean

Whether to search for interaction terms.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

last_output_location : string

The output JSON for the last build.

current_build_state : string

The status of the current model build. One of “succeeded”, “failed”, “queued”, or “running,”or “idle”, if no build has been attempted.

box_cox_transformation : boolean

Whether to transform data so that it assumes a normal distribution. Valid only with continuous models.

builds : list:

A list of trained models available for making predictions.
- id : integer
    The ID of the model build.
- name : string
    The name of the model build.
- description : string
    A description of the model build.
- created_at : string
    The time the model build was created.
- root_mean_squared_error : number/float
    A key metric for continuous models. Nil for other model types.
- roc_auc : number/float
    A key metric for binary, multinomial, and ordinal models. Nil for other
    model types.
- r_squared_error : number/float
    A key metric for continuous models. Nil for other model types.

user : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

current_build_exception : string

Exception message, if applicable, of the current model build.

primary_key : string

The unique ID (primary key) of the training dataset.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

credential_id : integer

The ID of the credential used to read the target table. Defaults to the user’s default credential.

updated_at : string/date-time

The time the model was updated.

get_builds(id, build_id)

Check status of a build

Parameters:

id : integer

The ID of the model.

build_id : integer

The ID of the build.

Returns:

id : integer

The ID of the model build.

name : string

The name of the model build.

state : string

The state of the model build.one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

roc_auc : number/float

A key metric for binary, multinomial, and ordinal models. Nil for other model types.

output_location : string

A URL representing the location of the full JSON output for the specified build.The URL link will be valid for 5 minutes.

r_squared_error : number/float

A key metric for continuous models. Nil for other model types.

output : string

A string representing the JSON output for the specified build. Only present when smaller than 10KB in size.

error : string

The error, if any, returned by the build.

description : string

A description of the model build.

created_at : string

The time the model build was created.

root_mean_squared_error : number/float

A key metric for continuous models. Nil for other model types.

transformation_metadata : string

A string representing the full JSON output of the metadata for transformation of column names

list(**kwargs)

List models

Parameters:

model_name : string, optional

If specified, will be used to filter the models returned. Substring matching is supported. (e.g., “modelName=model” will return both “model1” and “my model”).

training_table_name : string, optional

If specified, will be used to filter the models returned by the training dataset table name. Substring matching is supported. (e.g., “trainingTableName=table” will return both “table1” and “my_table”).

dependent_variable : string, optional

If specified, will be used to filter the models returned by the dependent variable column name. Substring matching is supported. (e.g., “dependentVariable=predictor” will return both “predictor” and “my predictor”).

author : string, optional

If specified, return models from this author. It accepts a comma-separated list of author ids.

status : string, optional

If specified, returns models with one of these statuses. It accepts a comma-separated list, possible values are ‘running’, ‘failed’, ‘succeeded’, ‘idle’, ‘scheduled’.

archived : string, optional

The archival status of the requested object(s).

limit : integer, optional

Number of results to return. Defaults to its maximum of 50.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to updated_at. Must be one of: updated_at, model_name, created_at, name, last_run.updated_at.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to desc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

table_name : string

The qualified name of the table containing the training set from which to build the model.

cross_validation_parameters : dict

Cross validation parameter grid for tree methods, e.g. {“n_estimators”: [100, 200, 500], “learning_rate”: [0.01, 0.1], “max_depth”: [2, 3]}.

model_name : string

The name of the model.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

number_of_folds : integer

Number of folds for cross validation. Default value is 5.

archived : string

The archival status of the requested object(s).

limiting_sql : string

A custom SQL WHERE clause used to filter the rows used to build the model. (e.g., “id > 105”).

parent_id : integer

The ID of the parent job that will trigger this model.

excluded_columns : list

A list of columns which will be considered ineligible to be independent variables.

created_at : string/date-time

The time the model was created.

description : string

A description of the model.

dependent_variable_order : list

The order of dependent variables, especially useful for Ordinal Modeling.

dependent_variable : string

The dependent variable of the training dataset.

id : integer

The ID of the model.

model_type_id : integer

The ID of the model’s type.

database_id : integer

The ID of the database holding the training set table used to build the model.

time_zone : string

The time zone of this model.

predictions : list:

The tables upon which the model will be applied.
- id : integer
    The ID of the model to which to apply the prediction.
- table_name : string
    The qualified name of the table on which to apply the predictive model.
- limiting_sql : string
    A SQL WHERE clause used to scope the rows to be predicted.
- primary_key : list
    The primary key or composite keys of the table being predicted.
- state : string
    The status of the prediction. One of: "succeeded", "failed", "queued",
    or "running,"or "idle", if no build has been attempted.
- output_table : string
    The qualified name of the table to be created which will contain the
    model's predictions.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

interaction_terms : boolean

Whether to search for interaction terms.

last_output_location : string

The output JSON for the last build.

current_build_state : string

The status of the current model build. One of “succeeded”, “failed”, “queued”, or “running,”or “idle”, if no build has been attempted.

box_cox_transformation : boolean

Whether to transform data so that it assumes a normal distribution. Valid only with continuous models.

builds : list:

A list of trained models available for making predictions.
- id : integer
    The ID of the model build.
- name : string
    The name of the model build.
- description : string
    A description of the model build.
- created_at : string
    The time the model build was created.
- root_mean_squared_error : number/float
    A key metric for continuous models. Nil for other model types.
- roc_auc : number/float
    A key metric for binary, multinomial, and ordinal models. Nil for other
    model types.
- r_squared_error : number/float
    A key metric for continuous models. Nil for other model types.

user : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

current_build_exception : string

Exception message, if applicable, of the current model build.

primary_key : string

The unique ID (primary key) of the training dataset.

credential_id : integer

The ID of the credential used to read the target table. Defaults to the user’s default credential.

updated_at : string/date-time

The time the model was updated.

list_builds(id, **kwargs)

List builds for the given model

Parameters:

id : integer

The ID of the model.

limit : integer, optional

Number of results to return. Defaults to 20. Maximum allowed is 100.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to id. Must be one of: id.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to desc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

id : integer

The ID of the model build.

name : string

The name of the model build.

state : string

The state of the model build.one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

roc_auc : number/float

A key metric for binary, multinomial, and ordinal models. Nil for other model types.

output_location : string

A URL representing the location of the full JSON output for the specified build.The URL link will be valid for 5 minutes.

r_squared_error : number/float

A key metric for continuous models. Nil for other model types.

output : string

A string representing the JSON output for the specified build. Only present when smaller than 10KB in size.

error : string

The error, if any, returned by the build.

description : string

A description of the model build.

created_at : string

The time the model build was created.

root_mean_squared_error : number/float

A key metric for continuous models. Nil for other model types.

transformation_metadata : string

A string representing the full JSON output of the metadata for transformation of column names

list_projects(id)

List the projects a models belongs to

Parameters:

id : integer

The ID of the resource.

Returns:

id : integer

The ID for this project.

name : string

The name of this project.

auto_share : boolean

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

description : string

A description of the project

users : list:

Users who can see the project
- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

archived : string

The archival status of the requested object(s).

created_at : string/time

updated_at : string/time

list_schedules(id)

Show the model build schedule

Parameters:

id : integer

The ID of the model associated with this schedule.

Returns:

id : integer

The ID of the model associated with this schedule.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour
list_shares(id)

List users and groups permissioned on this object

Parameters:

id : integer

The ID of the object.

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
list_types()

List all available model types

Returns:

id : integer

The ID of the model type.

dv_type : string

The type of dependent variable predicted by the model.

fint_allowed : boolean

Whether this model type supports searching for interaction terms.

algorithm : string

The name of the algorithm used to train the model.

patch(id, **kwargs)

Update model configuration

Parameters:

id : integer

The ID of the model.

table_name : string, optional

The qualified name of the table containing the training set from which to build the model.

database_id : integer, optional

The ID of the database holding the training set table used to build the model.

model_name : string, optional

The name of the model.

parent_id : integer, optional

The ID of the parent job that will trigger this model.

limiting_sql : string, optional

A custom SQL WHERE clause used to filter the rows used to build the model. (e.g., “id > 105”).

cross_validation_parameters : dict, optional

Cross validation parameter grid for tree methods, e.g. {“n_estimators”: [100, 200, 500], “learning_rate”: [0.01, 0.1], “max_depth”: [2, 3]}.

time_zone : string, optional

The time zone of this model.

number_of_folds : integer, optional

Number of folds for cross validation. Default value is 5.

active_build_id : integer, optional

The ID of the current active build, the build used to score predictions.

interaction_terms : boolean, optional

Whether to search for interaction terms.

notifications : dict, optional:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

primary_key : string, optional

The unique ID (primary key) of the training dataset.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

box_cox_transformation : boolean, optional

Whether to transform data so that it assumes a normal distribution. Valid only with continuous models.

description : string, optional

A description of the model.

excluded_columns : list, optional

A list of columns which will be considered ineligible to be independent variables.

model_type_id : integer, optional

The ID of the model’s type.

dependent_variable_order : list, optional

The order of dependent variables, especially useful for Ordinal Modeling.

credential_id : integer, optional

The ID of the credential used to read the target table. Defaults to the user’s default credential.

dependent_variable : string, optional

The dependent variable of the training dataset.

Returns:

None

Response code 204: success

post(**kwargs)

Create new configuration for a model

Parameters:

table_name : string, optional

The qualified name of the table containing the training set from which to build the model.

database_id : integer, optional

The ID of the database holding the training set table used to build the model.

model_name : string, optional

The name of the model.

parent_id : integer, optional

The ID of the parent job that will trigger this model.

limiting_sql : string, optional

A custom SQL WHERE clause used to filter the rows used to build the model. (e.g., “id > 105”).

cross_validation_parameters : dict, optional

Cross validation parameter grid for tree methods, e.g. {“n_estimators”: [100, 200, 500], “learning_rate”: [0.01, 0.1], “max_depth”: [2, 3]}.

time_zone : string, optional

The time zone of this model.

number_of_folds : integer, optional

Number of folds for cross validation. Default value is 5.

active_build_id : integer, optional

The ID of the current active build, the build used to score predictions.

interaction_terms : boolean, optional

Whether to search for interaction terms.

notifications : dict, optional:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

primary_key : string, optional

The unique ID (primary key) of the training dataset.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

box_cox_transformation : boolean, optional

Whether to transform data so that it assumes a normal distribution. Valid only with continuous models.

description : string, optional

A description of the model.

excluded_columns : list, optional

A list of columns which will be considered ineligible to be independent variables.

model_type_id : integer, optional

The ID of the model’s type.

dependent_variable_order : list, optional

The order of dependent variables, especially useful for Ordinal Modeling.

hidden : boolean, optional

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

credential_id : integer, optional

The ID of the credential used to read the target table. Defaults to the user’s default credential.

dependent_variable : string, optional

The dependent variable of the training dataset.

Returns:

table_name : string

The qualified name of the table containing the training set from which to build the model.

cross_validation_parameters : dict

Cross validation parameter grid for tree methods, e.g. {“n_estimators”: [100, 200, 500], “learning_rate”: [0.01, 0.1], “max_depth”: [2, 3]}.

model_name : string

The name of the model.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

number_of_folds : integer

Number of folds for cross validation. Default value is 5.

archived : string

The archival status of the requested object(s).

predictions : list:

The tables upon which the model will be applied.
- id : integer
    The ID of the model to which to apply the prediction.
- table_name : string
    The qualified name of the table on which to apply the predictive model.
- limiting_sql : string
    A SQL WHERE clause used to scope the rows to be predicted.
- primary_key : list
    The primary key or composite keys of the table being predicted.
- state : string
    The status of the prediction. One of: "succeeded", "failed", "queued",
    or "running,"or "idle", if no build has been attempted.
- output_table : string
    The qualified name of the table to be created which will contain the
    model's predictions.
- schedule : dict::
    - scheduled_hours : list
        Hours of the day it is scheduled on
    - scheduled_days : list
        Day based on numeric value starting at 0 for Sunday
    - scheduled_minutes : list
        Minutes of the day it is scheduled on
    - scheduled : boolean
        If the object is scheduled
    - scheduled_runs_per_hour : integer
        Alternative to scheduled minutes, number of times to run per hour

limiting_sql : string

A custom SQL WHERE clause used to filter the rows used to build the model. (e.g., “id > 105”).

parent_id : integer

The ID of the parent job that will trigger this model.

excluded_columns : list

A list of columns which will be considered ineligible to be independent variables.

created_at : string/date-time

The time the model was created.

description : string

A description of the model.

dependent_variable_order : list

The order of dependent variables, especially useful for Ordinal Modeling.

dependent_variable : string

The dependent variable of the training dataset.

id : integer

The ID of the model.

model_type_id : integer

The ID of the model’s type.

database_id : integer

The ID of the database holding the training set table used to build the model.

active_build_id : integer

The ID of the current active build, the build used to score predictions.

time_zone : string

The time zone of this model.

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

interaction_terms : boolean

Whether to search for interaction terms.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

last_output_location : string

The output JSON for the last build.

current_build_state : string

The status of the current model build. One of “succeeded”, “failed”, “queued”, or “running,”or “idle”, if no build has been attempted.

box_cox_transformation : boolean

Whether to transform data so that it assumes a normal distribution. Valid only with continuous models.

builds : list:

A list of trained models available for making predictions.
- id : integer
    The ID of the model build.
- name : string
    The name of the model build.
- description : string
    A description of the model build.
- created_at : string
    The time the model build was created.
- root_mean_squared_error : number/float
    A key metric for continuous models. Nil for other model types.
- roc_auc : number/float
    A key metric for binary, multinomial, and ordinal models. Nil for other
    model types.
- r_squared_error : number/float
    A key metric for continuous models. Nil for other model types.

user : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

current_build_exception : string

Exception message, if applicable, of the current model build.

primary_key : string

The unique ID (primary key) of the training dataset.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

credential_id : integer

The ID of the credential used to read the target table. Defaults to the user’s default credential.

updated_at : string/date-time

The time the model was updated.

post_builds(id)

Start a build

Parameters:

id : integer

The ID of the model.

Returns:

id : integer

The ID of the model build.

name : string

The name of the model build.

state : string

The state of the model build.one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

roc_auc : number/float

A key metric for binary, multinomial, and ordinal models. Nil for other model types.

output_location : string

A URL representing the location of the full JSON output for the specified build.The URL link will be valid for 5 minutes.

r_squared_error : number/float

A key metric for continuous models. Nil for other model types.

output : string

A string representing the JSON output for the specified build. Only present when smaller than 10KB in size.

error : string

The error, if any, returned by the build.

description : string

A description of the model build.

created_at : string

The time the model build was created.

root_mean_squared_error : number/float

A key metric for continuous models. Nil for other model types.

transformation_metadata : string

A string representing the full JSON output of the metadata for transformation of column names

put_archive(id, status)

Update the archive status of this object

Parameters:

id : integer

The ID of the object.

status : boolean

The desired archived status of the object.

Returns:

table_name : string

The qualified name of the table containing the training set from which to build the model.

cross_validation_parameters : dict

Cross validation parameter grid for tree methods, e.g. {“n_estimators”: [100, 200, 500], “learning_rate”: [0.01, 0.1], “max_depth”: [2, 3]}.

model_name : string

The name of the model.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

number_of_folds : integer

Number of folds for cross validation. Default value is 5.

archived : string

The archival status of the requested object(s).

predictions : list:

The tables upon which the model will be applied.
- id : integer
    The ID of the model to which to apply the prediction.
- table_name : string
    The qualified name of the table on which to apply the predictive model.
- limiting_sql : string
    A SQL WHERE clause used to scope the rows to be predicted.
- primary_key : list
    The primary key or composite keys of the table being predicted.
- state : string
    The status of the prediction. One of: "succeeded", "failed", "queued",
    or "running,"or "idle", if no build has been attempted.
- output_table : string
    The qualified name of the table to be created which will contain the
    model's predictions.
- schedule : dict::
    - scheduled_hours : list
        Hours of the day it is scheduled on
    - scheduled_days : list
        Day based on numeric value starting at 0 for Sunday
    - scheduled_minutes : list
        Minutes of the day it is scheduled on
    - scheduled : boolean
        If the object is scheduled
    - scheduled_runs_per_hour : integer
        Alternative to scheduled minutes, number of times to run per hour

limiting_sql : string

A custom SQL WHERE clause used to filter the rows used to build the model. (e.g., “id > 105”).

parent_id : integer

The ID of the parent job that will trigger this model.

excluded_columns : list

A list of columns which will be considered ineligible to be independent variables.

created_at : string/date-time

The time the model was created.

description : string

A description of the model.

dependent_variable_order : list

The order of dependent variables, especially useful for Ordinal Modeling.

dependent_variable : string

The dependent variable of the training dataset.

id : integer

The ID of the model.

model_type_id : integer

The ID of the model’s type.

database_id : integer

The ID of the database holding the training set table used to build the model.

active_build_id : integer

The ID of the current active build, the build used to score predictions.

time_zone : string

The time zone of this model.

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

interaction_terms : boolean

Whether to search for interaction terms.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

last_output_location : string

The output JSON for the last build.

current_build_state : string

The status of the current model build. One of “succeeded”, “failed”, “queued”, or “running,”or “idle”, if no build has been attempted.

box_cox_transformation : boolean

Whether to transform data so that it assumes a normal distribution. Valid only with continuous models.

builds : list:

A list of trained models available for making predictions.
- id : integer
    The ID of the model build.
- name : string
    The name of the model build.
- description : string
    A description of the model build.
- created_at : string
    The time the model build was created.
- root_mean_squared_error : number/float
    A key metric for continuous models. Nil for other model types.
- roc_auc : number/float
    A key metric for binary, multinomial, and ordinal models. Nil for other
    model types.
- r_squared_error : number/float
    A key metric for continuous models. Nil for other model types.

user : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

current_build_exception : string

Exception message, if applicable, of the current model build.

primary_key : string

The unique ID (primary key) of the training dataset.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

credential_id : integer

The ID of the credential used to read the target table. Defaults to the user’s default credential.

updated_at : string/date-time

The time the model was updated.

put_predictions(id, primary_key, table_name, **kwargs)

Add a table on which to apply the predictive model

Parameters:

id : integer

The ID of the model to which to apply the prediction.

primary_key : list

The primary key or composite keys of the table being predicted.

table_name : string

The qualified name of the table on which to apply the predictive model.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

output_table : string, optional

The qualified name of the table to be created which will contain the model’s predictions.

limiting_sql : string, optional

A SQL WHERE clause used to scope the rows to be predicted.

Returns:

id : integer

The ID of the model to which to apply the prediction.

table_name : string

The qualified name of the table on which to apply the predictive model.

limiting_sql : string

A SQL WHERE clause used to scope the rows to be predicted.

primary_key : list

The primary key or composite keys of the table being predicted.

state : string

The status of the prediction. One of: “succeeded”, “failed”, “queued”, or “running,”or “idle”, if no build has been attempted.

output_table : string

The qualified name of the table to be created which will contain the model’s predictions.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour
put_projects(id, project_id)

Add a models to a project

Parameters:

id : integer

ID of the resource

project_id : integer

The ID of the project

Returns:

None

Response code 204: success

put_schedules(id, schedule)

Schedule the model build

Parameters:

id : integer

The ID of the model associated with this schedule.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour
Returns:

id : integer

The ID of the model associated with this schedule.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour
put_shares_groups(id, group_ids, permission_level)

Set the permissions groups has on this object

Parameters:

id : integer

ID of the resource to be shared

group_ids : list

An array of one or more group IDs

permission_level : string

Options are: “read”, “write”, or “manage”

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
put_shares_users(id, user_ids, permission_level)

Set the permissions users have on this object

Parameters:

id : integer

ID of the resource to be shared

user_ids : list

An array of one or more user IDs

permission_level : string

Options are: “read”, “write”, or “manage”

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
Predictions
class Predictions(session, return_type='civis')

Methods

delete_runs(id, run_id) Cancel a run
get(id) Show the specified prediction
get_runs(id, run_id) Check status of a run
list(**kwargs) List predictions
list_runs(id, **kwargs) List runs for the given prediction
list_schedules(id) Show the prediction schedule
patch(id, **kwargs) Update a prediction
post_runs(id) Start a run
put_schedules(id, **kwargs) Schedule the prediction
delete_runs(id, run_id)

Cancel a run

Parameters:

id : integer

The ID of the prediction.

run_id : integer

The ID of the run.

Returns:

None

Response code 202: success

get(id)

Show the specified prediction

Parameters:

id : integer

The ID of the prediction.

Returns:

id : integer

The ID of the prediction.

error : string

The error, if any, of the last run of this prediction.

state : string

The state of the last run of this prediction.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

started_at : string/date-time

The start time of the last run of this prediction.

scored_tables : list:

An array of created prediction tables.
- id : integer
    The ID of the table with created predictions.
- score_stats : list::
    An array of metrics on the created predictions.
    - score_name : string
        The name of the score.
    - min_score : number/float
        The minimum score.
    - avg_score : number/float
        The average score.
    - max_score : number/float
        The maximum score.
    - histogram : list
        The histogram of the distribution of scores.
- schema : string
    The schema of table with created predictions.
- name : string
    The name of table with created predictions.
- created_at : string/date-time
    The time when the table with created predictions was created.

model_id : integer

The ID of the model used for this prediction.

limiting_sql : string

A SQL WHERE clause used to scope the rows to be predicted.

scored_table_id : integer

The ID of the source table for this prediction.

output_table_name : string

The name of the output table for this prediction.

finished_at : string/date-time

The end time of the last run of this prediction.

primary_key : list

The primary key or composite keys of the table being predicted.

scored_table_name : string

The name of the source table for this prediction.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour
get_runs(id, run_id)

Check status of a run

Parameters:

id : integer

The ID of the prediction.

run_id : integer

The ID of the run.

Returns:

id : integer

The ID of the prediction run.

score_stats : list:

An array of metrics on the created predictions.
- score_name : string
    The name of the score.
- min_score : number/float
    The minimum score.
- avg_score : number/float
    The average score.
- max_score : number/float
    The maximum score.
- histogram : list
    The histogram of the distribution of scores.

name : string

The name of table created by this predictions run.

prediction_id : integer

The ID of the prediction.

state : string

The state of the prediction run.

created_at : string/date-time

The time when the table with created predictions was created.

exception : string

The exception, if any, returned by the prediction run.

list(**kwargs)

List predictions

Parameters:

model_id : integer, optional

If specified, only return predictions associated with this model ID.

Returns:

model_id : integer

The ID of the model used for this prediction.

id : integer

The ID of the prediction.

scored_table_id : integer

The ID of the source table for this prediction.

output_table_name : string

The name of the output table for this prediction.

finished_at : string/date-time

The end time of the last run of this prediction.

error : string

The error, if any, of the last run of this prediction.

state : string

The state of the last run of this prediction.

scored_table_name : string

The name of the source table for this prediction.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

started_at : string/date-time

The start time of the last run of this prediction.

list_runs(id, **kwargs)

List runs for the given prediction

Parameters:

id : integer

The ID of the prediction.

limit : integer, optional

Number of results to return. Defaults to 20. Maximum allowed is 100.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to id. Must be one of: id.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to desc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

id : integer

The ID of the prediction run.

score_stats : list:

An array of metrics on the created predictions.
- score_name : string
    The name of the score.
- min_score : number/float
    The minimum score.
- avg_score : number/float
    The average score.
- max_score : number/float
    The maximum score.
- histogram : list
    The histogram of the distribution of scores.

name : string

The name of table created by this predictions run.

prediction_id : integer

The ID of the prediction.

state : string

The state of the prediction run.

created_at : string/date-time

The time when the table with created predictions was created.

exception : string

The exception, if any, returned by the prediction run.

list_schedules(id)

Show the prediction schedule

Parameters:

id : integer

ID of the prediction associated with this schedule.

Returns:

id : integer

ID of the prediction associated with this schedule.

score_on_model_build : boolean

Whether the prediction will run after a rebuild of the associated model.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour
patch(id, **kwargs)

Update a prediction

Parameters:

id : integer

The ID of the prediction.

primary_key : list, optional

The primary key or composite keys of the table being predicted.

limiting_sql : string, optional

A SQL WHERE clause used to scope the rows to be predicted.

output_table_name : string, optional

The name of the output table for this prediction.

Returns:

id : integer

The ID of the prediction.

error : string

The error, if any, of the last run of this prediction.

state : string

The state of the last run of this prediction.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

started_at : string/date-time

The start time of the last run of this prediction.

scored_tables : list:

An array of created prediction tables.
- id : integer
    The ID of the table with created predictions.
- score_stats : list::
    An array of metrics on the created predictions.
    - score_name : string
        The name of the score.
    - min_score : number/float
        The minimum score.
    - avg_score : number/float
        The average score.
    - max_score : number/float
        The maximum score.
    - histogram : list
        The histogram of the distribution of scores.
- schema : string
    The schema of table with created predictions.
- name : string
    The name of table with created predictions.
- created_at : string/date-time
    The time when the table with created predictions was created.

model_id : integer

The ID of the model used for this prediction.

limiting_sql : string

A SQL WHERE clause used to scope the rows to be predicted.

scored_table_id : integer

The ID of the source table for this prediction.

output_table_name : string

The name of the output table for this prediction.

finished_at : string/date-time

The end time of the last run of this prediction.

primary_key : list

The primary key or composite keys of the table being predicted.

scored_table_name : string

The name of the source table for this prediction.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour
post_runs(id)

Start a run

Parameters:

id : integer

The ID of the prediction.

Returns:

id : integer

The ID of the prediction run.

score_stats : list:

An array of metrics on the created predictions.
- score_name : string
    The name of the score.
- min_score : number/float
    The minimum score.
- avg_score : number/float
    The average score.
- max_score : number/float
    The maximum score.
- histogram : list
    The histogram of the distribution of scores.

name : string

The name of table created by this predictions run.

prediction_id : integer

The ID of the prediction.

state : string

The state of the prediction run.

created_at : string/date-time

The time when the table with created predictions was created.

exception : string

The exception, if any, returned by the prediction run.

put_schedules(id, **kwargs)

Schedule the prediction

Parameters:

id : integer

ID of the prediction associated with this schedule.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

score_on_model_build : boolean, optional

Whether the prediction will run after a rebuild of the associated model.

Returns:

id : integer

ID of the prediction associated with this schedule.

score_on_model_build : boolean

Whether the prediction will run after a rebuild of the associated model.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour
Projects
class Projects(session, return_type='civis')

Methods

delete_shares_groups(id, group_id) Revoke the permissions a group has on this object
delete_shares_users(id, user_id) Revoke the permissions a user has on this object
get(project_id) Get a detailed view of a project and the objects in it
list(**kwargs) List projects
list_shares(id) List users and groups permissioned on this object
post(description, name, **kwargs) Create a project
put(project_id, **kwargs) Update a project
put_archive(id, status) Update the archive status of this object
put_shares_groups(id, group_ids, ...) Set the permissions groups has on this object
put_shares_users(id, user_ids, permission_level) Set the permissions users have on this object
delete_shares_groups(id, group_id)

Revoke the permissions a group has on this object

Parameters:

id : integer

ID of the resource to be revoked

group_id : integer

ID of the group

Returns:

None

Response code 204: success

delete_shares_users(id, user_id)

Revoke the permissions a user has on this object

Parameters:

id : integer

ID of the resource to be revoked

user_id : integer

ID of the user

Returns:

None

Response code 204: success

get(project_id)

Get a detailed view of a project and the objects in it

Parameters:

project_id : integer

Returns:

note : string

id : integer

The ID for this project.

name : string

The name of this project.

reports : list:

- id : integer
    The object ID.
- state : string
- name : string
- updated_at : string/time
- created_at : string/time

scripts : list:

- id : integer
    The object ID.
- name : string
- finished_at : string/time
- state : string
- created_at : string/time
- updated_at : string/time
- type : string

created_at : string/time

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

files : list:

- id : integer
    The object ID.
- file_name : string
- updated_at : string/time
- file_size : integer
- created_at : string/time

all_objects : list:

- project_id : integer
- icon : string
- fco_type : string
- sub_type : string
- author : string
- archived : string
    The archival status of the requested object(s).
- name : string
- object_type : string
- object_id : integer

imports : list:

- id : integer
    The object ID.
- name : string
- finished_at : string/time
- state : string
- created_at : string/time
- updated_at : string/time
- type : string

models : list:

- id : integer
    The object ID.
- state : string
- name : string
- updated_at : string/time
- created_at : string/time

app_instances : list:

- id : integer
    The object ID.
- slug : string
- name : string
- updated_at : string/time
- created_at : string/time

auto_share : boolean

archived : string

The archival status of the requested object(s).

surveys : list:

- id : integer
    The object ID.
- updated_at : string/time
- created_at : string/time

description : string

A description of the project

users : list:

Users who can see the project
- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

script_templates : list:

- id : integer
    The object ID.
- name : string
- updated_at : string/time
- created_at : string/time

updated_at : string/time

tables : list:

- schema : string
- name : string
- created_at : string/time
- row_count : integer
- column_count : integer
- updated_at : string/time
list(**kwargs)

List projects

Parameters:

author : string, optional

If specified, return projects owned by this author. It accepts a comma- separated list of author ids.

permission : string, optional

A permissions string, one of “read”, “write”, or “manage”. Lists only projects for which the current user has that permission.

archived : string, optional

The archival status of the requested object(s).

limit : integer, optional

Number of results to return. Defaults to 20. Maximum allowed is 1000.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to updated_at. Must be one of: updated_at, name, created_at.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to desc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

id : integer

The ID for this project.

name : string

The name of this project.

auto_share : boolean

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

description : string

A description of the project

users : list:

Users who can see the project
- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

archived : string

The archival status of the requested object(s).

created_at : string/time

updated_at : string/time

list_shares(id)

List users and groups permissioned on this object

Parameters:

id : integer

The ID of the object.

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
post(description, name, **kwargs)

Create a project

Parameters:

description : string

A description of the project

name : string

The name of this project.

note : string, optional

Notes for the project

hidden : boolean, optional

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

Returns:

note : string

id : integer

The ID for this project.

name : string

The name of this project.

reports : list:

- id : integer
    The object ID.
- state : string
- name : string
- updated_at : string/time
- created_at : string/time

scripts : list:

- id : integer
    The object ID.
- name : string
- finished_at : string/time
- state : string
- created_at : string/time
- updated_at : string/time
- type : string

created_at : string/time

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

files : list:

- id : integer
    The object ID.
- file_name : string
- updated_at : string/time
- file_size : integer
- created_at : string/time

all_objects : list:

- project_id : integer
- icon : string
- fco_type : string
- sub_type : string
- author : string
- archived : string
    The archival status of the requested object(s).
- name : string
- object_type : string
- object_id : integer

imports : list:

- id : integer
    The object ID.
- name : string
- finished_at : string/time
- state : string
- created_at : string/time
- updated_at : string/time
- type : string

models : list:

- id : integer
    The object ID.
- state : string
- name : string
- updated_at : string/time
- created_at : string/time

app_instances : list:

- id : integer
    The object ID.
- slug : string
- name : string
- updated_at : string/time
- created_at : string/time

auto_share : boolean

archived : string

The archival status of the requested object(s).

surveys : list:

- id : integer
    The object ID.
- updated_at : string/time
- created_at : string/time

description : string

A description of the project

users : list:

Users who can see the project
- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

script_templates : list:

- id : integer
    The object ID.
- name : string
- updated_at : string/time
- created_at : string/time

updated_at : string/time

tables : list:

- schema : string
- name : string
- created_at : string/time
- row_count : integer
- column_count : integer
- updated_at : string/time
put(project_id, **kwargs)

Update a project

Parameters:

project_id : integer

description : string, optional

A description of the project

note : string, optional

Notes for the project

name : string, optional

The name of this project.

Returns:

note : string

id : integer

The ID for this project.

name : string

The name of this project.

reports : list:

- id : integer
    The object ID.
- state : string
- name : string
- updated_at : string/time
- created_at : string/time

scripts : list:

- id : integer
    The object ID.
- name : string
- finished_at : string/time
- state : string
- created_at : string/time
- updated_at : string/time
- type : string

created_at : string/time

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

files : list:

- id : integer
    The object ID.
- file_name : string
- updated_at : string/time
- file_size : integer
- created_at : string/time

all_objects : list:

- project_id : integer
- icon : string
- fco_type : string
- sub_type : string
- author : string
- archived : string
    The archival status of the requested object(s).
- name : string
- object_type : string
- object_id : integer

imports : list:

- id : integer
    The object ID.
- name : string
- finished_at : string/time
- state : string
- created_at : string/time
- updated_at : string/time
- type : string

models : list:

- id : integer
    The object ID.
- state : string
- name : string
- updated_at : string/time
- created_at : string/time

app_instances : list:

- id : integer
    The object ID.
- slug : string
- name : string
- updated_at : string/time
- created_at : string/time

auto_share : boolean

archived : string

The archival status of the requested object(s).

surveys : list:

- id : integer
    The object ID.
- updated_at : string/time
- created_at : string/time

description : string

A description of the project

users : list:

Users who can see the project
- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

script_templates : list:

- id : integer
    The object ID.
- name : string
- updated_at : string/time
- created_at : string/time

updated_at : string/time

tables : list:

- schema : string
- name : string
- created_at : string/time
- row_count : integer
- column_count : integer
- updated_at : string/time
put_archive(id, status)

Update the archive status of this object

Parameters:

id : integer

The ID of the object.

status : boolean

The desired archived status of the object.

Returns:

note : string

id : integer

The ID for this project.

name : string

The name of this project.

reports : list:

- id : integer
    The object ID.
- state : string
- name : string
- updated_at : string/time
- created_at : string/time

scripts : list:

- id : integer
    The object ID.
- name : string
- finished_at : string/time
- state : string
- created_at : string/time
- updated_at : string/time
- type : string

created_at : string/time

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

files : list:

- id : integer
    The object ID.
- file_name : string
- updated_at : string/time
- file_size : integer
- created_at : string/time

all_objects : list:

- project_id : integer
- icon : string
- fco_type : string
- sub_type : string
- author : string
- archived : string
    The archival status of the requested object(s).
- name : string
- object_type : string
- object_id : integer

imports : list:

- id : integer
    The object ID.
- name : string
- finished_at : string/time
- state : string
- created_at : string/time
- updated_at : string/time
- type : string

models : list:

- id : integer
    The object ID.
- state : string
- name : string
- updated_at : string/time
- created_at : string/time

app_instances : list:

- id : integer
    The object ID.
- slug : string
- name : string
- updated_at : string/time
- created_at : string/time

auto_share : boolean

archived : string

The archival status of the requested object(s).

surveys : list:

- id : integer
    The object ID.
- updated_at : string/time
- created_at : string/time

description : string

A description of the project

users : list:

Users who can see the project
- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

script_templates : list:

- id : integer
    The object ID.
- name : string
- updated_at : string/time
- created_at : string/time

updated_at : string/time

tables : list:

- schema : string
- name : string
- created_at : string/time
- row_count : integer
- column_count : integer
- updated_at : string/time
put_shares_groups(id, group_ids, permission_level)

Set the permissions groups has on this object

Parameters:

id : integer

ID of the resource to be shared

group_ids : list

An array of one or more group IDs

permission_level : string

Options are: “read”, “write”, or “manage”

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
put_shares_users(id, user_ids, permission_level)

Set the permissions users have on this object

Parameters:

id : integer

ID of the resource to be shared

user_ids : list

An array of one or more user IDs

permission_level : string

Options are: “read”, “write”, or “manage”

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
Queries
class Queries(session, return_type='civis')

Methods

delete_runs(id, run_id) Cancel a run
get(id) Get details about a query
get_runs(id, run_id) Check status of a run
list(**kwargs) List all queries
list_runs(id, **kwargs) List runs for the given query
post(sql, database, preview_rows, **kwargs) Execute a query
post_runs(id) Start a run
put_scripts(id, script_id) Update the query’s associated script
delete_runs(id, run_id)

Cancel a run

Parameters:

id : integer

The ID of the query.

run_id : integer

The ID of the run.

Returns:

None

Response code 202: success

get(id)

Get details about a query

Parameters:

id : integer

The query ID.

Returns:

id : integer

The query ID.

exception : string

Exception returned from the query, null if the query was a success.

created_at : string/time

credential : integer

The credential ID.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

database : integer

The database ID.

result_columns : list

A preview of columns returned by the query.

report_id : integer

The ID of the report associated with this query.

started_at : string/date-time

The start time of the last run.

last_run_id : integer

The ID of the last run.

sql : string

The SQL to execute.

finished_at : string/date-time

The end time of the last run.

result_rows : list

A preview of rows returned by the query.

name : string

The name of the query.

script_id : integer

The ID of the script associated with this query.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

state : string

The state of the last run.

updated_at : string/time

get_runs(id, run_id)

Check status of a run

Parameters:

id : integer

The ID of the query.

run_id : integer

The ID of the run.

Returns:

id : integer

The ID of the run.

is_cancel_requested : boolean

True if run cancel requested, else false.

finished_at : string/time

The time the last run completed.

state : string

The state of the run, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

query_id : integer

The ID of the query.

started_at : string/time

The time the last run started at.

error : string

The error, if any, returned by the run.

list(**kwargs)

List all queries

Parameters:

database_id : integer, optional

The database ID.

author_id : integer, optional

The author of the query.

created_before : string, optional

An upper bound for the creation date of the query.

limit : integer, optional

Number of results to return. Defaults to 20. Maximum allowed is 50.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to created_at. Must be one of: created_at.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to desc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

id : integer

The query ID.

exception : string

Exception returned from the query, null if the query was a success.

created_at : string/time

credential : integer

The credential ID.

database : integer

The database ID.

result_columns : list

A preview of columns returned by the query.

report_id : integer

The ID of the report associated with this query.

started_at : string/date-time

The start time of the last run.

last_run_id : integer

The ID of the last run.

sql : string

The SQL to execute.

finished_at : string/date-time

The end time of the last run.

result_rows : list

A preview of rows returned by the query.

script_id : integer

The ID of the script associated with this query.

state : string

The state of the last run.

updated_at : string/time

preview_rows : integer

The number of rows to save from the query’s result (maximum: 100).

list_runs(id, **kwargs)

List runs for the given query

Parameters:

id : integer

The ID of the query.

limit : integer, optional

Number of results to return. Defaults to 20. Maximum allowed is 100.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to id. Must be one of: id.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to desc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

id : integer

The ID of the run.

is_cancel_requested : boolean

True if run cancel requested, else false.

finished_at : string/time

The time the last run completed.

state : string

The state of the run, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

query_id : integer

The ID of the query.

started_at : string/time

The time the last run started at.

error : string

The error, if any, returned by the run.

post(sql, database, preview_rows, **kwargs)

Execute a query

Parameters:

sql : string

The SQL to execute.

database : integer

The database ID.

preview_rows : integer

The number of rows to save from the query’s result (maximum: 100).

unquoted : boolean, optional

If true, will not quote fields.

filename_prefix : string, optional

The output filename prefix.

column_delimiter : string, optional

The delimiter to use. One of comma or tab, or pipe [default: comma].

credential : integer, optional

The credential ID.

include_header : boolean, optional

Whether the CSV output should include a header row [default: true].

interactive : boolean, optional

Deprecated and not used.

hidden : boolean, optional

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

compression : string, optional

The type of compression. One of gzip or zip, or none [default: gzip].

Returns:

exception : string

Exception returned from the query, null if the query was a success.

finished_at : string/date-time

The end time of the last run.

result_rows : list

A preview of rows returned by the query.

interactive : boolean

Deprecated and not used.

unquoted : boolean

If true, will not quote fields.

column_delimiter : string

The delimiter to use. One of comma or tab, or pipe [default: comma].

result_columns : list

A preview of columns returned by the query.

created_at : string/time

script_id : integer

The ID of the script associated with this query.

id : integer

The query ID.

filename_prefix : string

The output filename prefix.

state : string

The state of the last run.

credential : integer

The credential ID.

database : integer

The database ID.

include_header : boolean

Whether the CSV output should include a header row [default: true].

report_id : integer

The ID of the report associated with this query.

started_at : string/date-time

The start time of the last run.

last_run_id : integer

The ID of the last run.

sql : string

The SQL to execute.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

updated_at : string/time

compression : string

The type of compression. One of gzip or zip, or none [default: gzip].

preview_rows : integer

The number of rows to save from the query’s result (maximum: 100).

post_runs(id)

Start a run

Parameters:

id : integer

The ID of the query.

Returns:

id : integer

The ID of the run.

is_cancel_requested : boolean

True if run cancel requested, else false.

finished_at : string/time

The time the last run completed.

state : string

The state of the run, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

query_id : integer

The ID of the query.

started_at : string/time

The time the last run started at.

error : string

The error, if any, returned by the run.

put_scripts(id, script_id)

Update the query’s associated script

Parameters:

id : integer

The query ID.

script_id : integer

The ID of the script associated with this query.

Returns:

id : integer

The query ID.

exception : string

Exception returned from the query, null if the query was a success.

created_at : string/time

credential : integer

The credential ID.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

database : integer

The database ID.

result_columns : list

A preview of columns returned by the query.

report_id : integer

The ID of the report associated with this query.

started_at : string/date-time

The start time of the last run.

last_run_id : integer

The ID of the last run.

sql : string

The SQL to execute.

finished_at : string/date-time

The end time of the last run.

result_rows : list

A preview of rows returned by the query.

name : string

The name of the query.

script_id : integer

The ID of the script associated with this query.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

state : string

The state of the last run.

updated_at : string/time

Reports
class Reports(session, return_type='civis')

Methods

delete_grants(id) Revoke permisstion for this report to perform Civis platform API operations on
delete_projects(id, project_id) Remove a Report from a project
delete_shares_groups(id, group_id) Revoke the permissions a group has on this object
delete_shares_users(id, user_id) Revoke the permissions a user has on this object
get(id) Show a single report
list(**kwargs) List the reports visible to the current user
list_projects(id) List the projects a Report belongs to
list_shares(id) List users and groups permissioned on this object
list_snapshots(id) Get details about the report’s snapshot automation settings
patch(id, **kwargs) Update a report
patch_snapshots(id, **kwargs) Update the report’s snapshot automation settings
post(**kwargs) Create a report
post_grants(id) Grant this report the ability to perform Civis platform API operations on your
post_snapshots(id, **kwargs) Generate and optionally email a snapshot of the specified report
put_archive(id, status) Update the archive status of this object
put_projects(id, project_id) Add a Report to a project
put_shares_groups(id, group_ids, ...) Set the permissions groups has on this object
put_shares_users(id, user_ids, permission_level) Set the permissions users have on this object
delete_grants(id)

Revoke permisstion for this report to perform Civis platform API operations on your behalf

Parameters:

id : integer

The ID of this report.

Returns:

None

Response code 204: success

delete_projects(id, project_id)

Remove a Report from a project

Parameters:

id : integer

ID of the resource

project_id : integer

The ID of the project

Returns:

None

Response code 204: success

delete_shares_groups(id, group_id)

Revoke the permissions a group has on this object

Parameters:

id : integer

ID of the resource to be revoked

group_id : integer

ID of the group

Returns:

None

Response code 204: success

delete_shares_users(id, user_id)

Revoke the permissions a user has on this object

Parameters:

id : integer

ID of the resource to be revoked

user_id : integer

ID of the user

Returns:

None

Response code 204: success

get(id)

Show a single report

Parameters:

id : integer

The ID of this report.

Returns:

provide_api_key : boolean

Whether the report requests an API Key from the report viewer.

app_state : dict

Any application state blob for this report.

job_path : string

The link to details of the job that backs this report.

name : string

The name of the report.

projects : list:

A list of projects containing the report.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

template_id : integer

The ID of the template used for this report.

auth_code_url : string

config : string

Any configuration metadata for this report.

finished_at : string/time

The time that the report’s last run finished.

created_at : string/time

tableau_id : integer

id : integer

The ID of this report.

script : dict:

- id : integer
    The ID for the script.
- name : string
    The name of the script.
- sql : string
    The raw SQL query for the script.

valid_output_file : boolean

Whether the job (a script or a query) that backs the report currently has a valid output file.

state : string

The status of the report’s last run.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

api_key : string

A Civis API key that can be used by this report.

viz_updated_at : string/time

The time that the report’s visualization was last updated.

auth_data_url : string

user : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

archived : string

The archival status of the requested object(s).

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

api_key_id : integer

The ID of the API key. Can be used for auditing API use by this report.

updated_at : string/time

auth_thumbnail_url : string

URL for a thumbnail of the report.

list(**kwargs)

List the reports visible to the current user

Parameters:

type : string, optional

If specified, return report of these types. It accepts a comma-separated list, possible values are ‘tableau’, ‘other’.

author : string, optional

If specified, return reports from this author. It accepts a comma-separated list of author ids.

template_id : integer, optional

If specified, return reports using the provided Template.

archived : string, optional

The archival status of the requested object(s).

limit : integer, optional

Number of results to return. Defaults to 20. Maximum allowed is 50.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to updated_at. Must be one of: updated_at, name, created_at.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to desc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

id : integer

The ID of this report.

script : dict:

- id : integer
    The ID for the script.
- name : string
    The name of the script.
- sql : string
    The raw SQL query for the script.

job_path : string

The link to details of the job that backs this report.

name : string

The name of the report.

projects : list:

A list of projects containing the report.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

state : string

The status of the report’s last run.

user : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

template_id : integer

The ID of the template used for this report.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

viz_updated_at : string/time

The time that the report’s visualization was last updated.

finished_at : string/time

The time that the report’s last run finished.

archived : string

The archival status of the requested object(s).

created_at : string/time

tableau_id : integer

updated_at : string/time

auth_thumbnail_url : string

URL for a thumbnail of the report.

list_projects(id)

List the projects a Report belongs to

Parameters:

id : integer

The ID of the resource.

Returns:

id : integer

The ID for this project.

name : string

The name of this project.

auto_share : boolean

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

description : string

A description of the project

users : list:

Users who can see the project
- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

archived : string

The archival status of the requested object(s).

created_at : string/time

updated_at : string/time

list_shares(id)

List users and groups permissioned on this object

Parameters:

id : integer

The ID of the object.

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
list_snapshots(id)

Get details about the report’s snapshot automation settings

Parameters:

id : integer

The ID of this report.

Returns:

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

id : integer

The ID of this report.

width : integer

The width of the cropped snapshot image in screen pixels. The default value is 1440 pixels. Minimum value is 600 pixels.

height : integer

The height of the cropped snapshot image in screen pixels. The default value is 900 pixels. Minimum value is 600 pixels.

parent_id : integer

The ID of the parent job that will trigger this snapshot.

email_subject : string

Subject for Email.

finished_at : string/time

The time that the job’s last run finished.

send_email_on_completion : boolean

Whether the job will send emails on completion.

email_template : string

Custom email template.

state : string

The status of the job’s last run.

recipient_email_addresses : string

Email addresses to send report to, comma separated.

patch(id, **kwargs)

Update a report

Parameters:

id : integer

The ID of the report to modify.

provide_api_key : boolean, optional

Allow the report to provide an API key to front-end code.

app_state : dict, optional

The application state blob for this report.

code_body : string, optional

The code for the report visualization.

config : string, optional

template_id : integer, optional

The ID of the template used for this report. If null is passed, no template will back this report. Changes to the backing template will reset the report appState.

name : string, optional

The name of the report.

script_id : integer, optional

The ID of the job (a script or a query) used to create this report.

Returns:

provide_api_key : boolean

Whether the report requests an API Key from the report viewer.

app_state : dict

Any application state blob for this report.

job_path : string

The link to details of the job that backs this report.

name : string

The name of the report.

projects : list:

A list of projects containing the report.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

template_id : integer

The ID of the template used for this report.

auth_code_url : string

config : string

Any configuration metadata for this report.

finished_at : string/time

The time that the report’s last run finished.

created_at : string/time

tableau_id : integer

id : integer

The ID of this report.

script : dict:

- id : integer
    The ID for the script.
- name : string
    The name of the script.
- sql : string
    The raw SQL query for the script.

valid_output_file : boolean

Whether the job (a script or a query) that backs the report currently has a valid output file.

state : string

The status of the report’s last run.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

api_key : string

A Civis API key that can be used by this report.

viz_updated_at : string/time

The time that the report’s visualization was last updated.

auth_data_url : string

user : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

archived : string

The archival status of the requested object(s).

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

api_key_id : integer

The ID of the API key. Can be used for auditing API use by this report.

updated_at : string/time

auth_thumbnail_url : string

URL for a thumbnail of the report.

patch_snapshots(id, **kwargs)

Update the report’s snapshot automation settings

Parameters:

id : integer

The ID of this report.

send_email_on_completion : boolean, optional

Whether the job will send emails on completion.

width : integer, optional

The width of the cropped snapshot image in screen pixels. The default value is 1440 pixels. Minimum value is 600 pixels.

height : integer, optional

The height of the cropped snapshot image in screen pixels. The default value is 900 pixels. Minimum value is 600 pixels.

parent_id : integer, optional

The ID of the parent job that will trigger this snapshot.

email_subject : string, optional

Subject for Email.

finished_at : string/time, optional

The time that the job’s last run finished.

recipient_email_addresses : string, optional

Email addresses to send report to, comma separated.

email_template : string, optional

Custom email template.

state : string, optional

The status of the job’s last run.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour
Returns:

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

id : integer

The ID of this report.

width : integer

The width of the cropped snapshot image in screen pixels. The default value is 1440 pixels. Minimum value is 600 pixels.

height : integer

The height of the cropped snapshot image in screen pixels. The default value is 900 pixels. Minimum value is 600 pixels.

parent_id : integer

The ID of the parent job that will trigger this snapshot.

email_subject : string

Subject for Email.

finished_at : string/time

The time that the job’s last run finished.

send_email_on_completion : boolean

Whether the job will send emails on completion.

email_template : string

Custom email template.

state : string

The status of the job’s last run.

recipient_email_addresses : string

Email addresses to send report to, comma separated.

post(**kwargs)

Create a report

Parameters:

provide_api_key : boolean, optional

Allow the report to provide an API key to front-end code.

app_state : dict, optional

Any application state blob for this report.

code_body : string, optional

The code for the report visualization.

name : string, optional

The name of the report.

template_id : integer, optional

The ID of the template used for this report.

script_id : integer, optional

The ID of the job (a script or a query) used to create this report.

hidden : boolean, optional

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

Returns:

provide_api_key : boolean

Whether the report requests an API Key from the report viewer.

app_state : dict

Any application state blob for this report.

job_path : string

The link to details of the job that backs this report.

name : string

The name of the report.

projects : list:

A list of projects containing the report.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

template_id : integer

The ID of the template used for this report.

auth_code_url : string

config : string

Any configuration metadata for this report.

finished_at : string/time

The time that the report’s last run finished.

created_at : string/time

tableau_id : integer

id : integer

The ID of this report.

script : dict:

- id : integer
    The ID for the script.
- name : string
    The name of the script.
- sql : string
    The raw SQL query for the script.

valid_output_file : boolean

Whether the job (a script or a query) that backs the report currently has a valid output file.

state : string

The status of the report’s last run.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

api_key : string

A Civis API key that can be used by this report.

viz_updated_at : string/time

The time that the report’s visualization was last updated.

auth_data_url : string

user : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

archived : string

The archival status of the requested object(s).

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

api_key_id : integer

The ID of the API key. Can be used for auditing API use by this report.

updated_at : string/time

auth_thumbnail_url : string

URL for a thumbnail of the report.

post_grants(id)

Grant this report the ability to perform Civis platform API operations on your behalf

Parameters:

id : integer

The ID of this report.

Returns:

provide_api_key : boolean

Whether the report requests an API Key from the report viewer.

app_state : dict

Any application state blob for this report.

job_path : string

The link to details of the job that backs this report.

name : string

The name of the report.

projects : list:

A list of projects containing the report.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

template_id : integer

The ID of the template used for this report.

auth_code_url : string

config : string

Any configuration metadata for this report.

finished_at : string/time

The time that the report’s last run finished.

created_at : string/time

tableau_id : integer

id : integer

The ID of this report.

script : dict:

- id : integer
    The ID for the script.
- name : string
    The name of the script.
- sql : string
    The raw SQL query for the script.

valid_output_file : boolean

Whether the job (a script or a query) that backs the report currently has a valid output file.

state : string

The status of the report’s last run.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

api_key : string

A Civis API key that can be used by this report.

viz_updated_at : string/time

The time that the report’s visualization was last updated.

auth_data_url : string

user : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

archived : string

The archival status of the requested object(s).

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

api_key_id : integer

The ID of the API key. Can be used for auditing API use by this report.

updated_at : string/time

auth_thumbnail_url : string

URL for a thumbnail of the report.

post_snapshots(id, **kwargs)

Generate and optionally email a snapshot of the specified report

Parameters:

id : integer

The ID of this report.

send_email_on_completion : boolean, optional

Whether the job will send emails on completion.

width : integer, optional

The width of the cropped snapshot image in screen pixels. The default value is 1440 pixels. Minimum value is 600 pixels.

height : integer, optional

The height of the cropped snapshot image in screen pixels. The default value is 900 pixels. Minimum value is 600 pixels.

parent_id : integer, optional

The ID of the parent job that will trigger this snapshot.

email_subject : string, optional

Subject for Email.

finished_at : string/time, optional

The time that the job’s last run finished.

recipient_email_addresses : string, optional

Email addresses to send report to, comma separated.

email_template : string, optional

Custom email template.

state : string, optional

The status of the job’s last run.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour
Returns:

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

id : integer

The ID of this report.

width : integer

The width of the cropped snapshot image in screen pixels. The default value is 1440 pixels. Minimum value is 600 pixels.

height : integer

The height of the cropped snapshot image in screen pixels. The default value is 900 pixels. Minimum value is 600 pixels.

parent_id : integer

The ID of the parent job that will trigger this snapshot.

email_subject : string

Subject for Email.

finished_at : string/time

The time that the job’s last run finished.

send_email_on_completion : boolean

Whether the job will send emails on completion.

email_template : string

Custom email template.

state : string

The status of the job’s last run.

recipient_email_addresses : string

Email addresses to send report to, comma separated.

put_archive(id, status)

Update the archive status of this object

Parameters:

id : integer

The ID of the object.

status : boolean

The desired archived status of the object.

Returns:

provide_api_key : boolean

Whether the report requests an API Key from the report viewer.

app_state : dict

Any application state blob for this report.

job_path : string

The link to details of the job that backs this report.

name : string

The name of the report.

projects : list:

A list of projects containing the report.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

template_id : integer

The ID of the template used for this report.

auth_code_url : string

config : string

Any configuration metadata for this report.

finished_at : string/time

The time that the report’s last run finished.

created_at : string/time

tableau_id : integer

id : integer

The ID of this report.

script : dict:

- id : integer
    The ID for the script.
- name : string
    The name of the script.
- sql : string
    The raw SQL query for the script.

valid_output_file : boolean

Whether the job (a script or a query) that backs the report currently has a valid output file.

state : string

The status of the report’s last run.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

api_key : string

A Civis API key that can be used by this report.

viz_updated_at : string/time

The time that the report’s visualization was last updated.

auth_data_url : string

user : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

archived : string

The archival status of the requested object(s).

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

api_key_id : integer

The ID of the API key. Can be used for auditing API use by this report.

updated_at : string/time

auth_thumbnail_url : string

URL for a thumbnail of the report.

put_projects(id, project_id)

Add a Report to a project

Parameters:

id : integer

ID of the resource

project_id : integer

The ID of the project

Returns:

None

Response code 204: success

put_shares_groups(id, group_ids, permission_level)

Set the permissions groups has on this object

Parameters:

id : integer

ID of the resource to be shared

group_ids : list

An array of one or more group IDs

permission_level : string

Options are: “read”, “write”, or “manage”

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
put_shares_users(id, user_ids, permission_level)

Set the permissions users have on this object

Parameters:

id : integer

ID of the resource to be shared

user_ids : list

An array of one or more user IDs

permission_level : string

Options are: “read”, “write”, or “manage”

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
Scripts
class Scripts(session, return_type='civis')

Methods

delete_containers_projects(id, project_id) Remove a container docker from a project
delete_containers_runs(id, run_id) Cancel a run
delete_containers_shares_groups(id, group_id) Revoke the permissions a group has on this object
delete_containers_shares_users(id, user_id) Revoke the permissions a user has on this object
delete_custom_projects(id, project_id) Remove a Job from a project
delete_custom_runs(id, run_id) Cancel a run
delete_custom_shares_groups(id, group_id) Revoke the permissions a group has on this object
delete_custom_shares_users(id, user_id) Revoke the permissions a user has on this object
delete_javascript_projects(id, project_id) Remove a scripted sql from a project
delete_javascript_runs(id, run_id) Cancel a run
delete_javascript_shares_groups(id, group_id) Revoke the permissions a group has on this object
delete_javascript_shares_users(id, user_id) Revoke the permissions a user has on this object
delete_python3_projects(id, project_id) Remove a python docker from a project
delete_python3_runs(id, run_id) Cancel a run
delete_python3_shares_groups(id, group_id) Revoke the permissions a group has on this object
delete_python3_shares_users(id, user_id) Revoke the permissions a user has on this object
delete_r_projects(id, project_id) Remove a r docker from a project
delete_r_runs(id, run_id) Cancel a run
delete_r_shares_groups(id, group_id) Revoke the permissions a group has on this object
delete_r_shares_users(id, user_id) Revoke the permissions a user has on this object
delete_sql_projects(id, project_id) Remove a scripts from a project
delete_sql_runs(id, run_id) Cancel a run
delete_sql_shares_groups(id, group_id) Revoke the permissions a group has on this object
delete_sql_shares_users(id, user_id) Revoke the permissions a user has on this object
get(id) Get details about a script
get_containers(id) View a container
get_containers_runs(id, run_id) Check status of a run
get_custom(id) Get a CustomScript
get_custom_runs(id, run_id) Check status of a run
get_javascript(id) Get a JavaScript Script
get_javascript_runs(id, run_id) Check status of a run
get_python3(id) Get a Python Script
get_python3_runs(id, run_id) Check status of a run
get_r(id) Get an R Script
get_r_runs(id, run_id) Check status of a run
get_sql(id) Get a SQL script
get_sql_runs(id, run_id) Check status of a run
list(**kwargs) List scripts
list_containers_projects(id) List the projects a container docker belongs to
list_containers_runs(id, **kwargs) List runs for the given container
list_containers_runs_logs(id, run_id, **kwargs) Get the logs for a run
list_containers_runs_outputs(id, run_id, ...) List the outputs for a run
list_containers_shares(id) List users and groups permissioned on this object
list_custom(**kwargs) List Custom Scripts
list_custom_projects(id) List the projects a Job belongs to
list_custom_runs(id, **kwargs) List runs for the given custom
list_custom_runs_logs(id, run_id, **kwargs) Get the logs for a run
list_custom_runs_outputs(id, run_id, **kwargs) List the outputs for a run
list_custom_shares(id) List users and groups permissioned on this object
list_history(id) Get the run history and outputs of this script
list_javascript_projects(id) List the projects a scripted sql belongs to
list_javascript_runs(id, **kwargs) List runs for the given javascript
list_javascript_runs_logs(id, run_id, **kwargs) Get the logs for a run
list_javascript_runs_outputs(id, run_id, ...) List the outputs for a run
list_javascript_shares(id) List users and groups permissioned on this object
list_python3_projects(id) List the projects a python docker belongs to
list_python3_runs(id, **kwargs) List runs for the given python
list_python3_runs_logs(id, run_id, **kwargs) Get the logs for a run
list_python3_runs_outputs(id, run_id, **kwargs) List the outputs for a run
list_python3_shares(id) List users and groups permissioned on this object
list_r_projects(id) List the projects a r docker belongs to
list_r_runs(id, **kwargs) List runs for the given r
list_r_runs_logs(id, run_id, **kwargs) Get the logs for a run
list_r_runs_outputs(id, run_id, **kwargs) List the outputs for a run
list_r_shares(id) List users and groups permissioned on this object
list_sql_projects(id) List the projects a scripts belongs to
list_sql_runs(id, **kwargs) List runs for the given sql
list_sql_runs_logs(id, run_id, **kwargs) Get the logs for a run
list_sql_runs_outputs(id, run_id, **kwargs) List the outputs for a run
list_sql_shares(id) List users and groups permissioned on this object
list_types() List available script types
patch(id, **kwargs) Update a script
patch_containers(id, **kwargs) Update a container
patch_containers_runs(id, run_id, **kwargs) Update a run
patch_custom(id, **kwargs) Update some attributes of this CustomScript
patch_javascript(id, **kwargs) Update some attributes of this JavaScript Script
patch_python3(id, **kwargs) Update some attributes of this Python Script
patch_r(id, **kwargs) Update some attributes of this R Script
patch_sql(id, **kwargs) Update some attributes of this SQL script
post(sql, name, credential_id, ...) Create a script
post_cancel(id) Cancel a run
post_containers(required_resources, ...) Create a container
post_containers_runs(id) Start a run
post_containers_runs_heartbeats(id, run_id) Indicate that the given run is being handled
post_containers_runs_logs(id, run_id, **kwargs) Add log messages
post_containers_runs_outputs(id, run_id, ...) Add an output for a run
post_custom(from_template_id, **kwargs) Create a CustomScript
post_custom_runs(id) Start a run
post_custom_runs_outputs(id, run_id, ...) Add an output for a run
post_javascript(name, source, ...) Create a JavaScript Script
post_javascript_runs(id) Start a run
post_javascript_runs_outputs(id, run_id, ...) Add an output for a run
post_python3(name, source, **kwargs) Create a Python Script
post_python3_runs(id) Start a run
post_python3_runs_outputs(id, run_id, ...) Add an output for a run
post_r(name, source, **kwargs) Create an R Script
post_r_runs(id) Start a run
post_r_runs_outputs(id, run_id, object_type, ...) Add an output for a run
post_run(id) Run a script
post_sql(name, remote_host_id, sql, ...) Create a SQL script
post_sql_runs(id) Start a run
put_containers(id, required_resources, ...) Edit a container
put_containers_archive(id, status) Update the archive status of this object
put_containers_projects(id, project_id) Add a container docker to a project
put_containers_shares_groups(id, group_ids, ...) Set the permissions groups has on this object
put_containers_shares_users(id, user_ids, ...) Set the permissions users have on this object
put_custom(id, **kwargs) Replace all attributes of this CustomScript
put_custom_archive(id, status) Update the archive status of this object
put_custom_projects(id, project_id) Add a Job to a project
put_custom_shares_groups(id, group_ids, ...) Set the permissions groups has on this object
put_custom_shares_users(id, user_ids, ...) Set the permissions users have on this object
put_javascript(id, name, source, ...) Replace all attributes of this JavaScript Script
put_javascript_archive(id, status) Update the archive status of this object
put_javascript_projects(id, project_id) Add a scripted sql to a project
put_javascript_shares_groups(id, group_ids, ...) Set the permissions groups has on this object
put_javascript_shares_users(id, user_ids, ...) Set the permissions users have on this object
put_python3(id, name, source, **kwargs) Replace all attributes of this Python Script
put_python3_archive(id, status) Update the archive status of this object
put_python3_projects(id, project_id) Add a python docker to a project
put_python3_shares_groups(id, group_ids, ...) Set the permissions groups has on this object
put_python3_shares_users(id, user_ids, ...) Set the permissions users have on this object
put_r(id, name, source, **kwargs) Replace all attributes of this R Script
put_r_archive(id, status) Update the archive status of this object
put_r_projects(id, project_id) Add a r docker to a project
put_r_shares_groups(id, group_ids, ...) Set the permissions groups has on this object
put_r_shares_users(id, user_ids, ...) Set the permissions users have on this object
put_sql(id, name, remote_host_id, sql, ...) Replace all attributes of this SQL script
put_sql_archive(id, status) Update the archive status of this object
put_sql_projects(id, project_id) Add a scripts to a project
put_sql_shares_groups(id, group_ids, ...) Set the permissions groups has on this object
put_sql_shares_users(id, user_ids, ...) Set the permissions users have on this object
delete_containers_projects(id, project_id)

Remove a container docker from a project

Parameters:

id : integer

ID of the resource

project_id : integer

The ID of the project

Returns:

None

Response code 204: success

delete_containers_runs(id, run_id)

Cancel a run

Parameters:

id : integer

The ID of the container.

run_id : integer

The ID of the run.

Returns:

None

Response code 202: success

delete_containers_shares_groups(id, group_id)

Revoke the permissions a group has on this object

Parameters:

id : integer

ID of the resource to be revoked

group_id : integer

ID of the group

Returns:

None

Response code 204: success

delete_containers_shares_users(id, user_id)

Revoke the permissions a user has on this object

Parameters:

id : integer

ID of the resource to be revoked

user_id : integer

ID of the user

Returns:

None

Response code 204: success

delete_custom_projects(id, project_id)

Remove a Job from a project

Parameters:

id : integer

ID of the resource

project_id : integer

The ID of the project

Returns:

None

Response code 204: success

delete_custom_runs(id, run_id)

Cancel a run

Parameters:

id : integer

The ID of the custom.

run_id : integer

The ID of the run.

Returns:

None

Response code 202: success

delete_custom_shares_groups(id, group_id)

Revoke the permissions a group has on this object

Parameters:

id : integer

ID of the resource to be revoked

group_id : integer

ID of the group

Returns:

None

Response code 204: success

delete_custom_shares_users(id, user_id)

Revoke the permissions a user has on this object

Parameters:

id : integer

ID of the resource to be revoked

user_id : integer

ID of the user

Returns:

None

Response code 204: success

delete_javascript_projects(id, project_id)

Remove a scripted sql from a project

Parameters:

id : integer

ID of the resource

project_id : integer

The ID of the project

Returns:

None

Response code 204: success

delete_javascript_runs(id, run_id)

Cancel a run

Parameters:

id : integer

The ID of the javascript.

run_id : integer

The ID of the run.

Returns:

None

Response code 202: success

delete_javascript_shares_groups(id, group_id)

Revoke the permissions a group has on this object

Parameters:

id : integer

ID of the resource to be revoked

group_id : integer

ID of the group

Returns:

None

Response code 204: success

delete_javascript_shares_users(id, user_id)

Revoke the permissions a user has on this object

Parameters:

id : integer

ID of the resource to be revoked

user_id : integer

ID of the user

Returns:

None

Response code 204: success

delete_python3_projects(id, project_id)

Remove a python docker from a project

Parameters:

id : integer

ID of the resource

project_id : integer

The ID of the project

Returns:

None

Response code 204: success

delete_python3_runs(id, run_id)

Cancel a run

Parameters:

id : integer

The ID of the python.

run_id : integer

The ID of the run.

Returns:

None

Response code 202: success

delete_python3_shares_groups(id, group_id)

Revoke the permissions a group has on this object

Parameters:

id : integer

ID of the resource to be revoked

group_id : integer

ID of the group

Returns:

None

Response code 204: success

delete_python3_shares_users(id, user_id)

Revoke the permissions a user has on this object

Parameters:

id : integer

ID of the resource to be revoked

user_id : integer

ID of the user

Returns:

None

Response code 204: success

delete_r_projects(id, project_id)

Remove a r docker from a project

Parameters:

id : integer

ID of the resource

project_id : integer

The ID of the project

Returns:

None

Response code 204: success

delete_r_runs(id, run_id)

Cancel a run

Parameters:

id : integer

The ID of the r.

run_id : integer

The ID of the run.

Returns:

None

Response code 202: success

delete_r_shares_groups(id, group_id)

Revoke the permissions a group has on this object

Parameters:

id : integer

ID of the resource to be revoked

group_id : integer

ID of the group

Returns:

None

Response code 204: success

delete_r_shares_users(id, user_id)

Revoke the permissions a user has on this object

Parameters:

id : integer

ID of the resource to be revoked

user_id : integer

ID of the user

Returns:

None

Response code 204: success

delete_sql_projects(id, project_id)

Remove a scripts from a project

Parameters:

id : integer

ID of the resource

project_id : integer

The ID of the project

Returns:

None

Response code 204: success

delete_sql_runs(id, run_id)

Cancel a run

Parameters:

id : integer

The ID of the sql.

run_id : integer

The ID of the run.

Returns:

None

Response code 202: success

delete_sql_shares_groups(id, group_id)

Revoke the permissions a group has on this object

Parameters:

id : integer

ID of the resource to be revoked

group_id : integer

ID of the group

Returns:

None

Response code 204: success

delete_sql_shares_users(id, user_id)

Revoke the permissions a user has on this object

Parameters:

id : integer

ID of the resource to be revoked

user_id : integer

ID of the user

Returns:

None

Response code 204: success

get(id)

Get details about a script

Parameters:

id : integer

The ID for the script.

Returns:

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

template_dependents_count : integer

How many other scripts use this one as a template.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template this script uses, if any.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

next_run_at : string/time

The time of the next scheduled run.

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

sql : string

The raw SQL query for the script.

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

expanded_arguments : dict

Expanded arguments for use in injecting into different environments.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

template_script_id : integer

The ID of the template script, if any.

updated_at : string/time

The time this script was last updated.

type : string

The type of script.

get_containers(id)

View a container

Parameters:

id : integer

The ID for the script.

Returns:

remote_host_credential_id : integer

The id of the database credentials to pass into the environment of the container.

name : string

The name of the container.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

required_resources : dict:

- cpu : integer
    The number of CPU shares to allocate for the container. Each core has
    1024 shares.
- disk_space : number/float
    The amount of disk space, in GB, to allocate for the container. This
    space will be used to hold the git repo configured for the container
    and anything your container writes to /tmp or /data. Fractional values
    (e.g. 0.25) are supported.
- memory : integer
    The amount of RAM to allocate for the container (in MiB).

template_dependents_count : integer

How many other scripts use this one as a template.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template script.

git_credential_id : integer

The id of the git credential to be used when checking out the specified git repo. If not supplied, the first git credential you’ve submitted will be used. Unnecessary if no git repo is specified or the git repo is public.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

docker_command : string

The command to run on the container. Will be run via sh as: [“sh”, “-c”, dockerCommand]

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

repo_http_uri : string

The location of a github repo to clone into the container, e.g. github.com/my-user/my-repo.git.

docker_image_name : string

The name of the docker image to pull from DockerHub.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

repo_ref : string

The tag or branch of the github repo to clone into the container.

docker_image_tag : string

The tag of the docker image to pull from DockerHub (default: latest).

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

archived : string

The archival status of the requested object(s).

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g Container)

get_containers_runs(id, run_id)

Check status of a run

Parameters:

id : integer

The ID of the container.

run_id : integer

The ID of the run.

Returns:

id : integer

The ID of the run.

is_cancel_requested : boolean

True if run cancel requested, else false.

finished_at : string/time

The time the last run completed.

state : string

The state of the run, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

container_id : integer

The ID of the container.

started_at : string/time

The time the last run started at.

error : string

The error, if any, returned by the run.

get_custom(id)

Get a CustomScript

Parameters:

id : integer

Returns:

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

remote_host_id : integer

The remote host ID that this script will connect to.

target_project_id : integer

Target project to which script outputs will be added.

from_template_id : integer

The ID of the template script.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

created_at : string/time

The time this script was created.

id : integer

The ID for the script.

code_preview : string

The code that this script will run with arguments inserted.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

time_zone : string

The time zone of this script.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

credential_id : integer

The credential that this script will use.

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g Custom)

get_custom_runs(id, run_id)

Check status of a run

Parameters:

id : integer

The ID of the custom.

run_id : integer

The ID of the run.

Returns:

id : integer

The ID of the run.

is_cancel_requested : boolean

True if run cancel requested, else false.

finished_at : string/time

The time the last run completed.

state : string

The state of the run, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

custom_id : integer

The ID of the custom.

started_at : string/time

The time the last run started at.

error : string

The error, if any, returned by the run.

get_javascript(id)

Get a JavaScript Script

Parameters:

id : integer

Returns:

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

source : string

The body/text of the script.

template_dependents_count : integer

How many other scripts use this one as a template.

remote_host_id : integer

The remote host ID that this script will connect to.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template this script uses, if any.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

next_run_at : string/time

The time of the next scheduled run.

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

credential_id : integer

The credential that this script will use.

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g SQL, Container, Python, R, JavaScript)

get_javascript_runs(id, run_id)

Check status of a run

Parameters:

id : integer

The ID of the javascript.

run_id : integer

The ID of the run.

Returns:

id : integer

The ID of the run.

is_cancel_requested : boolean

True if run cancel requested, else false.

finished_at : string/time

The time the last run completed.

state : string

The state of the run, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

error : string

The error, if any, returned by the run.

started_at : string/time

The time the last run started at.

javascript_id : integer

The ID of the javascript.

get_python3(id)

Get a Python Script

Parameters:

id : integer

Returns:

required_resources : dict:

- cpu : integer
    The number of CPU shares to allocate for the container. Each core has
    1024 shares. Must be at least 2 shares.
- disk_space : number/float
    The amount of disk space, in GB, to allocate for the container. This
    space will be used to hold the git repo configured for the container
    and anything your container writes to /tmp or /data. Fractional values
    (e.g. 0.25) are supported.
- memory : integer
    The amount of RAM to allocate for the container (in MiB). Must be at
    least 4 MiB.

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

source : string

The body/text of the script.

template_dependents_count : integer

How many other scripts use this one as a template.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template this script uses, if any.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

next_run_at : string/time

The time of the next scheduled run.

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g SQL, Container, Python, R, JavaScript)

get_python3_runs(id, run_id)

Check status of a run

Parameters:

id : integer

The ID of the python.

run_id : integer

The ID of the run.

Returns:

id : integer

The ID of the run.

is_cancel_requested : boolean

True if run cancel requested, else false.

finished_at : string/time

The time the last run completed.

state : string

The state of the run, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

python_id : integer

The ID of the python.

started_at : string/time

The time the last run started at.

error : string

The error, if any, returned by the run.

get_r(id)

Get an R Script

Parameters:

id : integer

Returns:

required_resources : dict:

- cpu : integer
    The number of CPU shares to allocate for the container. Each core has
    1024 shares. Must be at least 2 shares.
- disk_space : number/float
    The amount of disk space, in GB, to allocate for the container. This
    space will be used to hold the git repo configured for the container
    and anything your container writes to /tmp or /data. Fractional values
    (e.g. 0.25) are supported.
- memory : integer
    The amount of RAM to allocate for the container (in MiB). Must be at
    least 4 MiB.

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

source : string

The body/text of the script.

template_dependents_count : integer

How many other scripts use this one as a template.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template this script uses, if any.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

next_run_at : string/time

The time of the next scheduled run.

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g SQL, Container, Python, R, JavaScript)

get_r_runs(id, run_id)

Check status of a run

Parameters:

id : integer

The ID of the r.

run_id : integer

The ID of the run.

Returns:

id : integer

The ID of the run.

is_cancel_requested : boolean

True if run cancel requested, else false.

finished_at : string/time

The time the last run completed.

state : string

The state of the run, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

r_id : integer

The ID of the r.

started_at : string/time

The time the last run started at.

error : string

The error, if any, returned by the run.

get_sql(id)

Get a SQL script

Parameters:

id : integer

Returns:

csv_settings : dict:

- unquoted : boolean
    Whether or not to quote fields. Default: false
- force_multifile : boolean
    Whether or not the csv should be split into multiple files. Default:
    false
- filename_prefix : string
    A user specified filename prefix for the output file to have. Default:
    null
- column_delimiter : string
    Which delimiter to use, one of "comma", "tab", or "pipe". Default:
    comma
- include_header : boolean
    Whether or not to include headers in the output data. Default: true
- compression : string
    The type of compression to use, if any, one of "none", "zip", or
    "gzip". Default: gzip

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

template_dependents_count : integer

How many other scripts use this one as a template.

remote_host_id : integer

The remote host ID that this script will connect to.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template this script uses, if any.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

next_run_at : string/time

The time of the next scheduled run.

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

code_preview : string

The code that this script will run with arguments inserted.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

sql : string

The raw SQL query for the script.

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

expanded_arguments : dict

Expanded arguments for use in injecting into different environments.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

credential_id : integer

The credential that this script will use.

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g SQL, Container, Python, R, JavaScript)

get_sql_runs(id, run_id)

Check status of a run

Parameters:

id : integer

The ID of the sql.

run_id : integer

The ID of the run.

Returns:

id : integer

The ID of this run.

is_cancel_requested : boolean

True if run cancel requested, else false.

finished_at : string/time

The time that this run finished.

state : string

The state of this run.

output : list:

A list of the outputs of this script.
- output_name : string
    The name of the output file.
- path : string
    The temporary link to download this output file, valid for 36 hours.
- file_id : integer
    The unique ID of the output file.

error : string

The error message for this run, if present.

started_at : string/time

The time the last run started.

sql_id : integer

The ID of this sql.

list(**kwargs)

List scripts

Parameters:

type : string, optional

If specified, return objects of these types. The valid types are ‘sql’, ‘python3’, ‘r’, and ‘javascript’.

author : string, optional

If specified, return objects from this author. Must use user IDs. A comma separated list of IDs is also accepted to return objects from multiple authors.

status : string, optional

If specified, returns objects with one of these statuses. It accepts a comma-separated list, possible values are ‘running’, ‘failed’, ‘succeeded’, ‘idle’, ‘scheduled’.

archived : string, optional

The archival status of the requested object(s).

limit : integer, optional

Number of results to return. Defaults to 20. Maximum allowed is 50.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to updated_at. Must be one of: updated_at, name, created_at, last_run.updated_at.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to desc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

id : integer

The ID for the script.

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

from_template_id : integer

The ID of the template this script uses, if any.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

is_template : boolean

Whether others scripts use this one as a template.

parent_id : integer

The ID of the parent job that will trigger this script

finished_at : string/time

The time that the script’s last run finished.

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

created_at : string/time

The time this script was created.

archived : string

The archival status of the requested object(s).

time_zone : string

The time zone of this script.

template_script_id : integer

The ID of the template script, if any.

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g SQL, Container, Python, R, JavaScript)

list_containers_projects(id)

List the projects a container docker belongs to

Parameters:

id : integer

The ID of the resource.

Returns:

id : integer

The ID for this project.

name : string

The name of this project.

auto_share : boolean

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

description : string

A description of the project

users : list:

Users who can see the project
- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

archived : string

The archival status of the requested object(s).

created_at : string/time

updated_at : string/time

list_containers_runs(id, **kwargs)

List runs for the given container

Parameters:

id : integer

The ID of the container.

limit : integer, optional

Number of results to return. Defaults to 20. Maximum allowed is 100.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to id. Must be one of: id.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to desc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

id : integer

The ID of the run.

is_cancel_requested : boolean

True if run cancel requested, else false.

finished_at : string/time

The time the last run completed.

state : string

The state of the run, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

container_id : integer

The ID of the container.

started_at : string/time

The time the last run started at.

error : string

The error, if any, returned by the run.

list_containers_runs_logs(id, run_id, **kwargs)

Get the logs for a run

Parameters:

id : integer

The ID of the container.

run_id : integer

The ID of the run.

last_id : integer, optional

The ID of the last log message received. Log entries with this ID value or lower will be omitted.Logs are sorted by ID if this value is provided, and are otherwise sorted by createdAt.

limit : integer, optional

The maximum number of log messages to return. Default of 10000.

Returns:

id : integer

The ID of the log.

message : string

The log message.

level : string

The level of the log. One of unknown,fatal,error,warn,info,debug.

created_at : string/date-time

The time the log was created.

list_containers_runs_outputs(id, run_id, **kwargs)

List the outputs for a run

Parameters:

id : integer

The ID of the output.

run_id : integer

The ID of the run.

limit : integer, optional

Number of results to return. Defaults to its maximum of 50.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to created_at. Must be one of: created_at, id.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to desc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

link : string

The link to retrieve the output object.

object_type : string

The type of the output. Valid values are File, Report, Table, or Project

object_id : integer

The ID of the output object.

name : string

The name of the output object.

list_containers_shares(id)

List users and groups permissioned on this object

Parameters:

id : integer

The ID of the object.

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
list_custom(**kwargs)

List Custom Scripts

Parameters:

from_template_id : integer, optional

The template script that this app uses.

author : string, optional

If specified, return objects from this author. Must use user IDs. A comma separated list of IDs is also accepted to return objects from multiple authors.

status : string, optional

If specified, returns objects with one of these statuses. It accepts a comma-separated list, possible values are ‘running’, ‘failed’, ‘succeeded’, ‘idle’, ‘scheduled’.

archived : string, optional

The archival status of the requested object(s).

limit : integer, optional

Number of results to return. Defaults to its maximum of 50.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to updated_at. Must be one of: updated_at, name, created_at.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to asc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

id : integer

The ID for the script.

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

from_template_id : integer

The ID of the template script.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

state : string

The status of the script’s last run.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

parent_id : integer

The ID of the parent job that will trigger this script

finished_at : string/time

The time that the script’s last run finished.

time_zone : string

The time zone of this script.

created_at : string/time

The time this script was created.

archived : string

The archival status of the requested object(s).

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g Custom)

list_custom_projects(id)

List the projects a Job belongs to

Parameters:

id : integer

The ID of the resource.

Returns:

id : integer

The ID for this project.

name : string

The name of this project.

auto_share : boolean

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

description : string

A description of the project

users : list:

Users who can see the project
- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

archived : string

The archival status of the requested object(s).

created_at : string/time

updated_at : string/time

list_custom_runs(id, **kwargs)

List runs for the given custom

Parameters:

id : integer

The ID of the custom.

limit : integer, optional

Number of results to return. Defaults to 20. Maximum allowed is 100.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to id. Must be one of: id.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to desc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

id : integer

The ID of the run.

is_cancel_requested : boolean

True if run cancel requested, else false.

finished_at : string/time

The time the last run completed.

state : string

The state of the run, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

custom_id : integer

The ID of the custom.

started_at : string/time

The time the last run started at.

error : string

The error, if any, returned by the run.

list_custom_runs_logs(id, run_id, **kwargs)

Get the logs for a run

Parameters:

id : integer

The ID of the custom.

run_id : integer

The ID of the run.

last_id : integer, optional

The ID of the last log message received. Log entries with this ID value or lower will be omitted.Logs are sorted by ID if this value is provided, and are otherwise sorted by createdAt.

limit : integer, optional

The maximum number of log messages to return. Default of 10000.

Returns:

id : integer

The ID of the log.

message : string

The log message.

level : string

The level of the log. One of unknown,fatal,error,warn,info,debug.

created_at : string/date-time

The time the log was created.

list_custom_runs_outputs(id, run_id, **kwargs)

List the outputs for a run

Parameters:

id : integer

The ID of the output.

run_id : integer

The ID of the run.

limit : integer, optional

Number of results to return. Defaults to its maximum of 50.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to created_at. Must be one of: created_at, id.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to desc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

link : string

The link to retrieve the output object.

object_type : string

The type of the output. Valid values are File, Report, Table, or Project

object_id : integer

The ID of the output object.

name : string

The name of the output object.

list_custom_shares(id)

List users and groups permissioned on this object

Parameters:

id : integer

The ID of the object.

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
list_history(id)

Get the run history and outputs of this script

Parameters:

id : integer

The ID for the script.

Returns:

id : integer

The ID of this run.

is_cancel_requested : boolean

True if run cancel requested, else false.

finished_at : string/time

The time that this run finished.

state : string

The state of this run.

output : list:

A list of the outputs of this script.
- output_name : string
    The name of the output file.
- path : string
    The temporary link to download this output file, valid for 36 hours.
- file_id : integer
    The unique ID of the output file.

sql_id : integer

The ID of this sql.

error : string

The error message for this run, if present.

list_javascript_projects(id)

List the projects a scripted sql belongs to

Parameters:

id : integer

The ID of the resource.

Returns:

id : integer

The ID for this project.

name : string

The name of this project.

auto_share : boolean

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

description : string

A description of the project

users : list:

Users who can see the project
- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

archived : string

The archival status of the requested object(s).

created_at : string/time

updated_at : string/time

list_javascript_runs(id, **kwargs)

List runs for the given javascript

Parameters:

id : integer

The ID of the javascript.

limit : integer, optional

Number of results to return. Defaults to 20. Maximum allowed is 100.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to id. Must be one of: id.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to desc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

id : integer

The ID of the run.

is_cancel_requested : boolean

True if run cancel requested, else false.

finished_at : string/time

The time the last run completed.

state : string

The state of the run, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

error : string

The error, if any, returned by the run.

started_at : string/time

The time the last run started at.

javascript_id : integer

The ID of the javascript.

list_javascript_runs_logs(id, run_id, **kwargs)

Get the logs for a run

Parameters:

id : integer

The ID of the javascript.

run_id : integer

The ID of the run.

last_id : integer, optional

The ID of the last log message received. Log entries with this ID value or lower will be omitted.Logs are sorted by ID if this value is provided, and are otherwise sorted by createdAt.

limit : integer, optional

The maximum number of log messages to return. Default of 10000.

Returns:

id : integer

The ID of the log.

message : string

The log message.

level : string

The level of the log. One of unknown,fatal,error,warn,info,debug.

created_at : string/date-time

The time the log was created.

list_javascript_runs_outputs(id, run_id, **kwargs)

List the outputs for a run

Parameters:

id : integer

The ID of the output.

run_id : integer

The ID of the run.

limit : integer, optional

Number of results to return. Defaults to its maximum of 50.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to created_at. Must be one of: created_at, id.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to desc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

link : string

The link to retrieve the output object.

object_type : string

The type of the output. Valid values are File, Report, Table, or Project

object_id : integer

The ID of the output object.

name : string

The name of the output object.

list_javascript_shares(id)

List users and groups permissioned on this object

Parameters:

id : integer

The ID of the object.

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
list_python3_projects(id)

List the projects a python docker belongs to

Parameters:

id : integer

The ID of the resource.

Returns:

id : integer

The ID for this project.

name : string

The name of this project.

auto_share : boolean

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

description : string

A description of the project

users : list:

Users who can see the project
- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

archived : string

The archival status of the requested object(s).

created_at : string/time

updated_at : string/time

list_python3_runs(id, **kwargs)

List runs for the given python

Parameters:

id : integer

The ID of the python.

limit : integer, optional

Number of results to return. Defaults to 20. Maximum allowed is 100.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to id. Must be one of: id.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to desc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

id : integer

The ID of the run.

is_cancel_requested : boolean

True if run cancel requested, else false.

finished_at : string/time

The time the last run completed.

state : string

The state of the run, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

python_id : integer

The ID of the python.

started_at : string/time

The time the last run started at.

error : string

The error, if any, returned by the run.

list_python3_runs_logs(id, run_id, **kwargs)

Get the logs for a run

Parameters:

id : integer

The ID of the python.

run_id : integer

The ID of the run.

last_id : integer, optional

The ID of the last log message received. Log entries with this ID value or lower will be omitted.Logs are sorted by ID if this value is provided, and are otherwise sorted by createdAt.

limit : integer, optional

The maximum number of log messages to return. Default of 10000.

Returns:

id : integer

The ID of the log.

message : string

The log message.

level : string

The level of the log. One of unknown,fatal,error,warn,info,debug.

created_at : string/date-time

The time the log was created.

list_python3_runs_outputs(id, run_id, **kwargs)

List the outputs for a run

Parameters:

id : integer

The ID of the output.

run_id : integer

The ID of the run.

limit : integer, optional

Number of results to return. Defaults to its maximum of 50.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to created_at. Must be one of: created_at, id.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to desc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

link : string

The link to retrieve the output object.

object_type : string

The type of the output. Valid values are File, Report, Table, or Project

object_id : integer

The ID of the output object.

name : string

The name of the output object.

list_python3_shares(id)

List users and groups permissioned on this object

Parameters:

id : integer

The ID of the object.

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
list_r_projects(id)

List the projects a r docker belongs to

Parameters:

id : integer

The ID of the resource.

Returns:

id : integer

The ID for this project.

name : string

The name of this project.

auto_share : boolean

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

description : string

A description of the project

users : list:

Users who can see the project
- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

archived : string

The archival status of the requested object(s).

created_at : string/time

updated_at : string/time

list_r_runs(id, **kwargs)

List runs for the given r

Parameters:

id : integer

The ID of the r.

limit : integer, optional

Number of results to return. Defaults to 20. Maximum allowed is 100.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to id. Must be one of: id.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to desc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

id : integer

The ID of the run.

is_cancel_requested : boolean

True if run cancel requested, else false.

finished_at : string/time

The time the last run completed.

state : string

The state of the run, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

r_id : integer

The ID of the r.

started_at : string/time

The time the last run started at.

error : string

The error, if any, returned by the run.

list_r_runs_logs(id, run_id, **kwargs)

Get the logs for a run

Parameters:

id : integer

The ID of the r.

run_id : integer

The ID of the run.

last_id : integer, optional

The ID of the last log message received. Log entries with this ID value or lower will be omitted.Logs are sorted by ID if this value is provided, and are otherwise sorted by createdAt.

limit : integer, optional

The maximum number of log messages to return. Default of 10000.

Returns:

id : integer

The ID of the log.

message : string

The log message.

level : string

The level of the log. One of unknown,fatal,error,warn,info,debug.

created_at : string/date-time

The time the log was created.

list_r_runs_outputs(id, run_id, **kwargs)

List the outputs for a run

Parameters:

id : integer

The ID of the output.

run_id : integer

The ID of the run.

limit : integer, optional

Number of results to return. Defaults to its maximum of 50.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to created_at. Must be one of: created_at, id.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to desc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

link : string

The link to retrieve the output object.

object_type : string

The type of the output. Valid values are File, Report, Table, or Project

object_id : integer

The ID of the output object.

name : string

The name of the output object.

list_r_shares(id)

List users and groups permissioned on this object

Parameters:

id : integer

The ID of the object.

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
list_sql_projects(id)

List the projects a scripts belongs to

Parameters:

id : integer

The ID of the resource.

Returns:

id : integer

The ID for this project.

name : string

The name of this project.

auto_share : boolean

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

description : string

A description of the project

users : list:

Users who can see the project
- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

archived : string

The archival status of the requested object(s).

created_at : string/time

updated_at : string/time

list_sql_runs(id, **kwargs)

List runs for the given sql

Parameters:

id : integer

The ID of the sql.

limit : integer, optional

Number of results to return. Defaults to 20. Maximum allowed is 100.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to id. Must be one of: id.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to desc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

id : integer

The ID of this run.

is_cancel_requested : boolean

True if run cancel requested, else false.

finished_at : string/time

The time that this run finished.

state : string

The state of this run.

output : list:

A list of the outputs of this script.
- output_name : string
    The name of the output file.
- path : string
    The temporary link to download this output file, valid for 36 hours.
- file_id : integer
    The unique ID of the output file.

error : string

The error message for this run, if present.

started_at : string/time

The time the last run started.

sql_id : integer

The ID of this sql.

list_sql_runs_logs(id, run_id, **kwargs)

Get the logs for a run

Parameters:

id : integer

The ID of the sql.

run_id : integer

The ID of the run.

last_id : integer, optional

The ID of the last log message received. Log entries with this ID value or lower will be omitted.Logs are sorted by ID if this value is provided, and are otherwise sorted by createdAt.

limit : integer, optional

The maximum number of log messages to return. Default of 10000.

Returns:

id : integer

The ID of the log.

message : string

The log message.

level : string

The level of the log. One of unknown,fatal,error,warn,info,debug.

created_at : string/date-time

The time the log was created.

list_sql_runs_outputs(id, run_id, **kwargs)

List the outputs for a run

Parameters:

id : integer

The ID of the output.

run_id : integer

The ID of the run.

limit : integer, optional

Number of results to return. Defaults to its maximum of 50.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to created_at. Must be one of: created_at, id.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to desc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

link : string

The link to retrieve the output object.

object_type : string

The type of the output. Valid values are File, Report, Table, or Project

object_id : integer

The ID of the output object.

name : string

The name of the output object.

list_sql_shares(id)

List users and groups permissioned on this object

Parameters:

id : integer

The ID of the object.

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
list_types()

List available script types

Returns:

name : string

The name of the type.

patch(id, **kwargs)

Update a script

Parameters:

id : integer

The ID for the script.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

params : list, optional:

A definition of the parameters this script accepts in the arguments field.
Cannot be set if this script uses a template script.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

sql : string, optional

The raw SQL query for the script.

parent_id : integer, optional

The ID of the parent job that will trigger this script

name : string, optional

The name of the script.

template_script_id : integer, optional

The ID of the template script, if any. A script cannot both have a template script and be a template for other scripts.

arguments : dict, optional

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

notifications : dict, optional:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on
Returns:

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

template_dependents_count : integer

How many other scripts use this one as a template.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template this script uses, if any.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

next_run_at : string/time

The time of the next scheduled run.

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

sql : string

The raw SQL query for the script.

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

expanded_arguments : dict

Expanded arguments for use in injecting into different environments.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

template_script_id : integer

The ID of the template script, if any.

updated_at : string/time

The time this script was last updated.

type : string

The type of script.

patch_containers(id, **kwargs)

Update a container

Parameters:

id : integer

The ID for the script.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

repo_http_uri : string, optional

The location of a github repo to clone into the container, e.g. github.com/my-user/my-repo.git.

name : string, optional

The name of the container.

time_zone : string, optional

The time zone of this script.

arguments : dict, optional

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

required_resources : dict, optional:

- cpu : integer
    The number of CPU shares to allocate for the container. Each core has
    1024 shares.
- disk_space : number/float
    The amount of disk space, in GB, to allocate for the container. This
    space will be used to hold the git repo configured for the container
    and anything your container writes to /tmp or /data. Fractional values
    (e.g. 0.25) are supported.
- memory : integer
    The amount of RAM to allocate for the container (in MiB).

remote_host_credential_id : integer, optional

The id of the database credentials to pass into the environment of the container.

notifications : dict, optional:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

repo_ref : string, optional

The tag or branch of the github repo to clone into the container.

git_credential_id : integer, optional

The id of the git credential to be used when checking out the specified git repo. If not supplied, the first git credential you’ve submitted will be used. Unnecessary if no git repo is specified or the git repo is public.

parent_id : integer, optional

The ID of the parent job that will trigger this script

docker_command : string, optional

The command to run on the container. Will be run via sh as: [“sh”, “-c”, dockerCommand]

user_context : string, optional

“runner” or “author”, who to execute the script as when run as a template.

params : list, optional:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

docker_image_name : string, optional

The name of the docker image to pull from DockerHub.

target_project_id : integer, optional

Target project to which script outputs will be added.

docker_image_tag : string, optional

The tag of the docker image to pull from DockerHub (default: latest).

Returns:

remote_host_credential_id : integer

The id of the database credentials to pass into the environment of the container.

name : string

The name of the container.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

required_resources : dict:

- cpu : integer
    The number of CPU shares to allocate for the container. Each core has
    1024 shares.
- disk_space : number/float
    The amount of disk space, in GB, to allocate for the container. This
    space will be used to hold the git repo configured for the container
    and anything your container writes to /tmp or /data. Fractional values
    (e.g. 0.25) are supported.
- memory : integer
    The amount of RAM to allocate for the container (in MiB).

template_dependents_count : integer

How many other scripts use this one as a template.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template script.

git_credential_id : integer

The id of the git credential to be used when checking out the specified git repo. If not supplied, the first git credential you’ve submitted will be used. Unnecessary if no git repo is specified or the git repo is public.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

docker_command : string

The command to run on the container. Will be run via sh as: [“sh”, “-c”, dockerCommand]

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

repo_http_uri : string

The location of a github repo to clone into the container, e.g. github.com/my-user/my-repo.git.

docker_image_name : string

The name of the docker image to pull from DockerHub.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

repo_ref : string

The tag or branch of the github repo to clone into the container.

docker_image_tag : string

The tag of the docker image to pull from DockerHub (default: latest).

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

archived : string

The archival status of the requested object(s).

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g Container)

patch_containers_runs(id, run_id, **kwargs)

Update a run

Parameters:

id : integer

The ID for the script.

run_id : integer

The ID of the script run.

bocce_accepted_at : string/date-time, optional

The time when a bocce worker began processing the script.

bocce_started_at : string/date-time, optional

The time when a bocce worker began executing the script.

state : string, optional

The state of the script.

Returns:

None

Response code 204: success

patch_custom(id, **kwargs)

Update some attributes of this CustomScript

Parameters:

id : integer

The ID for the script.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

parent_id : integer, optional

The ID of the parent job that will trigger this script

notifications : dict, optional:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

time_zone : string, optional

The time zone of this script.

name : string, optional

The name of the script.

credential_id : integer, optional

The credential that this script will use.

arguments : dict, optional

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

remote_host_id : integer, optional

The remote host ID that this script will connect to.

target_project_id : integer, optional

Target project to which script outputs will be added.

Returns:

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

remote_host_id : integer

The remote host ID that this script will connect to.

target_project_id : integer

Target project to which script outputs will be added.

from_template_id : integer

The ID of the template script.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

created_at : string/time

The time this script was created.

id : integer

The ID for the script.

code_preview : string

The code that this script will run with arguments inserted.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

time_zone : string

The time zone of this script.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

credential_id : integer

The credential that this script will use.

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g Custom)

patch_javascript(id, **kwargs)

Update some attributes of this JavaScript Script

Parameters:

id : integer

The ID for the script.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

name : string, optional

The name of the script.

time_zone : string, optional

The time zone of this script.

source : string, optional

The body/text of the script.

arguments : dict, optional

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

notifications : dict, optional:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

target_project_id : integer, optional

Target project to which script outputs will be added.

parent_id : integer, optional

The ID of the parent job that will trigger this script

remote_host_id : integer, optional

The remote host ID that this script will connect to.

next_run_at : string/time, optional

The time of the next scheduled run.

user_context : string, optional

“runner” or “author”, who to execute the script as when run as a template.

params : list, optional:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

credential_id : integer, optional

The credential that this script will use.

Returns:

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

source : string

The body/text of the script.

template_dependents_count : integer

How many other scripts use this one as a template.

remote_host_id : integer

The remote host ID that this script will connect to.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template this script uses, if any.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

next_run_at : string/time

The time of the next scheduled run.

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

credential_id : integer

The credential that this script will use.

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g SQL, Container, Python, R, JavaScript)

patch_python3(id, **kwargs)

Update some attributes of this Python Script

Parameters:

id : integer

The ID for the script.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

name : string, optional

The name of the script.

time_zone : string, optional

The time zone of this script.

required_resources : dict, optional:

- cpu : integer
    The number of CPU shares to allocate for the container. Each core has
    1024 shares. Must be at least 2 shares.
- disk_space : number/float
    The amount of disk space, in GB, to allocate for the container. This
    space will be used to hold the git repo configured for the container
    and anything your container writes to /tmp or /data. Fractional values
    (e.g. 0.25) are supported.
- memory : integer
    The amount of RAM to allocate for the container (in MiB). Must be at
    least 4 MiB.

source : string, optional

The body/text of the script.

arguments : dict, optional

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

notifications : dict, optional:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

target_project_id : integer, optional

Target project to which script outputs will be added.

parent_id : integer, optional

The ID of the parent job that will trigger this script

next_run_at : string/time, optional

The time of the next scheduled run.

user_context : string, optional

“runner” or “author”, who to execute the script as when run as a template.

params : list, optional:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom
Returns:

required_resources : dict:

- cpu : integer
    The number of CPU shares to allocate for the container. Each core has
    1024 shares. Must be at least 2 shares.
- disk_space : number/float
    The amount of disk space, in GB, to allocate for the container. This
    space will be used to hold the git repo configured for the container
    and anything your container writes to /tmp or /data. Fractional values
    (e.g. 0.25) are supported.
- memory : integer
    The amount of RAM to allocate for the container (in MiB). Must be at
    least 4 MiB.

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

source : string

The body/text of the script.

template_dependents_count : integer

How many other scripts use this one as a template.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template this script uses, if any.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

next_run_at : string/time

The time of the next scheduled run.

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g SQL, Container, Python, R, JavaScript)

patch_r(id, **kwargs)

Update some attributes of this R Script

Parameters:

id : integer

The ID for the script.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

name : string, optional

The name of the script.

time_zone : string, optional

The time zone of this script.

required_resources : dict, optional:

- cpu : integer
    The number of CPU shares to allocate for the container. Each core has
    1024 shares. Must be at least 2 shares.
- disk_space : number/float
    The amount of disk space, in GB, to allocate for the container. This
    space will be used to hold the git repo configured for the container
    and anything your container writes to /tmp or /data. Fractional values
    (e.g. 0.25) are supported.
- memory : integer
    The amount of RAM to allocate for the container (in MiB). Must be at
    least 4 MiB.

source : string, optional

The body/text of the script.

arguments : dict, optional

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

notifications : dict, optional:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

target_project_id : integer, optional

Target project to which script outputs will be added.

parent_id : integer, optional

The ID of the parent job that will trigger this script

next_run_at : string/time, optional

The time of the next scheduled run.

user_context : string, optional

“runner” or “author”, who to execute the script as when run as a template.

params : list, optional:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom
Returns:

required_resources : dict:

- cpu : integer
    The number of CPU shares to allocate for the container. Each core has
    1024 shares. Must be at least 2 shares.
- disk_space : number/float
    The amount of disk space, in GB, to allocate for the container. This
    space will be used to hold the git repo configured for the container
    and anything your container writes to /tmp or /data. Fractional values
    (e.g. 0.25) are supported.
- memory : integer
    The amount of RAM to allocate for the container (in MiB). Must be at
    least 4 MiB.

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

source : string

The body/text of the script.

template_dependents_count : integer

How many other scripts use this one as a template.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template this script uses, if any.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

next_run_at : string/time

The time of the next scheduled run.

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g SQL, Container, Python, R, JavaScript)

patch_sql(id, **kwargs)

Update some attributes of this SQL script

Parameters:

id : integer

The ID for the script.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

csv_settings : dict, optional:

- unquoted : boolean
    Whether or not to quote fields. Default: false
- force_multifile : boolean
    Whether or not the csv should be split into multiple files. Default:
    false
- filename_prefix : string
    A user specified filename prefix for the output file to have. Default:
    null
- column_delimiter : string
    Which delimiter to use, one of "comma", "tab", or "pipe". Default:
    comma
- include_header : boolean
    Whether or not to include headers in the output data. Default: true
- compression : string
    The type of compression to use, if any, one of "none", "zip", or
    "gzip". Default: gzip

name : string, optional

The name of the script.

time_zone : string, optional

The time zone of this script.

arguments : dict, optional

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

notifications : dict, optional:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

target_project_id : integer, optional

Target project to which script outputs will be added.

remote_host_id : integer, optional

The remote host ID that this script will connect to.

parent_id : integer, optional

The ID of the parent job that will trigger this script

sql : string, optional

The raw SQL query for the script.

next_run_at : string/time, optional

The time of the next scheduled run.

user_context : string, optional

“runner” or “author”, who to execute the script as when run as a template.

params : list, optional:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

credential_id : integer, optional

The credential that this script will use.

Returns:

csv_settings : dict:

- unquoted : boolean
    Whether or not to quote fields. Default: false
- force_multifile : boolean
    Whether or not the csv should be split into multiple files. Default:
    false
- filename_prefix : string
    A user specified filename prefix for the output file to have. Default:
    null
- column_delimiter : string
    Which delimiter to use, one of "comma", "tab", or "pipe". Default:
    comma
- include_header : boolean
    Whether or not to include headers in the output data. Default: true
- compression : string
    The type of compression to use, if any, one of "none", "zip", or
    "gzip". Default: gzip

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

template_dependents_count : integer

How many other scripts use this one as a template.

remote_host_id : integer

The remote host ID that this script will connect to.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template this script uses, if any.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

next_run_at : string/time

The time of the next scheduled run.

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

code_preview : string

The code that this script will run with arguments inserted.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

sql : string

The raw SQL query for the script.

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

expanded_arguments : dict

Expanded arguments for use in injecting into different environments.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

credential_id : integer

The credential that this script will use.

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g SQL, Container, Python, R, JavaScript)

post(sql, name, credential_id, remote_host_id, **kwargs)

Create a script

Parameters:

sql : string

The raw SQL query for the script.

name : string

The name of the script.

credential_id : integer

The credential ID.

remote_host_id : integer

The database ID.

params : list, optional:

A definition of the parameters this script accepts in the arguments field.
Cannot be set if this script uses a template script.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

notifications : dict, optional:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

hidden : boolean, optional

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

template_script_id : integer, optional

The ID of the template script, if any. A script cannot both have a template script and be a template for other scripts.

arguments : dict, optional

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

Returns:

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

template_dependents_count : integer

How many other scripts use this one as a template.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template this script uses, if any.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

next_run_at : string/time

The time of the next scheduled run.

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

template_script_id : integer

The ID of the template script, if any.

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g SQL, Container, Python, R, JavaScript)

post_cancel(id)

Cancel a run

Parameters:

id : integer

The ID of the job.

Returns:

id : integer

The ID of the run.

is_cancel_requested : boolean

True if run cancel requested, else false.

state : string

The state of the run, one of ‘queued’, ‘running’ or ‘cancelled’.

post_containers(required_resources, docker_command, docker_image_name, **kwargs)

Create a container

Parameters:

required_resources : dict:

- cpu : integer
    The number of CPU shares to allocate for the container. Each core has
    1024 shares.
- disk_space : number/float
    The amount of disk space, in GB, to allocate for the container. This
    space will be used to hold the git repo configured for the container
    and anything your container writes to /tmp or /data. Fractional values
    (e.g. 0.25) are supported.
- memory : integer
    The amount of RAM to allocate for the container (in MiB).

docker_command : string

The command to run on the container. Will be run via sh as: [“sh”, “-c”, dockerCommand]

docker_image_name : string

The name of the docker image to pull from DockerHub.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

repo_http_uri : string, optional

The location of a github repo to clone into the container, e.g. github.com/my-user/my-repo.git.

name : string, optional

The name of the container.

hidden : boolean, optional

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

time_zone : string, optional

The time zone of this script.

arguments : dict, optional

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

remote_host_credential_id : integer, optional

The id of the database credentials to pass into the environment of the container.

notifications : dict, optional:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

repo_ref : string, optional

The tag or branch of the github repo to clone into the container.

git_credential_id : integer, optional

The id of the git credential to be used when checking out the specified git repo. If not supplied, the first git credential you’ve submitted will be used. Unnecessary if no git repo is specified or the git repo is public.

parent_id : integer, optional

The ID of the parent job that will trigger this script

user_context : string, optional

“runner” or “author”, who to execute the script as when run as a template.

params : list, optional:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

target_project_id : integer, optional

Target project to which script outputs will be added.

docker_image_tag : string, optional

The tag of the docker image to pull from DockerHub (default: latest).

Returns:

remote_host_credential_id : integer

The id of the database credentials to pass into the environment of the container.

name : string

The name of the container.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

required_resources : dict:

- cpu : integer
    The number of CPU shares to allocate for the container. Each core has
    1024 shares.
- disk_space : number/float
    The amount of disk space, in GB, to allocate for the container. This
    space will be used to hold the git repo configured for the container
    and anything your container writes to /tmp or /data. Fractional values
    (e.g. 0.25) are supported.
- memory : integer
    The amount of RAM to allocate for the container (in MiB).

template_dependents_count : integer

How many other scripts use this one as a template.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template script.

git_credential_id : integer

The id of the git credential to be used when checking out the specified git repo. If not supplied, the first git credential you’ve submitted will be used. Unnecessary if no git repo is specified or the git repo is public.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

docker_command : string

The command to run on the container. Will be run via sh as: [“sh”, “-c”, dockerCommand]

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

repo_http_uri : string

The location of a github repo to clone into the container, e.g. github.com/my-user/my-repo.git.

docker_image_name : string

The name of the docker image to pull from DockerHub.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

repo_ref : string

The tag or branch of the github repo to clone into the container.

docker_image_tag : string

The tag of the docker image to pull from DockerHub (default: latest).

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

archived : string

The archival status of the requested object(s).

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g Container)

post_containers_runs(id)

Start a run

Parameters:

id : integer

The ID of the container.

Returns:

id : integer

The ID of the run.

is_cancel_requested : boolean

True if run cancel requested, else false.

finished_at : string/time

The time the last run completed.

state : string

The state of the run, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

container_id : integer

The ID of the container.

started_at : string/time

The time the last run started at.

error : string

The error, if any, returned by the run.

post_containers_runs_heartbeats(id, run_id)

Indicate that the given run is being handled

Parameters:

id : integer

The ID of the container.

run_id : integer

The ID of the run.

Returns:

None

Response code 204: success

post_containers_runs_logs(id, run_id, **kwargs)

Add log messages

Parameters:

id : integer

The ID of the script.

run_id : integer

The ID of the script run.

messages : list, optional:

- created_at : string/date-time
- level : string
    The log level of this message [default: info]
- message : string
    The log message to store.

level : string, optional

The log level of this message [default: info]

message : string, optional

The log message to store.

Returns:

None

Response code 204: success

post_containers_runs_outputs(id, run_id, object_type, object_id)

Add an output for a run

Parameters:

id : integer

The ID of the output.

run_id : integer

The ID of the run.

object_type : string

The type of the output. Valid values are File, Report, Table, or Project

object_id : integer

The ID of the output object.

Returns:

link : string

The link to retrieve the output object.

object_type : string

The type of the output. Valid values are File, Report, Table, or Project

object_id : integer

The ID of the output object.

name : string

The name of the output object.

post_custom(from_template_id, **kwargs)

Create a CustomScript

Parameters:

from_template_id : integer

The ID of the template script.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

target_project_id : integer, optional

Target project to which script outputs will be added.

parent_id : integer, optional

The ID of the parent job that will trigger this script

notifications : dict, optional:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

name : string, optional

The name of the script.

time_zone : string, optional

The time zone of this script.

credential_id : integer, optional

The credential that this script will use.

arguments : dict, optional

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

remote_host_id : integer, optional

The remote host ID that this script will connect to.

hidden : boolean, optional

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

Returns:

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

remote_host_id : integer

The remote host ID that this script will connect to.

target_project_id : integer

Target project to which script outputs will be added.

from_template_id : integer

The ID of the template script.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

created_at : string/time

The time this script was created.

id : integer

The ID for the script.

code_preview : string

The code that this script will run with arguments inserted.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

time_zone : string

The time zone of this script.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

credential_id : integer

The credential that this script will use.

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g Custom)

post_custom_runs(id)

Start a run

Parameters:

id : integer

The ID of the custom.

Returns:

id : integer

The ID of the run.

is_cancel_requested : boolean

True if run cancel requested, else false.

finished_at : string/time

The time the last run completed.

state : string

The state of the run, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

custom_id : integer

The ID of the custom.

started_at : string/time

The time the last run started at.

error : string

The error, if any, returned by the run.

post_custom_runs_outputs(id, run_id, object_type, object_id)

Add an output for a run

Parameters:

id : integer

The ID of the output.

run_id : integer

The ID of the run.

object_type : string

The type of the output. Valid values are File, Report, Table, or Project

object_id : integer

The ID of the output object.

Returns:

link : string

The link to retrieve the output object.

object_type : string

The type of the output. Valid values are File, Report, Table, or Project

object_id : integer

The ID of the output object.

name : string

The name of the output object.

post_javascript(name, source, remote_host_id, credential_id, **kwargs)

Create a JavaScript Script

Parameters:

name : string

The name of the script.

source : string

The body/text of the script.

remote_host_id : integer

The remote host ID that this script will connect to.

credential_id : integer

The credential that this script will use.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

time_zone : string, optional

The time zone of this script.

arguments : dict, optional

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

notifications : dict, optional:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

target_project_id : integer, optional

Target project to which script outputs will be added.

parent_id : integer, optional

The ID of the parent job that will trigger this script

next_run_at : string/time, optional

The time of the next scheduled run.

user_context : string, optional

“runner” or “author”, who to execute the script as when run as a template.

params : list, optional:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

hidden : boolean, optional

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

Returns:

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

source : string

The body/text of the script.

template_dependents_count : integer

How many other scripts use this one as a template.

remote_host_id : integer

The remote host ID that this script will connect to.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template this script uses, if any.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

next_run_at : string/time

The time of the next scheduled run.

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

credential_id : integer

The credential that this script will use.

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g SQL, Container, Python, R, JavaScript)

post_javascript_runs(id)

Start a run

Parameters:

id : integer

The ID of the javascript.

Returns:

id : integer

The ID of the run.

is_cancel_requested : boolean

True if run cancel requested, else false.

finished_at : string/time

The time the last run completed.

state : string

The state of the run, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

error : string

The error, if any, returned by the run.

started_at : string/time

The time the last run started at.

javascript_id : integer

The ID of the javascript.

post_javascript_runs_outputs(id, run_id, object_type, object_id)

Add an output for a run

Parameters:

id : integer

The ID of the output.

run_id : integer

The ID of the run.

object_type : string

The type of the output. Valid values are File, Report, Table, or Project

object_id : integer

The ID of the output object.

Returns:

link : string

The link to retrieve the output object.

object_type : string

The type of the output. Valid values are File, Report, Table, or Project

object_id : integer

The ID of the output object.

name : string

The name of the output object.

post_python3(name, source, **kwargs)

Create a Python Script

Parameters:

name : string

The name of the script.

source : string

The body/text of the script.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

time_zone : string, optional

The time zone of this script.

required_resources : dict, optional:

- cpu : integer
    The number of CPU shares to allocate for the container. Each core has
    1024 shares. Must be at least 2 shares.
- disk_space : number/float
    The amount of disk space, in GB, to allocate for the container. This
    space will be used to hold the git repo configured for the container
    and anything your container writes to /tmp or /data. Fractional values
    (e.g. 0.25) are supported.
- memory : integer
    The amount of RAM to allocate for the container (in MiB). Must be at
    least 4 MiB.

arguments : dict, optional

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

notifications : dict, optional:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

target_project_id : integer, optional

Target project to which script outputs will be added.

parent_id : integer, optional

The ID of the parent job that will trigger this script

next_run_at : string/time, optional

The time of the next scheduled run.

user_context : string, optional

“runner” or “author”, who to execute the script as when run as a template.

params : list, optional:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

hidden : boolean, optional

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

Returns:

required_resources : dict:

- cpu : integer
    The number of CPU shares to allocate for the container. Each core has
    1024 shares. Must be at least 2 shares.
- disk_space : number/float
    The amount of disk space, in GB, to allocate for the container. This
    space will be used to hold the git repo configured for the container
    and anything your container writes to /tmp or /data. Fractional values
    (e.g. 0.25) are supported.
- memory : integer
    The amount of RAM to allocate for the container (in MiB). Must be at
    least 4 MiB.

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

source : string

The body/text of the script.

template_dependents_count : integer

How many other scripts use this one as a template.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template this script uses, if any.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

next_run_at : string/time

The time of the next scheduled run.

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g SQL, Container, Python, R, JavaScript)

post_python3_runs(id)

Start a run

Parameters:

id : integer

The ID of the python.

Returns:

id : integer

The ID of the run.

is_cancel_requested : boolean

True if run cancel requested, else false.

finished_at : string/time

The time the last run completed.

state : string

The state of the run, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

python_id : integer

The ID of the python.

started_at : string/time

The time the last run started at.

error : string

The error, if any, returned by the run.

post_python3_runs_outputs(id, run_id, object_type, object_id)

Add an output for a run

Parameters:

id : integer

The ID of the output.

run_id : integer

The ID of the run.

object_type : string

The type of the output. Valid values are File, Report, Table, or Project

object_id : integer

The ID of the output object.

Returns:

link : string

The link to retrieve the output object.

object_type : string

The type of the output. Valid values are File, Report, Table, or Project

object_id : integer

The ID of the output object.

name : string

The name of the output object.

post_r(name, source, **kwargs)

Create an R Script

Parameters:

name : string

The name of the script.

source : string

The body/text of the script.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

time_zone : string, optional

The time zone of this script.

required_resources : dict, optional:

- cpu : integer
    The number of CPU shares to allocate for the container. Each core has
    1024 shares. Must be at least 2 shares.
- disk_space : number/float
    The amount of disk space, in GB, to allocate for the container. This
    space will be used to hold the git repo configured for the container
    and anything your container writes to /tmp or /data. Fractional values
    (e.g. 0.25) are supported.
- memory : integer
    The amount of RAM to allocate for the container (in MiB). Must be at
    least 4 MiB.

arguments : dict, optional

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

notifications : dict, optional:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

target_project_id : integer, optional

Target project to which script outputs will be added.

parent_id : integer, optional

The ID of the parent job that will trigger this script

next_run_at : string/time, optional

The time of the next scheduled run.

user_context : string, optional

“runner” or “author”, who to execute the script as when run as a template.

params : list, optional:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

hidden : boolean, optional

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

Returns:

required_resources : dict:

- cpu : integer
    The number of CPU shares to allocate for the container. Each core has
    1024 shares. Must be at least 2 shares.
- disk_space : number/float
    The amount of disk space, in GB, to allocate for the container. This
    space will be used to hold the git repo configured for the container
    and anything your container writes to /tmp or /data. Fractional values
    (e.g. 0.25) are supported.
- memory : integer
    The amount of RAM to allocate for the container (in MiB). Must be at
    least 4 MiB.

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

source : string

The body/text of the script.

template_dependents_count : integer

How many other scripts use this one as a template.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template this script uses, if any.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

next_run_at : string/time

The time of the next scheduled run.

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g SQL, Container, Python, R, JavaScript)

post_r_runs(id)

Start a run

Parameters:

id : integer

The ID of the r.

Returns:

id : integer

The ID of the run.

is_cancel_requested : boolean

True if run cancel requested, else false.

finished_at : string/time

The time the last run completed.

state : string

The state of the run, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

r_id : integer

The ID of the r.

started_at : string/time

The time the last run started at.

error : string

The error, if any, returned by the run.

post_r_runs_outputs(id, run_id, object_type, object_id)

Add an output for a run

Parameters:

id : integer

The ID of the output.

run_id : integer

The ID of the run.

object_type : string

The type of the output. Valid values are File, Report, Table, or Project

object_id : integer

The ID of the output object.

Returns:

link : string

The link to retrieve the output object.

object_type : string

The type of the output. Valid values are File, Report, Table, or Project

object_id : integer

The ID of the output object.

name : string

The name of the output object.

post_run(id)

Run a script

Parameters:

id : integer

The ID for the script.

Returns:

None

Response code 204: success

post_sql(name, remote_host_id, sql, credential_id, **kwargs)

Create a SQL script

Parameters:

name : string

The name of the script.

remote_host_id : integer

The remote host ID that this script will connect to.

sql : string

The raw SQL query for the script.

credential_id : integer

The credential that this script will use.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

csv_settings : dict, optional:

- unquoted : boolean
    Whether or not to quote fields. Default: false
- force_multifile : boolean
    Whether or not the csv should be split into multiple files. Default:
    false
- filename_prefix : string
    A user specified filename prefix for the output file to have. Default:
    null
- column_delimiter : string
    Which delimiter to use, one of "comma", "tab", or "pipe". Default:
    comma
- include_header : boolean
    Whether or not to include headers in the output data. Default: true
- compression : string
    The type of compression to use, if any, one of "none", "zip", or
    "gzip". Default: gzip

time_zone : string, optional

The time zone of this script.

arguments : dict, optional

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

notifications : dict, optional:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

target_project_id : integer, optional

Target project to which script outputs will be added.

parent_id : integer, optional

The ID of the parent job that will trigger this script

next_run_at : string/time, optional

The time of the next scheduled run.

user_context : string, optional

“runner” or “author”, who to execute the script as when run as a template.

params : list, optional:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

hidden : boolean, optional

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

Returns:

csv_settings : dict:

- unquoted : boolean
    Whether or not to quote fields. Default: false
- force_multifile : boolean
    Whether or not the csv should be split into multiple files. Default:
    false
- filename_prefix : string
    A user specified filename prefix for the output file to have. Default:
    null
- column_delimiter : string
    Which delimiter to use, one of "comma", "tab", or "pipe". Default:
    comma
- include_header : boolean
    Whether or not to include headers in the output data. Default: true
- compression : string
    The type of compression to use, if any, one of "none", "zip", or
    "gzip". Default: gzip

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

template_dependents_count : integer

How many other scripts use this one as a template.

remote_host_id : integer

The remote host ID that this script will connect to.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template this script uses, if any.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

next_run_at : string/time

The time of the next scheduled run.

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

code_preview : string

The code that this script will run with arguments inserted.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

sql : string

The raw SQL query for the script.

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

expanded_arguments : dict

Expanded arguments for use in injecting into different environments.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

credential_id : integer

The credential that this script will use.

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g SQL, Container, Python, R, JavaScript)

post_sql_runs(id)

Start a run

Parameters:

id : integer

The ID of the sql.

Returns:

id : integer

The ID of this run.

is_cancel_requested : boolean

True if run cancel requested, else false.

finished_at : string/time

The time that this run finished.

state : string

The state of this run.

output : list:

A list of the outputs of this script.
- output_name : string
    The name of the output file.
- path : string
    The temporary link to download this output file, valid for 36 hours.
- file_id : integer
    The unique ID of the output file.

error : string

The error message for this run, if present.

started_at : string/time

The time the last run started.

sql_id : integer

The ID of this sql.

put_containers(id, required_resources, docker_command, docker_image_name, **kwargs)

Edit a container

Parameters:

id : integer

The ID for the script.

required_resources : dict:

- cpu : integer
    The number of CPU shares to allocate for the container. Each core has
    1024 shares.
- disk_space : number/float
    The amount of disk space, in GB, to allocate for the container. This
    space will be used to hold the git repo configured for the container
    and anything your container writes to /tmp or /data. Fractional values
    (e.g. 0.25) are supported.
- memory : integer
    The amount of RAM to allocate for the container (in MiB).

docker_command : string

The command to run on the container. Will be run via sh as: [“sh”, “-c”, dockerCommand]

docker_image_name : string

The name of the docker image to pull from DockerHub.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

repo_http_uri : string, optional

The location of a github repo to clone into the container, e.g. github.com/my-user/my-repo.git.

name : string, optional

The name of the container.

time_zone : string, optional

The time zone of this script.

arguments : dict, optional

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

remote_host_credential_id : integer, optional

The id of the database credentials to pass into the environment of the container.

notifications : dict, optional:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

repo_ref : string, optional

The tag or branch of the github repo to clone into the container.

git_credential_id : integer, optional

The id of the git credential to be used when checking out the specified git repo. If not supplied, the first git credential you’ve submitted will be used. Unnecessary if no git repo is specified or the git repo is public.

parent_id : integer, optional

The ID of the parent job that will trigger this script

user_context : string, optional

“runner” or “author”, who to execute the script as when run as a template.

params : list, optional:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

target_project_id : integer, optional

Target project to which script outputs will be added.

docker_image_tag : string, optional

The tag of the docker image to pull from DockerHub (default: latest).

Returns:

remote_host_credential_id : integer

The id of the database credentials to pass into the environment of the container.

name : string

The name of the container.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

required_resources : dict:

- cpu : integer
    The number of CPU shares to allocate for the container. Each core has
    1024 shares.
- disk_space : number/float
    The amount of disk space, in GB, to allocate for the container. This
    space will be used to hold the git repo configured for the container
    and anything your container writes to /tmp or /data. Fractional values
    (e.g. 0.25) are supported.
- memory : integer
    The amount of RAM to allocate for the container (in MiB).

template_dependents_count : integer

How many other scripts use this one as a template.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template script.

git_credential_id : integer

The id of the git credential to be used when checking out the specified git repo. If not supplied, the first git credential you’ve submitted will be used. Unnecessary if no git repo is specified or the git repo is public.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

docker_command : string

The command to run on the container. Will be run via sh as: [“sh”, “-c”, dockerCommand]

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

repo_http_uri : string

The location of a github repo to clone into the container, e.g. github.com/my-user/my-repo.git.

docker_image_name : string

The name of the docker image to pull from DockerHub.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

repo_ref : string

The tag or branch of the github repo to clone into the container.

docker_image_tag : string

The tag of the docker image to pull from DockerHub (default: latest).

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

archived : string

The archival status of the requested object(s).

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g Container)

put_containers_archive(id, status)

Update the archive status of this object

Parameters:

id : integer

The ID of the object.

status : boolean

The desired archived status of the object.

Returns:

remote_host_credential_id : integer

The id of the database credentials to pass into the environment of the container.

name : string

The name of the container.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

required_resources : dict:

- cpu : integer
    The number of CPU shares to allocate for the container. Each core has
    1024 shares.
- disk_space : number/float
    The amount of disk space, in GB, to allocate for the container. This
    space will be used to hold the git repo configured for the container
    and anything your container writes to /tmp or /data. Fractional values
    (e.g. 0.25) are supported.
- memory : integer
    The amount of RAM to allocate for the container (in MiB).

template_dependents_count : integer

How many other scripts use this one as a template.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template script.

git_credential_id : integer

The id of the git credential to be used when checking out the specified git repo. If not supplied, the first git credential you’ve submitted will be used. Unnecessary if no git repo is specified or the git repo is public.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

docker_command : string

The command to run on the container. Will be run via sh as: [“sh”, “-c”, dockerCommand]

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

repo_http_uri : string

The location of a github repo to clone into the container, e.g. github.com/my-user/my-repo.git.

docker_image_name : string

The name of the docker image to pull from DockerHub.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

repo_ref : string

The tag or branch of the github repo to clone into the container.

docker_image_tag : string

The tag of the docker image to pull from DockerHub (default: latest).

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

archived : string

The archival status of the requested object(s).

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g Container)

put_containers_projects(id, project_id)

Add a container docker to a project

Parameters:

id : integer

ID of the resource

project_id : integer

The ID of the project

Returns:

None

Response code 204: success

put_containers_shares_groups(id, group_ids, permission_level)

Set the permissions groups has on this object

Parameters:

id : integer

ID of the resource to be shared

group_ids : list

An array of one or more group IDs

permission_level : string

Options are: “read”, “write”, or “manage”

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
put_containers_shares_users(id, user_ids, permission_level)

Set the permissions users have on this object

Parameters:

id : integer

ID of the resource to be shared

user_ids : list

An array of one or more user IDs

permission_level : string

Options are: “read”, “write”, or “manage”

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
put_custom(id, **kwargs)

Replace all attributes of this CustomScript

Parameters:

id : integer

The ID for the script.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

parent_id : integer, optional

The ID of the parent job that will trigger this script

notifications : dict, optional:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

time_zone : string, optional

The time zone of this script.

name : string, optional

The name of the script.

credential_id : integer, optional

The credential that this script will use.

arguments : dict, optional

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

remote_host_id : integer, optional

The remote host ID that this script will connect to.

target_project_id : integer, optional

Target project to which script outputs will be added.

Returns:

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

remote_host_id : integer

The remote host ID that this script will connect to.

target_project_id : integer

Target project to which script outputs will be added.

from_template_id : integer

The ID of the template script.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

created_at : string/time

The time this script was created.

id : integer

The ID for the script.

code_preview : string

The code that this script will run with arguments inserted.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

time_zone : string

The time zone of this script.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

credential_id : integer

The credential that this script will use.

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g Custom)

put_custom_archive(id, status)

Update the archive status of this object

Parameters:

id : integer

The ID of the object.

status : boolean

The desired archived status of the object.

Returns:

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

remote_host_id : integer

The remote host ID that this script will connect to.

target_project_id : integer

Target project to which script outputs will be added.

from_template_id : integer

The ID of the template script.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

created_at : string/time

The time this script was created.

id : integer

The ID for the script.

code_preview : string

The code that this script will run with arguments inserted.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

time_zone : string

The time zone of this script.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

credential_id : integer

The credential that this script will use.

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g Custom)

put_custom_projects(id, project_id)

Add a Job to a project

Parameters:

id : integer

ID of the resource

project_id : integer

The ID of the project

Returns:

None

Response code 204: success

put_custom_shares_groups(id, group_ids, permission_level)

Set the permissions groups has on this object

Parameters:

id : integer

ID of the resource to be shared

group_ids : list

An array of one or more group IDs

permission_level : string

Options are: “read”, “write”, or “manage”

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
put_custom_shares_users(id, user_ids, permission_level)

Set the permissions users have on this object

Parameters:

id : integer

ID of the resource to be shared

user_ids : list

An array of one or more user IDs

permission_level : string

Options are: “read”, “write”, or “manage”

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
put_javascript(id, name, source, remote_host_id, credential_id, **kwargs)

Replace all attributes of this JavaScript Script

Parameters:

id : integer

The ID for the script.

name : string

The name of the script.

source : string

The body/text of the script.

remote_host_id : integer

The remote host ID that this script will connect to.

credential_id : integer

The credential that this script will use.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

time_zone : string, optional

The time zone of this script.

arguments : dict, optional

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

notifications : dict, optional:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

target_project_id : integer, optional

Target project to which script outputs will be added.

parent_id : integer, optional

The ID of the parent job that will trigger this script

next_run_at : string/time, optional

The time of the next scheduled run.

user_context : string, optional

“runner” or “author”, who to execute the script as when run as a template.

params : list, optional:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom
Returns:

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

source : string

The body/text of the script.

template_dependents_count : integer

How many other scripts use this one as a template.

remote_host_id : integer

The remote host ID that this script will connect to.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template this script uses, if any.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

next_run_at : string/time

The time of the next scheduled run.

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

credential_id : integer

The credential that this script will use.

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g SQL, Container, Python, R, JavaScript)

put_javascript_archive(id, status)

Update the archive status of this object

Parameters:

id : integer

The ID of the object.

status : boolean

The desired archived status of the object.

Returns:

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

source : string

The body/text of the script.

template_dependents_count : integer

How many other scripts use this one as a template.

remote_host_id : integer

The remote host ID that this script will connect to.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template this script uses, if any.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

next_run_at : string/time

The time of the next scheduled run.

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

credential_id : integer

The credential that this script will use.

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g SQL, Container, Python, R, JavaScript)

put_javascript_projects(id, project_id)

Add a scripted sql to a project

Parameters:

id : integer

ID of the resource

project_id : integer

The ID of the project

Returns:

None

Response code 204: success

put_javascript_shares_groups(id, group_ids, permission_level)

Set the permissions groups has on this object

Parameters:

id : integer

ID of the resource to be shared

group_ids : list

An array of one or more group IDs

permission_level : string

Options are: “read”, “write”, or “manage”

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
put_javascript_shares_users(id, user_ids, permission_level)

Set the permissions users have on this object

Parameters:

id : integer

ID of the resource to be shared

user_ids : list

An array of one or more user IDs

permission_level : string

Options are: “read”, “write”, or “manage”

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
put_python3(id, name, source, **kwargs)

Replace all attributes of this Python Script

Parameters:

id : integer

The ID for the script.

name : string

The name of the script.

source : string

The body/text of the script.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

time_zone : string, optional

The time zone of this script.

required_resources : dict, optional:

- cpu : integer
    The number of CPU shares to allocate for the container. Each core has
    1024 shares. Must be at least 2 shares.
- disk_space : number/float
    The amount of disk space, in GB, to allocate for the container. This
    space will be used to hold the git repo configured for the container
    and anything your container writes to /tmp or /data. Fractional values
    (e.g. 0.25) are supported.
- memory : integer
    The amount of RAM to allocate for the container (in MiB). Must be at
    least 4 MiB.

arguments : dict, optional

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

notifications : dict, optional:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

target_project_id : integer, optional

Target project to which script outputs will be added.

parent_id : integer, optional

The ID of the parent job that will trigger this script

next_run_at : string/time, optional

The time of the next scheduled run.

user_context : string, optional

“runner” or “author”, who to execute the script as when run as a template.

params : list, optional:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom
Returns:

required_resources : dict:

- cpu : integer
    The number of CPU shares to allocate for the container. Each core has
    1024 shares. Must be at least 2 shares.
- disk_space : number/float
    The amount of disk space, in GB, to allocate for the container. This
    space will be used to hold the git repo configured for the container
    and anything your container writes to /tmp or /data. Fractional values
    (e.g. 0.25) are supported.
- memory : integer
    The amount of RAM to allocate for the container (in MiB). Must be at
    least 4 MiB.

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

source : string

The body/text of the script.

template_dependents_count : integer

How many other scripts use this one as a template.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template this script uses, if any.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

next_run_at : string/time

The time of the next scheduled run.

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g SQL, Container, Python, R, JavaScript)

put_python3_archive(id, status)

Update the archive status of this object

Parameters:

id : integer

The ID of the object.

status : boolean

The desired archived status of the object.

Returns:

required_resources : dict:

- cpu : integer
    The number of CPU shares to allocate for the container. Each core has
    1024 shares. Must be at least 2 shares.
- disk_space : number/float
    The amount of disk space, in GB, to allocate for the container. This
    space will be used to hold the git repo configured for the container
    and anything your container writes to /tmp or /data. Fractional values
    (e.g. 0.25) are supported.
- memory : integer
    The amount of RAM to allocate for the container (in MiB). Must be at
    least 4 MiB.

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

source : string

The body/text of the script.

template_dependents_count : integer

How many other scripts use this one as a template.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template this script uses, if any.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

next_run_at : string/time

The time of the next scheduled run.

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g SQL, Container, Python, R, JavaScript)

put_python3_projects(id, project_id)

Add a python docker to a project

Parameters:

id : integer

ID of the resource

project_id : integer

The ID of the project

Returns:

None

Response code 204: success

put_python3_shares_groups(id, group_ids, permission_level)

Set the permissions groups has on this object

Parameters:

id : integer

ID of the resource to be shared

group_ids : list

An array of one or more group IDs

permission_level : string

Options are: “read”, “write”, or “manage”

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
put_python3_shares_users(id, user_ids, permission_level)

Set the permissions users have on this object

Parameters:

id : integer

ID of the resource to be shared

user_ids : list

An array of one or more user IDs

permission_level : string

Options are: “read”, “write”, or “manage”

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
put_r(id, name, source, **kwargs)

Replace all attributes of this R Script

Parameters:

id : integer

The ID for the script.

name : string

The name of the script.

source : string

The body/text of the script.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

time_zone : string, optional

The time zone of this script.

required_resources : dict, optional:

- cpu : integer
    The number of CPU shares to allocate for the container. Each core has
    1024 shares. Must be at least 2 shares.
- disk_space : number/float
    The amount of disk space, in GB, to allocate for the container. This
    space will be used to hold the git repo configured for the container
    and anything your container writes to /tmp or /data. Fractional values
    (e.g. 0.25) are supported.
- memory : integer
    The amount of RAM to allocate for the container (in MiB). Must be at
    least 4 MiB.

arguments : dict, optional

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

notifications : dict, optional:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

target_project_id : integer, optional

Target project to which script outputs will be added.

parent_id : integer, optional

The ID of the parent job that will trigger this script

next_run_at : string/time, optional

The time of the next scheduled run.

user_context : string, optional

“runner” or “author”, who to execute the script as when run as a template.

params : list, optional:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom
Returns:

required_resources : dict:

- cpu : integer
    The number of CPU shares to allocate for the container. Each core has
    1024 shares. Must be at least 2 shares.
- disk_space : number/float
    The amount of disk space, in GB, to allocate for the container. This
    space will be used to hold the git repo configured for the container
    and anything your container writes to /tmp or /data. Fractional values
    (e.g. 0.25) are supported.
- memory : integer
    The amount of RAM to allocate for the container (in MiB). Must be at
    least 4 MiB.

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

source : string

The body/text of the script.

template_dependents_count : integer

How many other scripts use this one as a template.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template this script uses, if any.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

next_run_at : string/time

The time of the next scheduled run.

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g SQL, Container, Python, R, JavaScript)

put_r_archive(id, status)

Update the archive status of this object

Parameters:

id : integer

The ID of the object.

status : boolean

The desired archived status of the object.

Returns:

required_resources : dict:

- cpu : integer
    The number of CPU shares to allocate for the container. Each core has
    1024 shares. Must be at least 2 shares.
- disk_space : number/float
    The amount of disk space, in GB, to allocate for the container. This
    space will be used to hold the git repo configured for the container
    and anything your container writes to /tmp or /data. Fractional values
    (e.g. 0.25) are supported.
- memory : integer
    The amount of RAM to allocate for the container (in MiB). Must be at
    least 4 MiB.

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

source : string

The body/text of the script.

template_dependents_count : integer

How many other scripts use this one as a template.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template this script uses, if any.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

next_run_at : string/time

The time of the next scheduled run.

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g SQL, Container, Python, R, JavaScript)

put_r_projects(id, project_id)

Add a r docker to a project

Parameters:

id : integer

ID of the resource

project_id : integer

The ID of the project

Returns:

None

Response code 204: success

put_r_shares_groups(id, group_ids, permission_level)

Set the permissions groups has on this object

Parameters:

id : integer

ID of the resource to be shared

group_ids : list

An array of one or more group IDs

permission_level : string

Options are: “read”, “write”, or “manage”

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
put_r_shares_users(id, user_ids, permission_level)

Set the permissions users have on this object

Parameters:

id : integer

ID of the resource to be shared

user_ids : list

An array of one or more user IDs

permission_level : string

Options are: “read”, “write”, or “manage”

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
put_sql(id, name, remote_host_id, sql, credential_id, **kwargs)

Replace all attributes of this SQL script

Parameters:

id : integer

The ID for the script.

name : string

The name of the script.

remote_host_id : integer

The remote host ID that this script will connect to.

sql : string

The raw SQL query for the script.

credential_id : integer

The credential that this script will use.

schedule : dict, optional:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

csv_settings : dict, optional:

- unquoted : boolean
    Whether or not to quote fields. Default: false
- force_multifile : boolean
    Whether or not the csv should be split into multiple files. Default:
    false
- filename_prefix : string
    A user specified filename prefix for the output file to have. Default:
    null
- column_delimiter : string
    Which delimiter to use, one of "comma", "tab", or "pipe". Default:
    comma
- include_header : boolean
    Whether or not to include headers in the output data. Default: true
- compression : string
    The type of compression to use, if any, one of "none", "zip", or
    "gzip". Default: gzip

time_zone : string, optional

The time zone of this script.

arguments : dict, optional

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

notifications : dict, optional:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

target_project_id : integer, optional

Target project to which script outputs will be added.

parent_id : integer, optional

The ID of the parent job that will trigger this script

next_run_at : string/time, optional

The time of the next scheduled run.

user_context : string, optional

“runner” or “author”, who to execute the script as when run as a template.

params : list, optional:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom
Returns:

csv_settings : dict:

- unquoted : boolean
    Whether or not to quote fields. Default: false
- force_multifile : boolean
    Whether or not the csv should be split into multiple files. Default:
    false
- filename_prefix : string
    A user specified filename prefix for the output file to have. Default:
    null
- column_delimiter : string
    Which delimiter to use, one of "comma", "tab", or "pipe". Default:
    comma
- include_header : boolean
    Whether or not to include headers in the output data. Default: true
- compression : string
    The type of compression to use, if any, one of "none", "zip", or
    "gzip". Default: gzip

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

template_dependents_count : integer

How many other scripts use this one as a template.

remote_host_id : integer

The remote host ID that this script will connect to.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template this script uses, if any.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

next_run_at : string/time

The time of the next scheduled run.

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

code_preview : string

The code that this script will run with arguments inserted.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

sql : string

The raw SQL query for the script.

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

expanded_arguments : dict

Expanded arguments for use in injecting into different environments.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

credential_id : integer

The credential that this script will use.

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g SQL, Container, Python, R, JavaScript)

put_sql_archive(id, status)

Update the archive status of this object

Parameters:

id : integer

The ID of the object.

status : boolean

The desired archived status of the object.

Returns:

csv_settings : dict:

- unquoted : boolean
    Whether or not to quote fields. Default: false
- force_multifile : boolean
    Whether or not the csv should be split into multiple files. Default:
    false
- filename_prefix : string
    A user specified filename prefix for the output file to have. Default:
    null
- column_delimiter : string
    Which delimiter to use, one of "comma", "tab", or "pipe". Default:
    comma
- include_header : boolean
    Whether or not to include headers in the output data. Default: true
- compression : string
    The type of compression to use, if any, one of "none", "zip", or
    "gzip". Default: gzip

name : string

The name of the script.

projects : list:

A list of projects containing the script.
- id : integer
    The ID for the project.
- name : string
    The name of the project.

schedule : dict:

- scheduled_hours : list
    Hours of the day it is scheduled on
- scheduled_days : list
    Day based on numeric value starting at 0 for Sunday
- scheduled_minutes : list
    Minutes of the day it is scheduled on
- scheduled : boolean
    If the object is scheduled
- scheduled_runs_per_hour : integer
    Alternative to scheduled minutes, number of times to run per hour

archived : string

The archival status of the requested object(s).

template_dependents_count : integer

How many other scripts use this one as a template.

remote_host_id : integer

The remote host ID that this script will connect to.

arguments : dict

Dictionary of name/value pairs to use to run this script. Only settable if this script has defined params.

published_as_template_id : integer

The ID of the template that this script is backing.

from_template_id : integer

The ID of the template this script uses, if any.

parent_id : integer

The ID of the parent job that will trigger this script

running_as : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

finished_at : string/time

The time that the script’s last run finished.

next_run_at : string/time

The time of the next scheduled run.

created_at : string/time

The time this script was created.

target_project_id : integer

Target project to which script outputs will be added.

is_template : boolean

Whether others scripts use this one as a template.

id : integer

The ID for the script.

code_preview : string

The code that this script will run with arguments inserted.

state : string

The status of the script’s last run.

author : dict:

- id : integer
    The ID of this user.
- username : string
    This user's username.
- name : string
    This user's name.
- initials : string
    This user's initials.
- online : boolean
    Whether this user is online.

time_zone : string

The time zone of this script.

template_script_name : string

The name of the template script.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

notifications : dict:

- success_email_subject : string
    Custom subject line for success e-mail.
- stall_warning_minutes : integer
    Stall warning emails will be sent after this amount of minutes.
- failure_email_addresses : list
    Addresses to notify by e-mail when the job fails.
- success_email_body : string
    Custom body text for success e-mail, written in Markdown.
- failure_on : boolean
    If failure email notifications are on
- success_email_addresses : list
    Addresses to notify by e-mail when the job completes successfully.
- urls : list
    URLs to receive a POST request at job completion
- success_on : boolean
    If success email notifications are on

params : list:

A definition of the parameters this script accepts in the arguments field.
- default : string
    If an argument for this parameter is not defined, it will use this
    default value. Use true, True, t, y, yes, or 1 for true bool's or
    false, False, f, n, no, or 0 for false bool's. Cannot be used for
    parameters that are required or a credential type.
- name : string
    The variable's name as used within your code.
- required : boolean
    Whether this param is required.
- description : string
    A short sentence or fragment describing this parameter to the end user.
- label : string
    The label to present to users when asking them for the value.
- value : string
    The value you would like to set this param to. Setting this value makes
    this parameter a fixed param.
- type : string
    The type of parameter. Valid options: string, integer, float, bool,
    file, database, credential_aws, credential_redshift, or
    credential_custom

sql : string

The raw SQL query for the script.

links : dict:

- runs : string
    The runs link to get the run information list for this script.
- details : string
    The details link to get more information about the script.

user_context : string

“runner” or “author”, who to execute the script as when run as a template.

expanded_arguments : dict

Expanded arguments for use in injecting into different environments.

hidden : boolean

The hidden status of the object. Setting this to true hides it from most API endpoints. The object can still be queried directly by ID

credential_id : integer

The credential that this script will use.

updated_at : string/time

The time the script was last updated.

type : string

The type of the script (e.g SQL, Container, Python, R, JavaScript)

put_sql_projects(id, project_id)

Add a scripts to a project

Parameters:

id : integer

ID of the resource

project_id : integer

The ID of the project

Returns:

None

Response code 204: success

put_sql_shares_groups(id, group_ids, permission_level)

Set the permissions groups has on this object

Parameters:

id : integer

ID of the resource to be shared

group_ids : list

An array of one or more group IDs

permission_level : string

Options are: “read”, “write”, or “manage”

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
put_sql_shares_users(id, user_ids, permission_level)

Set the permissions users have on this object

Parameters:

id : integer

ID of the resource to be shared

user_ids : list

An array of one or more user IDs

permission_level : string

Options are: “read”, “write”, or “manage”

Returns:

owners : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

total_user_shares : integer

For owners, the number of total users shared. For writers and readers, the number of visible users shared.

total_group_shares : integer

For owners, the number of total groups shared. For writers and readers, the number of visible groups shared.

writers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string

readers : dict:

- groups : list::
    - id : integer
    - name : string
- users : list::
    - id : integer
    - name : string
Tables
class Tables(session, return_type='civis')

Methods

get(id) Show basic table info
get_enhancements_cass_ncoa(id, source_table_id) View the status of a CASS / NCOA table enhancement
get_enhancements_geocodings(id, source_table_id) View the status of a geocoding table enhancement
get_enhancements_prepared_matchings(id, ...) View a prepared matching enhancement
get_enhancements_table_matchings(id, ...) View a table matching enhancement
list(**kwargs) List tables
list_columns(id, **kwargs) List columns in the specified table
patch(id, **kwargs) Update a table
post(data, database_id, name, schema) Import a file into a table
post_enhancements_cass_ncoa(source_table_id, ...) Standardize addresses in a table
post_enhancements_geocodings(source_table_id) Geocode a table
post_enhancements_prepared_matchings(...) Match person records against a dynamo table prepared by Civis
post_enhancements_table_matchings(...) Match person records against an arbitrary Redshift table
post_refresh(id) Request a refresh for column and table statistics
get(id)

Show basic table info

Parameters:

id : integer

Returns:

owner : string

The database username of the table’s owner.

sortkeys : string

The column used as the Amazon Redshift sortkey.

is_view : boolean

True if this table represents a view. False if it represents a regular table.

name : string

Name of the table.

multipart_key : list

row_count : integer

The number of rows in the table.

refresh_status : string

How up-to-date the table’s statistics on row counts, null counts, distinct counts, and values distributions are. One of: refreshing, stale, or current.

joins : list:

- left_join : boolean
- id : integer
- on : string
- left_identifier : string
- right_table_id : integer
- created_at : string/time
- left_table_id : integer
- updated_at : string/time
- right_identifier : string

schema : string

The name of the schema containing the table.

size_mb : number/float

The size of the table in megabytes.

last_refresh : string/date-time

The time of the last statistics refresh.

description : string

The description of the table, as specified by the table owner

columns : list:

- value_distribution : dict
    An object mapping distinct values in the column to the number of times
    they appear in the column
- sql_type : string
    SQL type of the column.
- name : string
    Name of the column.
- useable_as_independent_variable : boolean
    Whether the column may be used as an independent variable to train a
    model.
- value_distribution_percent : dict
    A mapping between each value in the column and the percentage of rows
    with that value.Only present for tables with fewer than approximately
    25,000,000 rows and for columns with fewer than twenty distinct values.
- encoding : string
    The compression encoding for this columnSee: http://docs.aws.amazon.com
    /redshift/latest/dg/c_Compression_encodings.html
- order : integer
    Relative position of the column in the table.
- possible_dependent_variable_types : list
    Possible dependent variable types the column may be used to model.
    Null if it may not be used as a dependent variable.
- distinct_count : integer
    Number of distinct values in the column.
- sample_values : list
    A sample of values from the column.
- min_value : string
    Smallest value in the column.
- stddev : number/float
    Stddev of the column, where applicable.
- useable_as_primary_key : boolean
    Whether the column may be used as an primary key to identify table
    rows.
- null_count : integer
    Number of null values in the column.
- description : string
    The description of the column, as specified by the table owner
- avg_value : number/float
    Average value of the column, where applicable.
- max_value : string
    Largest value in the column.
- coverage_count : integer
    Number of non-null values in the column.

id : integer

The ID of the table.

database_id : integer

The ID of the database.

enhancements : list:

- created_at : string/time
- join_id : integer
- updated_at : string/time
- type : string

ontology_mapping : dict

The ontology-key to column-name mapping. See /ontology for the list of valid ontology keys.

outgoing_table_matches : list:

- target : dict::
    - name : string
- target_id : integer
    Target ID
- job : dict::
    - id : integer
    - match_options : dict::
        - max_matches : integer
        - threshold : string
    - runs : list::
        Information about the most recent runs of the job.
        - id : integer
        - error : string
            The error message for this run, if present.
        - finished_at : string/time
            The time that the run completed.
        - state : string
        - created_at : string/time
            The time that the run was queued.
        - started_at : string/time
            The time that the run started.
    - name : string
    - state : string
        Whether the job is idle, queued, running, cancelled, or failed.
    - created_at : string/date-time
    - hidden : boolean
        The hidden status of the object. Setting this to true hides it from
        most API endpoints. The object can still be queried directly by ID
    - last_run : dict::
        - id : integer
        - error : string
            The error message for this run, if present.
        - finished_at : string/time
            The time that the run completed.
        - state : string
        - created_at : string/time
            The time that the run was queued.
        - started_at : string/time
            The time that the run started.
    - updated_at : string/date-time
    - type : string
- target_type : string
    Target type
- source_table_id : integer
    Source table

column_count : integer

The number of columns in the table.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

distkey : string

The column used as the Amazon Redshift distkey.

refresh_id : string

The ID of the most recent statistics refresh.

view_def : string

get_enhancements_cass_ncoa(id, source_table_id)

View the status of a CASS / NCOA table enhancement

Parameters:

id : integer

The ID of the enhancement.

source_table_id : integer

The ID of the table that was enhanced.

Returns:

perform_ncoa : boolean

Whether to update addresses for records matching the National Change of Address (NCOA) database.

id : integer

The ID of the enhancement.

enhanced_table_name : string

The name of the table created by the enhancement.

enhanced_table_schema : string

The schema name of the table created by the enhancement.

state : string

The state of the enhancement, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

output_level : string

The set of fields persisted by a CASS or NCOA enhancement.For CASS enhancements, one of ‘cass’ or ‘all.’For NCOA enhancements, one of ‘cass’, ‘ncoa’ , ‘coalesced’ or ‘all’.By default, all fields will be returned.

ncoa_credential_id : integer

Credential to use when performing NCOA updates. Required if ‘performNcoa’ is true.

source_table_id : integer

The ID of the table that was enhanced.

get_enhancements_geocodings(id, source_table_id)

View the status of a geocoding table enhancement

Parameters:

id : integer

The ID of the enhancement.

source_table_id : integer

The ID of the table that was enhanced.

Returns:

enhanced_table_name : string

The name of the table created by the enhancement.

id : integer

The ID of the enhancement.

state : string

The state of the enhancement, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

enhanced_table_schema : string

The schema name of the table created by the enhancement.

source_table_id : integer

The ID of the table that was enhanced.

get_enhancements_prepared_matchings(id, source_table_id)

View a prepared matching enhancement

Parameters:

id : integer

The ID of the enhancement.

source_table_id : integer

The ID of the table that was enhanced.

Returns:

id : integer

The ID of the enhancement.

threshold : number/float

The confidence threshold which must be met for two individuals to be declared a match. Must be less than or equal to 1 and greater than or equal to 0.

enhanced_table_name : string

The name of the table created by the enhancement.

match_table_id : integer

The ID of the Dynamo table to match against.

enhanced_table_schema : string

The schema name of the table created by the enhancement.

state : string

The state of the enhancement, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

max_matches : integer

The maximum number of individuals a person may be matched with.A value of 0 indicates that all matches should be returned.

source_table_id : integer

The ID of the table that was enhanced.

get_enhancements_table_matchings(id, source_table_id)

View a table matching enhancement

Parameters:

id : integer

The ID of the enhancement.

source_table_id : integer

The ID of the table that was enhanced.

Returns:

id : integer

The ID of the enhancement.

threshold : number/float

The confidence threshold which must be met for two individuals to be declared a match. Must be less than or equal to 1 and greater than or equal to 0.

enhanced_table_name : string

The name of the table created by the enhancement.

match_table_id : integer

The ID of the Redshift table to match against.

enhanced_table_schema : string

The schema name of the table created by the enhancement.

state : string

The state of the enhancement, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

max_matches : integer

The maximum number of individuals a person may be matched with.A value of 0 indicates that all matches should be returned.

source_table_id : integer

The ID of the table that was enhanced.

list(**kwargs)

List tables

Parameters:

database_id : integer, optional

The ID of the database.

schema : string, optional

If specified, will be used to filter the tables returned. Substring matching is supported with “%” and “*” wildcards (e.g., “schema=%census%” will return both “client_census.table” and “census_2010.table”).

name : string, optional

If specified, will be used to filter the tables returned. Substring matching is supported with “%” and “*” wildcards (e.g., “name=%table%” will return both “table1” and “my table”).

search : string, optional

If specified, will be used to filter the tables returned. Will search across schema and name (in the full form schema.name) and will return any full name containing the search string.

limit : integer, optional

Number of results to return. Defaults to 50. Maximum allowed is 1000.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to schema. Must be one of: schema, name, search.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to asc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

owner : string

The database username of the table’s owner.

id : integer

The ID of the table.

database_id : integer

The ID of the database.

name : string

Name of the table.

sortkeys : string

The column used as the Amazon Redshift sortkey.

row_count : integer

The number of rows in the table.

column_count : integer

The number of columns in the table.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

distkey : string

The column used as the Amazon Redshift distkey.

refresh_status : string

How up-to-date the table’s statistics on row counts, null counts, distinct counts, and values distributions are. One of: refreshing, stale, or current.

refresh_id : string

The ID of the most recent statistics refresh.

schema : string

The name of the schema containing the table.

size_mb : number/float

The size of the table in megabytes.

is_view : boolean

True if this table represents a view. False if it represents a regular table.

last_refresh : string/date-time

The time of the last statistics refresh.

description : string

The description of the table, as specified by the table owner

list_columns(id, **kwargs)

List columns in the specified table

Parameters:

id : integer

name : string, optional

Search for columns with the given name, within the specified table.

limit : integer, optional

Number of results to return. Defaults to its maximum of 50.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to name. Must be one of: name, order.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to asc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

value_distribution : dict

An object mapping distinct values in the column to the number of times they appear in the column

sql_type : string

SQL type of the column.

name : string

Name of the column.

useable_as_independent_variable : boolean

Whether the column may be used as an independent variable to train a model.

value_distribution_percent : dict

A mapping between each value in the column and the percentage of rows with that value.Only present for tables with fewer than approximately 25,000,000 rows and for columns with fewer than twenty distinct values.

encoding : string

order : integer

Relative position of the column in the table.

possible_dependent_variable_types : list

Possible dependent variable types the column may be used to model. Null if it may not be used as a dependent variable.

distinct_count : integer

Number of distinct values in the column.

sample_values : list

A sample of values from the column.

min_value : string

Smallest value in the column.

stddev : number/float

Stddev of the column, where applicable.

useable_as_primary_key : boolean

Whether the column may be used as an primary key to identify table rows.

null_count : integer

Number of null values in the column.

description : string

The description of the column, as specified by the table owner

avg_value : number/float

Average value of the column, where applicable.

max_value : string

Largest value in the column.

coverage_count : integer

Number of non-null values in the column.

patch(id, **kwargs)

Update a table

Parameters:

id : integer

The ID of the table.

description : string, optional

The user-defined description of the table.

ontology_mapping : dict, optional

The ontology-key to column-name mapping. See /ontology for the list of valid ontology keys.

Returns:

owner : string

The database username of the table’s owner.

id : integer

The ID of the table.

database_id : integer

The ID of the database.

name : string

Name of the table.

ontology_mapping : dict

The ontology-key to column-name mapping. See /ontology for the list of valid ontology keys.

sortkeys : string

The column used as the Amazon Redshift sortkey.

row_count : integer

The number of rows in the table.

column_count : integer

The number of columns in the table.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

distkey : string

The column used as the Amazon Redshift distkey.

refresh_status : string

How up-to-date the table’s statistics on row counts, null counts, distinct counts, and values distributions are. One of: refreshing, stale, or current.

refresh_id : string

The ID of the most recent statistics refresh.

schema : string

The name of the schema containing the table.

size_mb : number/float

The size of the table in megabytes.

is_view : boolean

True if this table represents a view. False if it represents a regular table.

last_refresh : string/date-time

The time of the last statistics refresh.

description : string

The description of the table, as specified by the table owner

post(data, database_id, name, schema)

Import a file into a table

Parameters:

data : string

The file to import, uploaded using HTTP multipart.

database_id : integer

The ID of the destination database.

name : string

The destination table name, without the schema prefix.

schema : string

The destination schema name.

Returns:

database_id : integer

The ID of the destination database.

name : string

The destination table name, without the schema prefix.

finished_at : string/date-time

The end time of the last run.

state : string

The state of the last run.

started_at : string/date-time

The start time of the last run.

schema : string

The destination schema name.

post_enhancements_cass_ncoa(source_table_id, **kwargs)

Standardize addresses in a table

Parameters:

source_table_id : integer

The ID of the table to be enhanced.

output_level : string, optional

The set of fields persisted by a CASS or NCOA enhancement.For CASS enhancements, one of ‘cass’ or ‘all.’For NCOA enhancements, one of ‘cass’, ‘ncoa’ , ‘coalesced’ or ‘all’.By default, all fields will be returned.

ncoa_credential_id : integer, optional

Credential to use when performing NCOA updates. Required if ‘performNcoa’ is true.

perform_ncoa : boolean, optional

Whether to update addresses for records matching the National Change of Address (NCOA) database.

Returns:

perform_ncoa : boolean

Whether to update addresses for records matching the National Change of Address (NCOA) database.

id : integer

The ID of the enhancement.

enhanced_table_name : string

The name of the table created by the enhancement.

enhanced_table_schema : string

The schema name of the table created by the enhancement.

state : string

The state of the enhancement, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

output_level : string

The set of fields persisted by a CASS or NCOA enhancement.For CASS enhancements, one of ‘cass’ or ‘all.’For NCOA enhancements, one of ‘cass’, ‘ncoa’ , ‘coalesced’ or ‘all’.By default, all fields will be returned.

ncoa_credential_id : integer

Credential to use when performing NCOA updates. Required if ‘performNcoa’ is true.

source_table_id : integer

The ID of the table that was enhanced.

post_enhancements_geocodings(source_table_id)

Geocode a table

Parameters:

source_table_id : integer

The ID of the table to be enhanced.

Returns:

enhanced_table_name : string

The name of the table created by the enhancement.

id : integer

The ID of the enhancement.

state : string

The state of the enhancement, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

enhanced_table_schema : string

The schema name of the table created by the enhancement.

source_table_id : integer

The ID of the table that was enhanced.

post_enhancements_prepared_matchings(source_table_id, threshold, match_table_id, **kwargs)

Match person records against a dynamo table prepared by Civis

Parameters:

source_table_id : integer

The ID of the table to be enhanced.

threshold : number/float

The confidence threshold which must be met for two individuals to be declared a match. Must be less than or equal to 1 and greater than or equal to 0.

match_table_id : integer

The ID of the Dynamo table to match against.

max_matches : integer, optional

The maximum number of individuals a person may be matched with.A value of 0 indicates that all matches should be returned.

Returns:

id : integer

The ID of the enhancement.

threshold : number/float

The confidence threshold which must be met for two individuals to be declared a match. Must be less than or equal to 1 and greater than or equal to 0.

enhanced_table_name : string

The name of the table created by the enhancement.

match_table_id : integer

The ID of the Dynamo table to match against.

enhanced_table_schema : string

The schema name of the table created by the enhancement.

state : string

The state of the enhancement, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

max_matches : integer

The maximum number of individuals a person may be matched with.A value of 0 indicates that all matches should be returned.

source_table_id : integer

The ID of the table that was enhanced.

post_enhancements_table_matchings(source_table_id, threshold, match_table_id, **kwargs)

Match person records against an arbitrary Redshift table

Parameters:

source_table_id : integer

The ID of the table to be enhanced.

threshold : number/float

The confidence threshold which must be met for two individuals to be declared a match. Must be less than or equal to 1 and greater than or equal to 0.

match_table_id : integer

The ID of the Redshift table to match against.

max_matches : integer, optional

The maximum number of individuals a person may be matched with.A value of 0 indicates that all matches should be returned.

Returns:

id : integer

The ID of the enhancement.

threshold : number/float

The confidence threshold which must be met for two individuals to be declared a match. Must be less than or equal to 1 and greater than or equal to 0.

enhanced_table_name : string

The name of the table created by the enhancement.

match_table_id : integer

The ID of the Redshift table to match against.

enhanced_table_schema : string

The schema name of the table created by the enhancement.

state : string

The state of the enhancement, one of ‘queued’ ‘running’ ‘succeeded’ ‘failed’ or ‘cancelled’.

max_matches : integer

The maximum number of individuals a person may be matched with.A value of 0 indicates that all matches should be returned.

source_table_id : integer

The ID of the table that was enhanced.

post_refresh(id)

Request a refresh for column and table statistics

Parameters:

id : integer

Returns:

owner : string

The database username of the table’s owner.

sortkeys : string

The column used as the Amazon Redshift sortkey.

is_view : boolean

True if this table represents a view. False if it represents a regular table.

name : string

Name of the table.

multipart_key : list

row_count : integer

The number of rows in the table.

refresh_status : string

How up-to-date the table’s statistics on row counts, null counts, distinct counts, and values distributions are. One of: refreshing, stale, or current.

joins : list:

- left_join : boolean
- id : integer
- on : string
- left_identifier : string
- right_table_id : integer
- created_at : string/time
- left_table_id : integer
- updated_at : string/time
- right_identifier : string

schema : string

The name of the schema containing the table.

size_mb : number/float

The size of the table in megabytes.

last_refresh : string/date-time

The time of the last statistics refresh.

description : string

The description of the table, as specified by the table owner

columns : list:

- value_distribution : dict
    An object mapping distinct values in the column to the number of times
    they appear in the column
- sql_type : string
    SQL type of the column.
- name : string
    Name of the column.
- useable_as_independent_variable : boolean
    Whether the column may be used as an independent variable to train a
    model.
- value_distribution_percent : dict
    A mapping between each value in the column and the percentage of rows
    with that value.Only present for tables with fewer than approximately
    25,000,000 rows and for columns with fewer than twenty distinct values.
- encoding : string
    The compression encoding for this columnSee: http://docs.aws.amazon.com
    /redshift/latest/dg/c_Compression_encodings.html
- order : integer
    Relative position of the column in the table.
- possible_dependent_variable_types : list
    Possible dependent variable types the column may be used to model.
    Null if it may not be used as a dependent variable.
- distinct_count : integer
    Number of distinct values in the column.
- sample_values : list
    A sample of values from the column.
- min_value : string
    Smallest value in the column.
- stddev : number/float
    Stddev of the column, where applicable.
- useable_as_primary_key : boolean
    Whether the column may be used as an primary key to identify table
    rows.
- null_count : integer
    Number of null values in the column.
- description : string
    The description of the column, as specified by the table owner
- avg_value : number/float
    Average value of the column, where applicable.
- max_value : string
    Largest value in the column.
- coverage_count : integer
    Number of non-null values in the column.

id : integer

The ID of the table.

database_id : integer

The ID of the database.

enhancements : list:

- created_at : string/time
- join_id : integer
- updated_at : string/time
- type : string

ontology_mapping : dict

The ontology-key to column-name mapping. See /ontology for the list of valid ontology keys.

outgoing_table_matches : list:

- target : dict::
    - name : string
- target_id : integer
    Target ID
- job : dict::
    - id : integer
    - match_options : dict::
        - max_matches : integer
        - threshold : string
    - runs : list::
        Information about the most recent runs of the job.
        - id : integer
        - error : string
            The error message for this run, if present.
        - finished_at : string/time
            The time that the run completed.
        - state : string
        - created_at : string/time
            The time that the run was queued.
        - started_at : string/time
            The time that the run started.
    - name : string
    - state : string
        Whether the job is idle, queued, running, cancelled, or failed.
    - created_at : string/date-time
    - hidden : boolean
        The hidden status of the object. Setting this to true hides it from
        most API endpoints. The object can still be queried directly by ID
    - last_run : dict::
        - id : integer
        - error : string
            The error message for this run, if present.
        - finished_at : string/time
            The time that the run completed.
        - state : string
        - created_at : string/time
            The time that the run was queued.
        - started_at : string/time
            The time that the run started.
    - updated_at : string/date-time
    - type : string
- target_type : string
    Target type
- source_table_id : integer
    Source table

column_count : integer

The number of columns in the table.

last_run : dict:

- id : integer
- error : string
    The error message for this run, if present.
- finished_at : string/time
    The time that the run completed.
- state : string
- created_at : string/time
    The time that the run was queued.
- started_at : string/time
    The time that the run started.

distkey : string

The column used as the Amazon Redshift distkey.

refresh_id : string

The ID of the most recent statistics refresh.

view_def : string

Users
class Users(session, return_type='civis')

Methods

delete_api_keys(id, key_id) Revoke the specified API key
get(id) Show info about a user
get_api_keys(id, key_id) Show the specified API key
list(**kwargs) List users
list_api_keys(id, **kwargs) Show API keys belonging to the specified user
list_me() Show info about the logged-in user
patch_me(**kwargs) Update info about the logged-in user
post_api_keys(id, expires_in, name, **kwargs) Create a new API key belonging to the logged-in user
delete_api_keys(id, key_id)

Revoke the specified API key

Parameters:

id : string

The ID of the user or ‘me’.

key_id : integer

The ID of the API key.

Returns:

last_used_at : string/date-time

The date and time when the key was last used.

id : integer

The ID of the API key.

active : boolean

True if the key has neither expired nor been revoked.

name : string

The name of the API key.

use_count : integer

The number of times the key has been used.

expired : boolean

True if the key has expired.

constraints : list:

Constraints on the abilities of the created key
- patch_allowed : boolean
    Whether the constraint allows PATCH requests.
- constraint : string
    The path matcher of the constraint.
- head_allowed : boolean
    Whether the constraint allows HEAD requests.
- get_allowed : boolean
    Whether the constraint allows GET requests.
- put_allowed : boolean
    Whether the constraint allows PUT requests.
- constraint_type : string
    The type of constraint (exact/prefix/regex/verb).
- post_allowed : boolean
    Whether the constraint allows POST requests.
- delete_allowed : boolean
    Whether the constraint allows DELETE requests.

created_at : string/date-time

The date and time when the key was created.

scopes : list

The scopes which the key is permissioned on.

expires_at : string/date-time

The date and time when the key expired.

revoked_at : string/date-time

The date and time when the key was revoked.

get(id)

Show info about a user

Parameters:

id : integer

The ID of this user.

Returns:

id : integer

The ID of this user.

email : string

The email of this user.

primary_group_id : integer

The ID of the primary group of this user.

state : string

The state of this user.

groups : list:

An array of all the groups this user is in.
- id : integer
    The ID of this group.
- name : string
    The name of this group.
- organization_id : integer
    The organization associated with this group.

time_zone : string

The time zone of this user.

github_username : string

The GitHub username of this user.

phone : string

The phone number of this user.

city : string

The city of this user.

active : string

The account status of this user.

prefers_sms_otp : string

The preference for phone authorization of this user

department : string

The deartment of this user.

user : string

The username of this user.

vpn_enabled : string

The availability of vpn for this user.

title : string

The title of this user.

name : string

The name of this user.

initials : string

The initials of this user.

otp_required_for_login : string

The two factor authorization requirement for this user.

get_api_keys(id, key_id)

Show the specified API key

Parameters:

id : string

The ID of the user or ‘me’.

key_id : integer

The ID of the API key.

Returns:

last_used_at : string/date-time

The date and time when the key was last used.

id : integer

The ID of the API key.

active : boolean

True if the key has neither expired nor been revoked.

name : string

The name of the API key.

use_count : integer

The number of times the key has been used.

expired : boolean

True if the key has expired.

constraints : list:

Constraints on the abilities of the created key
- patch_allowed : boolean
    Whether the constraint allows PATCH requests.
- constraint : string
    The path matcher of the constraint.
- head_allowed : boolean
    Whether the constraint allows HEAD requests.
- get_allowed : boolean
    Whether the constraint allows GET requests.
- put_allowed : boolean
    Whether the constraint allows PUT requests.
- constraint_type : string
    The type of constraint (exact/prefix/regex/verb).
- post_allowed : boolean
    Whether the constraint allows POST requests.
- delete_allowed : boolean
    Whether the constraint allows DELETE requests.

created_at : string/date-time

The date and time when the key was created.

scopes : list

The scopes which the key is permissioned on.

expires_at : string/date-time

The date and time when the key expired.

revoked_at : string/date-time

The date and time when the key was revoked.

list(**kwargs)

List users

Parameters:

feature_flag : string, optional

Return users that have a feature flag enabled.

account_status : string, optional

The account status by which to filter users. May be one of “active”, “inactive”, or “all”.

query : string, optional

Return users who match the given query, based on name, user, and email.

group_id : integer, optional

The ID of the group by which to filter users. Cannot be present if organization_id is.

organization_id : integer, optional

The ID of the organization by which to filter users. Cannot be present if group_id is.

limit : integer, optional

Number of results to return. Defaults to 20. Maximum allowed is 10000.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to name. Must be one of: name, user.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to asc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

id : integer

The ID of this user.

active : string

The account status of this user.

email : string

The email of this user.

primary_group_id : integer

The ID of the primary group of this user.

user : string

The username of this user.

created_at : string/date-time

The date and time when the user was created.

groups : list:

An array of all the groups this user is in.
- id : integer
    The ID of this group.
- name : string
    The name of this group.
- organization_id : integer
    The organization associated with this group.

name : string

The name of this user.

current_sign_in_at : string/date-time

The date and time when the user’s current session began.

list_api_keys(id, **kwargs)

Show API keys belonging to the specified user

Parameters:

id : string

The ID of the user or ‘me’.

limit : integer, optional

Number of results to return. Defaults to its maximum of 50.

page_num : integer, optional

Page number of the results to return. Defaults to the first page, 1.

order : string, optional

The field on which to order the result set. Defaults to id. Must be one of: id.

order_dir : string, optional

Direction in which to sort, either asc (ascending) or desc (descending) defaulting to desc.

iterator : bool, optional

If True, return a generator to iterate over all responses. Use when more results than the maximum allowed by limit are needed. When True, limit and page_num are ignored. Defaults to False.

Returns:

last_used_at : string/date-time

The date and time when the key was last used.

id : integer

The ID of the API key.

active : boolean

True if the key has neither expired nor been revoked.

name : string

The name of the API key.

use_count : integer

The number of times the key has been used.

expired : boolean

True if the key has expired.

created_at : string/date-time

The date and time when the key was created.

scopes : list

The scopes which the key is permissioned on.

expires_at : string/date-time

The date and time when the key expired.

revoked_at : string/date-time

The date and time when the key was revoked.

constraint_count : integer

The number of constraints on the created key

list_me()

Show info about the logged-in user

Returns:

id : integer

The ID of this user.

email : string

This user’s email address.

groups : list:

An array of all the groups this user is in.
- id : integer
    The ID of this group.
- name : string
    The name of this group.
- organization_id : integer
    The organization associated with this group.

roles : list

The roles this user has, listed by slug.

custom_branding : string

The branding of Platform for this user.

organization_name : string

The name of the organization the user belongs to.

username : string

This user’s username.

feature_flags : dict

The feature flag settings for this user.

last_checked_announcements : string/date-time

The date and time at which the user last checked their announcements.

preferences : dict

This user’s preferences.

name : string

This user’s name.

initials : string

This user’s initials.

patch_me(**kwargs)

Update info about the logged-in user

Parameters:

last_checked_announcements : string/date-time, optional

The date and time at which the user last checked their announcements.

preferences : dict, optional:

- script_index_status_filter : string
    Status filter for the scripts index page.
- result_index_author_filter : string
    Author filter for the results index page.
- import_index_order_field : string
    Order field for the imports index page.
- model_index_author_filter : string
    Author filter for the models index page.
- project_detail_order_field : string
    Order field for projects detail pages.
- script_index_author_filter : string
    Author filter for the scripts index page.
- model_index_order_dir : string
    Order direction for the models index page.
- import_index_order_dir : string
    Order direction for the imports index page.
- app_index_order_dir : string
    Oder direction for the apps index pages.
- export_index_author_filter : string
    Author filter for the exports index page.
- project_index_author_filter : string
    Author filter for the projects index page.
- export_index_order_dir : string
    Order direction for the exports index page.
- project_index_archived_filter : string
    Archived filter for the projects index page.
- script_index_type_filter : string
    Type filter for the scripts index page.
- export_index_type_filter : string
    Type filter for the exports index page.
- app_index_order_field : string
    Order field for the apps index pages.
- import_index_archived_filter : string
    Archived filter for the imports index page.
- project_detail_archived_filter : string
    Arhived filter for the projects detail pages.
- enhancement_index_author_filter : string
    Author filter for the enhancements index page.
- enhancement_index_order_field : string
    Order field for the enhancements index page.
- project_detail_order_dir : string
    Order direction for projects detail pages.
- result_index_type_filter : string
    Type filter for the results index page.
- result_index_order_dir : string
    Order direction for the results index page.
- model_index_archived_filter : string
    Archived filter for the models index page.
- report_index_thumbnail_view : string
    Thumbnail view for the reports index page.
- model_index_thumbnail_view : string
    Thumbnail view for the models index page.
- preferred_server_id : integer
    ID of preferred server.
- script_index_order_field : string
    Order field for the scripts index page.
- project_index_order_dir : string
    Order direction for the projects index page.
- import_index_dest_filter : string
    Destination filter for the imports index page.
- enhancement_index_archived_filter : string
    Archived filter for the enhancements index page.
- result_index_order_field : string
    Order field for the results index page.
- project_detail_author_filter : string
    Author filter for projects detail pages.
- export_index_order_field : string
    Order field for the exports index page.
- result_index_archived_filter : string
    Archived filter for the results index page.
- script_index_order_dir : string
    Order direction for the scripts index page.
- import_index_status_filter : string
    Status filter for the imports index page.
- model_index_status_filter : string
    Status filter for the models index page.
- import_index_type_filter : string
    Type filter for the imports index page.
- project_detail_type_filter : string
    Type filter for projects detail pages.
- civis_explore_skip_intro : boolean
    Whether the user is shown steps for each exploration.
- script_index_archived_filter : string
    Archived filter for the scripts index page.
- model_index_order_field : string
    Order field for the models index page.
- enhancement_index_order_dir : string
    Order direction for the enhancements index page.
- project_index_order_field : string
    Order field for the projects index page.
- import_index_author_filter : string
    Author filter for the imports index page.
- export_index_status_filter : string
    Status filter for the exports index page.
Returns:

id : integer

The ID of this user.

email : string

This user’s email address.

groups : list:

An array of all the groups this user is in.
- id : integer
    The ID of this group.
- name : string
    The name of this group.
- organization_id : integer
    The organization associated with this group.

roles : list

The roles this user has, listed by slug.

custom_branding : string

The branding of Platform for this user.

organization_name : string

The name of the organization the user belongs to.

username : string

This user’s username.

feature_flags : dict

The feature flag settings for this user.

last_checked_announcements : string/date-time

The date and time at which the user last checked their announcements.

preferences : dict

This user’s preferences.

name : string

This user’s name.

initials : string

This user’s initials.

post_api_keys(id, expires_in, name, **kwargs)

Create a new API key belonging to the logged-in user

Parameters:

id : string

The ID of the user or ‘me’.

expires_in : integer

The number of seconds the key should last for.

name : string

The name of the API key.

constraints : list, optional:

Constraints on the abilities of the created key.
- patch_allowed : boolean
    Whether the constraint allows PATCH requests.
- constraint : string
    The path matcher of the constraint.
- head_allowed : boolean
    Whether the constraint allows HEAD requests.
- get_allowed : boolean
    Whether the constraint allows GET requests.
- put_allowed : boolean
    Whether the constraint allows PUT requests.
- constraint_type : string
    The type of constraint (exact/prefix/regex/verb).
- post_allowed : boolean
    Whether the constraint allows POST requests.
- delete_allowed : boolean
    Whether the constraint allows DELETE requests.
Returns:

last_used_at : string/date-time

The date and time when the key was last used.

id : integer

The ID of the API key.

name : string

The name of the API key.

constraints : list:

Constraints on the abilities of the created key
- patch_allowed : boolean
    Whether the constraint allows PATCH requests.
- constraint : string
    The path matcher of the constraint.
- head_allowed : boolean
    Whether the constraint allows HEAD requests.
- get_allowed : boolean
    Whether the constraint allows GET requests.
- put_allowed : boolean
    Whether the constraint allows PUT requests.
- constraint_type : string
    The type of constraint (exact/prefix/regex/verb).
- post_allowed : boolean
    Whether the constraint allows POST requests.
- delete_allowed : boolean
    Whether the constraint allows DELETE requests.

revoked_at : string/date-time

The date and time when the key was revoked.

active : boolean

True if the key has neither expired nor been revoked.

use_count : integer

The number of times the key has been used.

created_at : string/date-time

The date and time when the key was created.

expired : boolean

True if the key has expired.

scopes : list

The scopes which the key is permissioned on.

expires_at : string/date-time

The date and time when the key expired.

token : string

The API key.

Command Line Interface

A command line interface (CLI) to Civis is provided. This can be invoked by typing the command civis in the shell (sh, bash, zsh, etc.). It can also be used in Civis container scripts where the Docker image has this client installed. Here’s a simple example of printing the types of scripts.

> civis scripts list-types
- name: sql
- name: python3
- name: javascript
- name: r
- name: containers

Not all API endpoints are available through the CLI since some take complex data types (e.g., arrays, objects/dictionaries) as input. However, functionality is available for getting information about scripts, logs, etc., as well as executing already created scripts.

There are a few extra, CLI-only commands that wrap the Files API endpoints to make uploading and downloading files easier: civis files upload $PATH and civis files download $FILEID $PATH.

The default output format is YAML, but the --json-output allows you to get output in JSON.

Indices and tables