Matillion ETL Data Model for Marketo
Version - 22.0.8384.0

Note: Data models are true for the latest version of Matillion ETL. If you are on an older version or using a component from an old job, your experience may differ.



Connection String OptionsBack To Top

  1. RESTEndpoint
  2. UserId
  3. EncryptionKey
  4. SOAPEndpoint
  5. InitiateOAuth
  6. OAuthClientId
  7. OAuthClientSecret
  8. OAuthAccessToken
  9. OAuthSettingsLocation
  10. OAuthExpiresIn
  11. OAuthTokenTimestamp
  12. SSLServerCert
  13. FirewallType
  14. FirewallServer
  15. FirewallPort
  16. FirewallUser
  17. FirewallPassword
  18. ProxyAutoDetect
  19. ProxyServer
  20. ProxyPort
  21. ProxyAuthScheme
  22. ProxyUser
  23. ProxyPassword
  24. ProxySSLType
  25. ProxyExceptions
  26. Logfile
  27. Verbosity
  28. LogModules
  29. MaxLogFileSize
  30. MaxLogFileCount
  31. Location
  32. Schema
  33. BrowsableSchemas
  34. Tables
  35. Views
  36. AutoCache
  37. CacheDriver
  38. CacheConnection
  39. CacheLocation
  40. CacheTolerance
  41. Offline
  42. CacheMetadata
  43. BatchSize
  44. ConnectionLifeTime
  45. ConnectOnOpen
  46. JobPollingInterval
  47. MaxRows
  48. Other
  49. Pagesize
  50. PoolIdleTimeout
  51. PoolMaxSize
  52. PoolMinSize
  53. PoolWaitTime
  54. PseudoColumns
  55. Readonly
  56. RTK
  57. Timeout
  58. UseBulkAPI
  59. UseConnectionPooling
  60. UserDefinedViews

RESTEndpoint

Data Type

string

Default Value

""

Remarks

The URL of the REST Web service endpoint is provided by Marketo on the Admin page of the Marketo website.



UserId

Data Type

string

Default Value

""

Remarks

The User Id is provided by Marketo and is used to authenticate to the Marketo SOAP Web service.



EncryptionKey

Data Type

string

Default Value

""

Remarks

The EncryptionKey is generated on the Admin page of the Marketo website and is used to authenticate to the Marketo SOAP Web service.



SOAPEndpoint

Data Type

string

Default Value

""

Remarks

The URL of the SOAP Web service endpoint is provided by Marketo on the Admin page of the Marketo website.



InitiateOAuth

Data Type

string

Default Value

"GETANDREFRESH"

Remarks

The following options are available:

  1. OFF: Indicates that the OAuth flow will be handled entirely by the user. An OAuthAccessToken will be required to authenticate.
  2. GETANDREFRESH: Indicates that the entire OAuth Flow will be handled by the driver. If no token currently exists, it will be obtained by prompting the user via the browser. If a token exists, it will be refreshed when applicable.
  3. REFRESH: Indicates that the driver will only handle refreshing the OAuthAccessToken. The user will never be prompted by the driver to authenticate via the browser. The user must handle obtaining the OAuthAccessToken and OAuthRefreshToken initially.



OAuthClientId

Data Type

string

Default Value

""

Remarks

As part of registering an OAuth application, you will receive the OAuthClientId value, sometimes also called a consumer key, and a client secret, the OAuthClientSecret.



OAuthClientSecret

Data Type

string

Default Value

""

Remarks

As part of registering an OAuth application, you will receive the OAuthClientId, also called a consumer key. You will also receive a client secret, also called a consumer secret. Set the client secret in the OAuthClientSecret property.



OAuthAccessToken

Data Type

string

Default Value

""

Remarks

The OAuthAccessToken property is used to connect using OAuth. The OAuthAccessToken is retrieved from the OAuth server as part of the authentication process. It has a server-dependent timeout and can be reused between requests.

The access token is used in place of your user name and password. The access token protects your credentials by keeping them on the server.



OAuthSettingsLocation

Data Type

string

Default Value

"%APPDATA%\\CData\\Marketo Data Provider\\OAuthSettings.txt"

Remarks

When InitiateOAuth is set to GETANDREFRESH or REFRESH, the driver saves OAuth values to avoid requiring the user to manually enter OAuth connection properties and allowing the credentials to be shared across connections or processes.

Alternatively to specifying a file path, memory storage can be used instead. Memory locations are specified by using a value starting with 'memory://' followed by a unique identifier for that set of credentials (ex: memory://user1). The identifier can be anything you choose but should be unique to the user. Unlike with the file based storage, you must manually store the credentials when closing the connection with memory storage to be able to set them in the connection when the process is started again. The OAuth property values can be retrieved with a query to the sys_connection_props system table. If there are multiple connections using the same credentials, the properties should be read from the last connection to be closed.

If left unspecified, the default location is "%APPDATA%\\CData\\Marketo Data Provider\\OAuthSettings.txt" with %APPDATA% being set to the user's configuration directory:

Platform %APPDATA%
Windows The value of the APPDATA environment variable
Mac ~/Library/Application Support
Linux ~/.config



OAuthExpiresIn

Data Type

string

Default Value

""

Remarks

Pair with OAuthTokenTimestamp to determine when the AccessToken will expire.



OAuthTokenTimestamp

Data Type

string

Default Value

""

Remarks

Pair with OAuthExpiresIn to determine when the AccessToken will expire.



SSLServerCert

Data Type

string

Default Value

""

Remarks

If using a TLS/SSL connection, this property can be used to specify the TLS/SSL certificate to be accepted from the server. Any other certificate that is not trusted by the machine is rejected.

This property can take the following forms:

Description Example
A full PEM Certificate (example shortened for brevity) -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE-----
A path to a local file containing the certificate C:\cert.cer
The public key (example shortened for brevity) -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY-----
The MD5 Thumbprint (hex values can also be either space or colon separated) ecadbdda5a1529c58a1e9e09828d70e4
The SHA1 Thumbprint (hex values can also be either space or colon separated) 34a929226ae0819f2ec14b4a3d904f801cbb150d

If not specified, any certificate trusted by the machine is accepted.

Certificates are validated as trusted by the machine based on the System's trust store. The trust store used is the 'javax.net.ssl.trustStore' value specified for the system. If no value is specified for this property, Java's default trust store is used (for example, JAVA_HOME\lib\security\cacerts).

Use '*' to signify to accept all certificates. Note that this is not recommended due to security concerns.



FirewallType

Data Type

string

Default Value

"NONE"

Remarks

This property specifies the protocol that the driver will use to tunnel traffic through the FirewallServer proxy. Note that by default, the driver connects to the system proxy; to disable this behavior and connect to one of the following proxy types, set ProxyAutoDetect to false.

Type Default Port Description
TUNNEL 80 When this is set, the driver opens a connection to Marketo and traffic flows back and forth through the proxy.
SOCKS4 1080 When this is set, the driver sends data through the SOCKS 4 proxy specified by FirewallServer and FirewallPort and passes the FirewallUser value to the proxy, which determines if the connection request should be granted.
SOCKS5 1080 When this is set, the driver sends data through the SOCKS 5 proxy specified by FirewallServer and FirewallPort. If your proxy requires authentication, set FirewallUser and FirewallPassword to credentials the proxy recognizes.

To connect to HTTP proxies, use ProxyServer and ProxyPort. To authenticate to HTTP proxies, use ProxyAuthScheme, ProxyUser, and ProxyPassword.



FirewallServer

Data Type

string

Default Value

""

Remarks

This property specifies the IP address, DNS name, or host name of a proxy allowing traversal of a firewall. The protocol is specified by FirewallType: Use FirewallServer with this property to connect through SOCKS or do tunneling. Use ProxyServer to connect to an HTTP proxy.

Note that the driver uses the system proxy by default. To use a different proxy, set ProxyAutoDetect to false.



FirewallPort

Data Type

int

Default Value

0

Remarks

This specifies the TCP port for a proxy allowing traversal of a firewall. Use FirewallServer to specify the name or IP address. Specify the protocol with FirewallType.



FirewallUser

Data Type

string

Default Value

""

Remarks

The FirewallUser and FirewallPassword properties are used to authenticate against the proxy specified in FirewallServer and FirewallPort, following the authentication method specified in FirewallType.



FirewallPassword

Data Type

string

Default Value

""

Remarks

This property is passed to the proxy specified by FirewallServer and FirewallPort, following the authentication method specified by FirewallType.



ProxyAutoDetect

Data Type

bool

Default Value

false

Remarks

This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings.

NOTE: When this property is set to True, the proxy used is determined as follows:

To connect to an HTTP proxy, see ProxyServer. For other proxies, such as SOCKS or tunneling, see FirewallType.



ProxyServer

Data Type

string

Default Value

""

Remarks

The hostname or IP address of a proxy to route HTTP traffic through. The driver can use the HTTP, Windows (NTLM), or Kerberos authentication types to authenticate to an HTTP proxy.

If you need to connect through a SOCKS proxy or tunnel the connection, see FirewallType.

By default, the driver uses the system proxy. If you need to use another proxy, set ProxyAutoDetect to false.



ProxyPort

Data Type

int

Default Value

80

Remarks

The port the HTTP proxy is running on that you want to redirect HTTP traffic through. Specify the HTTP proxy in ProxyServer. For other proxy types, see FirewallType.



ProxyAuthScheme

Data Type

string

Default Value

"BASIC"

Remarks

This value specifies the authentication type to use to authenticate to the HTTP proxy specified by ProxyServer and ProxyPort.

Note that the driver will use the system proxy settings by default, without further configuration needed; if you want to connect to another proxy, you will need to set ProxyAutoDetect to false, in addition to ProxyServer and ProxyPort. To authenticate, set ProxyAuthScheme and set ProxyUser and ProxyPassword, if needed.

The authentication type can be one of the following:

If you need to use another authentication type, such as SOCKS 5 authentication, see FirewallType.



ProxyUser

Data Type

string

Default Value

""

Remarks

The ProxyUser and ProxyPassword options are used to connect and authenticate against the HTTP proxy specified in ProxyServer.

You can select one of the available authentication types in ProxyAuthScheme. If you are using HTTP authentication, set this to the user name of a user recognized by the HTTP proxy. If you are using Windows or Kerberos authentication, set this property to a user name in one of the following formats:

user@domain

domain\user



ProxyPassword

Data Type

string

Default Value

""

Remarks

This property is used to authenticate to an HTTP proxy server that supports NTLM (Windows), Kerberos, or HTTP authentication. To specify the HTTP proxy, you can set ProxyServer and ProxyPort. To specify the authentication type, set ProxyAuthScheme.

If you are using HTTP authentication, additionally set ProxyUser and ProxyPassword to HTTP proxy.

If you are using NTLM authentication, set ProxyUser and ProxyPassword to your Windows password. You may also need these to complete Kerberos authentication.

For SOCKS 5 authentication or tunneling, see FirewallType.

By default, the driver uses the system proxy. If you want to connect to another proxy, set ProxyAutoDetect to false.



ProxySSLType

Data Type

string

Default Value

"AUTO"

Remarks

This property determines when to use SSL for the connection to an HTTP proxy specified by ProxyServer. This value can be AUTO, ALWAYS, NEVER, or TUNNEL. The applicable values are the following:

AUTODefault setting. If the URL is an HTTPS URL, the driver will use the TUNNEL option. If the URL is an HTTP URL, the component will use the NEVER option.
ALWAYSThe connection is always SSL enabled.
NEVERThe connection is not SSL enabled.
TUNNELThe connection is through a tunneling proxy. The proxy server opens a connection to the remote host and traffic flows back and forth through the proxy.



ProxyExceptions

Data Type

string

Default Value

""

Remarks

The ProxyServer is used for all addresses, except for addresses defined in this property. Use semicolons to separate entries.

Note that the driver uses the system proxy settings by default, without further configuration needed; if you want to explicitly configure proxy exceptions for this connection, you need to set ProxyAutoDetect = false, and configure ProxyServer and ProxyPort. To authenticate, set ProxyAuthScheme and set ProxyUser and ProxyPassword, if needed.



Logfile

Data Type

string

Default Value

""

Remarks

Once this property is set, the driver will populate the log file as it carries out various tasks, such as when authentication is performed or queries are executed. If the specified file doesn't already exist, it will be created.

Connection strings and version information are also logged, though connection properties containing sensitive information are masked automatically.

If a relative filepath is supplied, the location of the log file will be resolved based on the path found in the Location connection property.

For more control over what is written to the log file, you can adjust the Verbosity property.

Log contents are categorized into several modules. You can show/hide individual modules using the LogModules property.

To edit the maximum size of a single logfile before a new one is created, see MaxLogFileSize.

If you would like to place a cap on the number of logfiles generated, use MaxLogFileCount.

Java Logging

Java logging is also supported. To enable Java logging, set Logfile to:

Logfile=JAVALOG://myloggername

As in the above sample, JAVALOG:// is a required prefix to use Java logging, and you will substitute your own Logger.

The supplied Logger's getLogger method is then called, using the supplied value to create the Logger instance. If a logging instance already exists, it will reference the existing instance.

When Java logging is enabled, the Verbosity will now correspond to specific logging levels.



Verbosity

Data Type

string

Default Value

"1"

Remarks

The verbosity level determines the amount of detail that the driver reports to the Logfile. Verbosity levels from 1 to 5 are supported. These are detailed in the Logging page.



LogModules

Data Type

string

Default Value

""

Remarks

Only the modules specified (separated by ';') will be included in the log file. By default all modules are included.

See the Logging page for an overview.



MaxLogFileSize

Data Type

string

Default Value

"100MB"

Remarks

When the limit is hit, a new log is created in the same folder with the date and time appended to the end. The default limit is 100 MB. Values lower than 100 kB will use 100 kB as the value instead.

Adjust the maximum number of logfiles generated with MaxLogFileCount.



MaxLogFileCount

Data Type

int

Default Value

-1

Remarks

When the limit is hit, a new log is created in the same folder with the date and time appended to the end and the oldest log file will be deleted.

The minimum supported value is 2. A value of 0 or a negative value indicates no limit on the count.

Adjust the maximum size of the logfiles generated with MaxLogFileSize.



Location

Data Type

string

Default Value

"%APPDATA%\\CData\\Marketo Data Provider\\Schema"

Remarks

The path to a directory which contains the schema files for the driver (.rsd files for tables and views, .rsb files for stored procedures). The folder location can be a relative path from the location of the executable. The Location property is only needed if you want to customize definitions (for example, change a column name, ignore a column, and so on) or extend the data model with new tables, views, or stored procedures.

Note: Given that this driver supports multiple schemas, the structure for Marketo custom schema files is as follows:

If left unspecified, the default location is "%APPDATA%\\CData\\Marketo Data Provider\\Schema" with %APPDATA% being set to the user's configuration directory:

Platform %APPDATA%
Windows The value of the APPDATA environment variable
Mac ~/Library/Application Support
Linux ~/.config



Schema

Data Type

string

Default Value

"REST"

Remarks

The schemas available are REST (to use Marketo's REST API) and SOAP (to use Marketo's SOAP API).



BrowsableSchemas

Data Type

string

Default Value

""

Remarks

Listing the schemas from databases can be expensive. Providing a list of schemas in the connection string improves the performance.



Tables

Data Type

string

Default Value

""

Remarks

Listing the tables from some databases can be expensive. Providing a list of tables in the connection string improves the performance of the driver.

This property can also be used as an alternative to automatically listing views if you already know which ones you want to work with and there would otherwise be too many to work with.

Specify the tables you want in a comma-separated list. Each table should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.

Note that when connecting to a data source with multiple schemas or catalogs, you will need to provide the fully qualified name of the table in this property, as in the last example here, to avoid ambiguity between tables that exist in multiple catalogs or schemas.



Views

Data Type

string

Default Value

""

Remarks

Listing the views from some databases can be expensive. Providing a list of views in the connection string improves the performance of the driver.

This property can also be used as an alternative to automatically listing views if you already know which ones you want to work with and there would otherwise be too many to work with.

Specify the views you want in a comma-separated list. Each view should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.

Note that when connecting to a data source with multiple schemas or catalogs, you will need to provide the fully qualified name of the table in this property, as in the last example here, to avoid ambiguity between tables that exist in multiple catalogs or schemas.



AutoCache

Data Type

bool

Default Value

false

Remarks

When AutoCache = true, the driver automatically maintains a cache of your table's data in the database of your choice. By default, the driver incrementally updates the cache, retrieving only changes since the last SELECT query was run if the length of time since the last run has exceeded the CacheTolerance. After the cache is updated, the query is executed against the cached data.

Setting the Caching Database

When AutoCache = true, the driver caches to a simple, file-based cache. You can configure its location or cache to a different database with the following properties:

See Also



CacheDriver

Data Type

string

Default Value

""

Remarks

You can cache to any database for which you have a JDBC driver, including CData JDBC drivers.

The cache database is determined by the CacheDriver and CacheConnection properties. The CacheDriver is the name of the JDBC driver class that you want to use to cache data.

Note: you must add the CacheDriver JAR file to the classpath.

Examples
The following examples show how to cache to several major databases. Refer to CacheConnection for more information on the JDBC URL syntax and typical connection properties.
Derby and Java DB

The driver simplifies Derby configuration. Java DB is the Oracle distribution of Derby. The JAR file is shipped in the JDK. You can find the JAR file, derby.jar, in the db subfolder of the JDK installation. In most caching scenarios, you need to specify only the following, after adding derby.jar to the classpath:

jdbc:marketo:CacheLocation='c:/Temp/cachedir';Schema=REST;RESTEndpoint=https://MyMarketoUrl/rest;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;
To customize the Derby JDBC URL, use CacheDriver and CacheConnection. For example, to cache to an in-memory database, use a JDBC URL like the following:
jdbc:marketo:CacheDriver=org.apache.derby.jdbc.EmbeddedDriver;CacheConnection='jdbc:derby:memory';Schema=REST;RESTEndpoint=https://MyMarketoUrl/rest;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;
SQLite

The following is a JDBC URL for the SQLite JDBC driver:

jdbc:marketo:CacheDriver=org.sqlite.JDBC;CacheConnection='jdbc:sqlite:C:/Temp/sqlite.db';Schema=REST;RESTEndpoint=https://MyMarketoUrl/rest;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;
MySQL

The following is a JDBC URL for the included CData JDBC Driver for MySQL:

  jdbc:marketo:Cache Driver=cdata.jdbc.mysql.MySQLDriver;Cache Connection='jdbc:mysql:Server=localhost;Port=3306;Database=cache;User=root;Password=123456';Schema=REST;RESTEndpoint=https://MyMarketoUrl/rest;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;

  
SQL Server

The following JDBC URL uses the Microsoft JDBC Driver for SQL Server:

jdbc:marketo:Cache Driver=com.microsoft.sqlserver.jdbc.SQLServerDriver;Cache Connection='jdbc:sqlserver://localhost\sqlexpress:7437;user=sa;password=123456;databaseName=Cache';Schema=REST;RESTEndpoint=https://MyMarketoUrl/rest;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;
Oracle

The following is a JDBC URL for the Oracle Thin Client:

jdbc:marketo:Cache Driver=oracle.jdbc.OracleDriver;CacheConnection='jdbc:oracle:thin:scott/tiger@localhost:1521:orcldb';Schema=REST;RESTEndpoint=https://MyMarketoUrl/rest;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;
NOTE: If using a version of Oracle older than 9i, the cache driver will instead be oracle.jdbc.driver.OracleDriver .
PostgreSQL

The following JDBC URL uses the official PostgreSQL JDBC driver:

jdbc:marketo:CacheDriver=cdata.jdbc.postgresql.PostgreSQLDriver;CacheConnection='jdbc:postgresql:User=postgres;Password=admin;Database=postgres;Server=localhost;Port=5432;';Schema=REST;RESTEndpoint=https://MyMarketoUrl/rest;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;



CacheConnection

Data Type

string

Default Value

""

Remarks

The cache database is determined based on the CacheDriver and CacheConnection properties. Both properties are required to use the cache database. Examples of common cache database settings can be found below. For more information on setting the caching database's driver, refer to CacheDriver.

The connection string specified in the CacheConnection property is passed directly to the underlying CacheDriver. Consult the documentation for the specific JDBC driver for more information on the available properties. Make sure to include the JDBC driver in your application's classpath.

Derby and Java DB

The driver simplifies caching to Derby, only requiring you to set the CacheLocation property to make a basic connection.

Alternatively, you can configure the connection to Derby manually using CacheDriver and CacheConnection. The following is the Derby JDBC URL syntax:

jdbc:derby:[subsubprotocol:][databaseName][;attribute=value[;attribute=value] ... ]
For example, to cache to an in-memory database, use the following:
jdbc:derby:memory

SQLite

To cache to SQLite, you can use the SQLite JDBC driver. The following is the syntax of the JDBC URL:

jdbc:sqlite:dataSource

MySQL

The installation includes the CData JDBC Driver for MySQL. The following is an example JDBC URL:

jdbc:mysql:User=root;Password=root;Server=localhost;Port=3306;Database=cache
The following are typical connection properties:

SQL Server

The JDBC URL for the Microsoft JDBC Driver for SQL Server has the following syntax:

jdbc:sqlserver://[serverName[\instance][:port]][;database=databaseName][;property=value[;property=value] ... ]
For example:
jdbc:sqlserver://localhost\sqlexpress:1433;integratedSecurity=true
The following are typical SQL Server connection properties:
Oracle

The following is the conventional JDBC URL syntax for the Oracle JDBC Thin driver:

jdbc:oracle:thin:[userId/password]@[//]host[[:port][:sid]]
For example:
jdbc:oracle:thin:scott/tiger@myhost:1521:orcl
The following are typical connection properties:
PostgreSQL

The following is the JDBC URL syntax for the official PostgreSQL JDBC driver:

jdbc:postgresql:[//[host[:port]]/]database[[?option=value][[&option=value][&option=value] ... ]]
For example, the following connection string connects to a database on the default host (localhost) and port (5432):
jdbc:postgresql:postgres
The following are typical connection properties:



CacheLocation

Data Type

string

Default Value

"%APPDATA%\\CData\\Marketo Data Provider"

Remarks

The CacheLocation is a simple, file-based cache. The driver uses Java DB, Oracle's distribution of the Derby database. To cache to Java DB, you will need to add the Java DB JAR file to the classpath. The JAR file, derby.jar, is shipped in the JDK and located in the db subfolder of the JDK installation.

If left unspecified, the default location is "%APPDATA%\\CData\\Marketo Data Provider" with %APPDATA% being set to the user's configuration directory:

Platform %APPDATA%
Windows The value of the APPDATA environment variable
Mac ~/Library/Application Support
Linux ~/.config

See Also



CacheTolerance

Data Type

int

Default Value

600

Remarks

The tolerance for stale data in the cache specified in seconds. This only applies when AutoCache is used. The driver checks with the data source for newer records after the tolerance interval has expired. Otherwise, it returns the data directly from the cache.



Offline

Data Type

bool

Default Value

false

Remarks

When Offline = true, all queries execute against the cache as opposed to the live data source. In this mode, certain queries like INSERT, UPDATE, DELETE, and CACHE are not allowed.



CacheMetadata

Data Type

bool

Default Value

false

Remarks

As you execute queries with this property set, table metadata in the Marketo catalog are cached to the file store specified by CacheLocation if set or the user's home directory otherwise. A table's metadata will be retrieved only once, when the table is queried for the first time.

When to Use CacheMetadata

The driver automatically persists metadata in memory for up to two hours when you first discover the metadata for a table or view and therefore, CacheMetadata is generally not required. CacheMetadata becomes useful when metadata operations are expensive such as when you are working with large amounts of metadata or when you have many short-lived connections.

When Not to Use CacheMetadata



BatchSize

Data Type

int

Default Value

0

Remarks

When BatchSize is set to a value greater than 0, the batch operation will split the entire batch into separate batches of size BatchSize. The split batches will then be submitted to the server individually. This is useful when the server has limitations on the size of the request that can be submitted.

Setting BatchSize to 0 will submit the entire batch as specified.



ConnectionLifeTime

Data Type

int

Default Value

0

Remarks

The maximum lifetime of a connection in seconds. Once the time has elapsed, the connection object is disposed. The default is 0 which indicates there is no limit to the connection lifetime.



ConnectOnOpen

Data Type

bool

Default Value

false

Remarks

When set to true, a connection will be made to Marketo when the connection is opened. This property enables the Test Connection feature available in various database tools.

This feature acts as a NOOP command as it is used to verify a connection can be made to Marketo and nothing from this initial connection is maintained.

Setting this property to false may provide performance improvements (depending upon the number of times a connection is opened).



JobPollingInterval

Data Type

int

Default Value

120

Remarks

This property is used to specify the polling interval (in seconds) to identify when a bulk API job has completed. The driver will wait JobPollingInterval seconds between calls to check a bulk API job status. Once the job is identified as 'Completed', the driver will download and parse the generated file returning the results of the specified query.

This property can be set to 0 to just create and enqueue a job in which case the Job Id will be returned in the result set. The job status can then be checked using stored procedures.

Note: This property is only applicable when UseBulkAPI is set to True. See the UseBulkAPI page for more information about using the Bulk API.



MaxRows

Data Type

int

Default Value

-1

Remarks

Limits the number of rows returned rows when no aggregation or group by is used in the query. This helps avoid performance issues at design time.



Other

Data Type

string

Default Value

""

Remarks

The properties listed below are available for specific use cases. Normal driver use cases and functionality should not require these properties.

Specify multiple properties in a semicolon-separated list.

Caching Configuration

CachePartial=TrueCaches only a subset of columns, which you can specify in your query.
QueryPassthrough=TruePasses the specified query to the cache database instead of using the SQL parser of the driver.

Integration and Formatting

DefaultColumnSizeSets the default length of string fields when the data source does not provide column length in the metadata. The default value is 2000.
ConvertDateTimeToGMTDetermines whether to convert date-time values to GMT, instead of the local time of the machine.
RecordToFile=filenameRecords the underlying socket data transfer to the specified file.



Pagesize

Data Type

int

Default Value

1000

Remarks

The Pagesize property affects the maximum number of results to return per page from Marketo. Setting a higher value may result in better performance at the cost of additional memory allocated per page consumed.



PoolIdleTimeout

Data Type

int

Default Value

60

Remarks

The allowed idle time a connection can remain in the pool until the connection is closed. The default is 60 seconds.



PoolMaxSize

Data Type

int

Default Value

100

Remarks

The maximum connections in the pool. The default is 100. To disable this property, set the property value to 0 or less.



PoolMinSize

Data Type

int

Default Value

1

Remarks

The minimum number of connections in the pool. The default is 1.



PoolWaitTime

Data Type

int

Default Value

60

Remarks

The max seconds to wait for a connection to become available. If a new connection request is waiting for an available connection and exceeds this time, an error is thrown. By default, new requests wait forever for an available connection.



PseudoColumns

Data Type

string

Default Value

""

Remarks

This setting is particularly helpful in Entity Framework, which does not allow you to set a value for a pseudo column unless it is a table column. The value of this connection setting is of the format "Table1=Column1, Table1=Column2, Table2=Column3". You can use the "*" character to include all tables and all columns; for example, "*=*".



Readonly

Data Type

bool

Default Value

false

Remarks

If this property is set to true, the driver will allow only SELECT queries. INSERT, UPDATE, DELETE, and stored procedure queries will cause an error to be thrown.



RTK

Data Type

string

Default Value

""

Remarks

The RTK property may be used to license a build. See the included licensing file to see how to set this property. The runtime key is only available if you purchased an OEM license.



Timeout

Data Type

string

Default Value

"300"

Remarks

If the Timeout property is set to 0, operations do not time out: They run until they complete successfully or encounter an error condition.

If Timeout expires and the operation is not yet complete, the driver throws an exception.



UseBulkAPI

Data Type

bool

Default Value

false

Remarks

When set to 'True', the Marketo Bulk API will be used to extract or import data, where applicable. The Bulk API in an interface that allows you to retrieve or import large sets of data using delimited (CSV, TSV, or SSV) files. Currently the only tables that support the Bulk API are: Leads (extract and import) and Activities (extract). For any tables that do not support the Bulk API, this property will be ignored.

The Bulk API causes all the data to be retrieved in a single request and requires the data to be accumulated on the server side prior to sending. Therefore requesting a large amount of data using the Bulk API may be advantageous over using the REST API and you may see performance improvements. Additionally the Bulk API requires less API requests to be made (which helps preserve your API calls and staying within the API restrictions enforced by Marketo).

To use the Bulk API to extract records, a job must be created and enqueued. Once enqueued, Marketo will begin processing the job to retrieve the requested data and generate the delimited file. The status of the job can be polled to determine the current status and whether the file is available to be downloaded. Once the status shows that the job is complete and the file is ready, the data can then be downloaded.

When UseBulkAPI is set to True and JobPollingInterval is set to a value greater than 0, the driver will perform all the previous mentioned steps for you when executing a SELECT query on a Leads or Activities table. This will create and enqueue a job with the specified columns and filters. Note that a filter is required when exporting bulk data. For the Activities tables, an ActivityDate range must be specified. For the Leads table, a CreatedAt or UpdatedAt range may be specified or a Static or Smart list. The driver will poll the job status to identify when the job has completed, waiting JobPollingInterval seconds in between calls. Once the job is complete, the driver will download the delimited file that was created, parse it, and return the results for the specified query.

Note that job status calls count against your API call limit and thus it is suggested to space out your status requests based on the amount of data you are requesting. The job status polling interval is configurable via JobPollingInterval. Marketo will only update the status every 60 seconds and thus it is suggested that your polling interval be larger than 60 seconds. When expecting large datasets, it may be best to increase the polling interval to a value greater than 5 minutes to minimize API calls. It is possible that it may take a while for the job to be processed and thus it may seem like the query is exhibiting a hanging behavior when it is actually just waiting for the job to complete.

In the case that you want to issue your own job status polling requests, you can set JobPollingInterval to 0. This will just create and enqueue the job for you when you execute a SELECT query on a Leads or Activities table, returning the JobId in the result set.

Once a job has been enqueued, the status of the job can be polled by calling the GetExportJobStatus stored procedure.

The JobStatus value will be 'Complete' signaling that the job has finished processing and is ready to be downloaded. To finish executing your initial SELECT query, add the JobId filter to the WHERE clause of the initial SELECT statement. This query will download the file for the specified JobId and parse the result set.

Logic/Code Example (JobPollingInterval = 0):

SELECT JobId, Company, FirstName AS fn, LastName AS ln FROM Leads WHERE CreatedAt>='10/01/2017' AND CreatedAt<'10/31/2017'

# Retrieve the JobId value from the ResultSet (e.g. c4ebf745-b0e3-4bb8-bfc9-bd8472a28d35). Only one row is returned and JobId will be the only relevant value returned.



loop(desired time interval) {

  EXEC GetExportJobStatus @JobId='c4ebf745-b0e3-4bb8-bfc9-bd8472a28d35', @Type='Leads'

  if (JobStatus == 'Completed') break;

}



SELECT Company, FirstName AS fn, LastName AS ln FROM Leads WHERE CreatedAt>='10/01/2016' AND CreatedAt<'10/31/2016' AND JobId='c4ebf745-b0e3-4bb8-bfc9-bd8472a28d35'

Note: this property is only applicable when using the REST API.



UseConnectionPooling

Data Type

bool

Default Value

false

Remarks

This property enables connection pooling. The default is false. See Connection Pooling for information on using connection pools.



UserDefinedViews

Data Type

string

Default Value

""

Remarks

User Defined Views are defined in a JSON-formatted configuration file called UserDefinedViews.json. The driver automatically detects the views specified in this file.

You can also have multiple view definitions and control them using the UserDefinedViews connection property. When you use this property, only the specified views are seen by the driver.

This User Defined View configuration file is formatted as follows:

For example:

{

	"MyView": {

		"query": "SELECT * FROM Leads WHERE MyColumn = 'value'"

	},

	"MyView2": {

		"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"

	}

}
Use the UserDefinedViews connection property to specify the location of your JSON configuration file. For example:
"UserDefinedViews", "C:\\Users\\yourusername\\Desktop\\tmp\\UserDefinedViews.json"





TablesBack To Top

  1. CustomActivities
  2. CustomObjects
  3. Emails
  4. EmailTemplates
  5. Folders
  6. Forms
  7. LandingPages
  8. LandingPageTemplates
  9. Leads
  10. ListStaticMemberShip
  11. NamedAccounts
  12. Opportunities
  13. OpportunityRoles
  14. ProgramMembers
  15. Programs
  16. SalesPersons
  17. SmartCampaigns
  18. SmartLists
  19. Snippets
  20. StaticLists
  21. Tokens

CustomActivities

Query Custom Activities for a Marketo organization.

Table Specific Information
Each custom activity contained within your Marketo organization will be returned as it's own table. Each table name will be prefixed with 'Activity_' followed by the name of your custom activity.
Select

Custom activities can be retrieved by performing a SELECT query on the custom activity table.

SELECT * FROM Activity_MyCustomActivity



Columns

Name Type ReadOnly Filterable Description
ActivityId [KEY] Integer True

The unique Id of the activity.

LeadId Integer True True

The unique Id of the lead associated with the activity.

ActivityDate Datetime True True

The date and time the lead was added to the list. Can be used as a filter to specify the starting date and time to retrieve all activities on or after the specified date.

PrimaryAttribute String True True

The primary field Id

PrimaryAttributeValue String True

The primary field value.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
ListId Integer

A List Id used to retrieve actvities for all leads contained within the specified list.



CustomObjects

Create, update, delete, and query custom objects for a Marketo organization.

Table Specific Information
Each custom object contained within your Marketo organization will be returned as it's own table. Each table name will be prefixed with 'CustomObject_' followed by the name of your custom object.
Select

The Marketo REST API requires that a filter be specified to retrieve custom objects. The filter must contain at least one column that is the Key, a dedupeField, or a column that is searchable. Only the '=' operator is supported on these filter types. Other filters can be specified in addition to this but at least one of the previously mentioned filters must be specified. All filterable columns allow multiple values to be specified by using the IN operator or the OR logical operator.

Response time from the server can be improved by identifying only the rows and columns you want to retrieve.

SELECT Make, Model, Year, Color FROM CustomObject_MyCustomBikeObject WHERE VIN='12345'



Columns

Name Type ReadOnly Filterable Description
MarketoGUID [KEY] String True

The unique, Marketo-assigned identifier of the custom object.

CreatedAt Datetime False

The datetime the custom object was created.

UpdatedAt Datetime False

The datetime the custom object was updated.



Emails

Query Emails for a Marketo organization.

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator.

Retrieve a list of emails from the target instance, filterable by name.

SELECT * FROM Emails



SELECT * FROM Emails WHERE Name = 'CRUD Test'

Retrieve the email record for the given target Id.

SELECT * FROM Emails WHERE Id = 1192



Columns

Name Type ReadOnly Filterable Description
Id [KEY] Integer True True

The unique, Marketo-assigned identifier of the email.

Name String False True

The name of the email.

Description String False

The description of the email.

Subject String False

The email subject.

FromName String False

The from name.

FromEmail String False

The from email address.

ReplyEmail String False

The reply email address.

FolderId Integer False

The Id of the folder where the email is located

FolderType String False

The type of the folder where the email is located.

FolderName String False

The name folder where the email is located.

Operational Boolean False

Identifies whether the email is operational.

TextOnly Boolean False

Identifies whether the email is text only.

PublishToMSI Boolean False

Identifies whether the email is published.

WebView Boolean False

Identifies whether the email is web view.

Status String False

The status of the email.

Version Integer False

The version of the email.

AutoCopyToText Boolean False

Identifies whether the email is auto copied to text.

Template Integer False

The template associated with the email.

Workspace String False

The name of the workspace where the email is located.

CreatedAt Datetime True

The date and time the email was created.

UpdatedAt Datetime True

The date and time the email was last updated.

PreHeader String False

The preheader text for the email.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
EarliestUpdatedAt Datetime

Exclude emails prior to this date. Must be valid ISO-8601 string.

LatestUpdatedAt Datetime

Exclude emails after this date. Must be valid ISO-8601 string.



EmailTemplates

Query, update and delete EmailTemplates for a Marketo organization.

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator.

Retrieve a list of email templates from the target instance, filterable by name and status.

SELECT * FROM EmailTemplates



SELECT * FROM EmailTemplates WHERE Name = 'CRUD Test'

Retrieve the email record for the given target Id.

SELECT * FROM EmailTemplates WHERE Id = 1192


Columns

Name Type ReadOnly Filterable Description
Id [KEY] Integer True True

Id of the asset.

Name String False True

Name of the asset.

CreatedAt Datetime True

Datetime the asset was created.

Description String False

Description of the asset.

FolderId Integer True

The Id of the folder

FolderType String True

The Type of folder

The allowed values are Folder, Program.

FolderName String True

The Name of folder

Status String True True

Status filter for draft or approved versions

UpdatedAt Datetime True

Datetime the asset was most recently updated

Url String True

Url of the asset in the Marketo UI

Version Integer True

The Template version type

The allowed values are 1, 2.

Workspace String True

Name of the workspace

Content String True

HTML content for template. Multipart file.



Folders

Create, update, delete, and query Folders for a Marketo organization.

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator.

Retrieve all folders within two levels of the folder hierarchy.

SELECT * FROM Folders

Retrieve all folders under a specific root folder.

SELECT * FROM Folders WHERE RootFolderId=38 AND MaxDepth=5



Columns

Name Type ReadOnly Filterable Description
Id [KEY] Integer True True

The unique, Marketo-assigned identifier of the folder.

Name String False True

The name of the folder.

Description String False

The description of the folder.

Type String True

The type of the folder.

CreatedAt Datetime True

The date and time the folder was created.

UpdatedAt Datetime True

The date and time the folder was last updated.

ParentId Integer False

The Id of the parent folder.

ParentType String False

The type of the parent folder.

Path String True

The path of a folder shows its hierarchy in the folder tree, similar to a Unix-style path.

WorkSpace String True True

The name of the smart campaign workspace.

URL String True

The explicit URL of the asset in the designated instance.

IsSystem Boolean True

Whether or not the folder is a system folder.

IsArchive Boolean False

Whether or not the folder is archived.

AccessZoneId Integer True

The access zone id

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
RootFolderId Integer

The parent folder ID under which the query will be performed.

RootFolderType String

The parent folder type under which the query will be performed.

The allowed values are Folder, Program.

The default value is Folder.

MaxDepth Integer

Maximum folder depth to traverse.

The default value is 2.



Forms

Create, update, delete and query Forms for a Marketo organization.

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator.

Retrieve a list of accessible forms from the target instance.

SELECT * FROM Forms

Retrieve the form for the given Id.

SELECT * FROM Forms WHERE Id = '1214'



Columns

Name Type ReadOnly Filterable Description
Id [KEY] Integer True True

Id of the asset.

Name String False True

Name of the asset.

ButtonLabel String False

Label text of the button.

ButtonLocation Integer False

Location in pixels of the button relative to the left of the form.

CreatedAt Datetime True

Datetime the asset was created.

Description String False

Description of the asset.

FolderId Integer False True

Id of the folder.

FolderType String False True

Type of folder.

FontFamily String False

font-family property for the form.

FontSize String False

font-size property of the form.

KnownVisitorTemplate String False

Template of the known visitor behavior for the form.

KnownVisitorType String False

Type of the known visitor behavior for the form.

LabelPosition String False

Default positioning of labels.

Language String False

Language of the form.

Locale String False

Locale of the form.

ProgressiveProfiling Boolean False

Whether progressive profiling is enabled for the form.

Status String False True

Status filter for draft or approved versions.

The allowed values are approved, draft.

Theme String False

CSS theme for the form to use.

UpdatedAt Datetime True

Datetime the asset was most recently updated.

Url String False

Url of the asset in the Marketo UI.

WaitingLabel String False

Waiting text of the button.



LandingPages

Create, update, delete and query Landing Pages for a Marketo organization.

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator.

Retrieve a list of accessible landing pages from the target instance, filterable by Status and folder.

SELECT * FROM LandingPages



SELECT * FROM LandingPages WHERE Status = 'draft'



SELECT * FROM LandingPages WHERE FolderId = 1184 AND FolderType = 'Program'

Retrieve the landing page record for the given name or a target Id.

SELECT * FROM LandingPages WHERE Id = 1234



SELECT * FROM LandingPages WHERE Name = 'Agenda'



Columns

Name Type ReadOnly Filterable Description
Id [KEY] Integer True True

Id of the asset.

Name String False True

Name of the asset.

ComputedUrl String True

Computed Url of the asset.

CreatedAt Datetime True

Datetime the asset was created.

CustomHeadHTML String False

Any custom HTML to embed in the tag of the page.

Description String False

Description of the asset.

FacebookOgTags String False

Any OpenGraph meta tags to apply to the page.

FolderId Integer False True

Id of the folder.

FolderType String False True

Type of folder.

The allowed values are Folder, Program.

FolderName String False False

Name of folder.

FormPrefill Boolean False

Boolean to toggle whether forms embedded in the page will prefill. Default false.

The default value is false.

Keywords String False

Keywords

MobileEnabled Boolean False

Whether the page has mobile viewing enabled. Free-form pages only. Default false.

The default value is false.

Robots String False

Robots directives to apply to the pages meta tags

Status String True True

Status filter for draft or approved versions.

The allowed values are approved, draft.

Template Integer False

Id of the template used.

Title String False

Title element of the landing page.

UpdatedAt Datetime True

Datetime the asset was most recently updated.

URL String False

Url of the asset in the Marketo UI. You have to send the URL path of the page while creating or updating.

Workspace String False

Name of the workspace.



LandingPageTemplates

Create, update, delete and query LandingPageTemplates for a Marketo organization.

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator.

Retrieve a list of accessible landing page templates from the target instance, filterable by Name, Status and folder.

SELECT * FROM LandingPageTemplates



SELECT * FROM LandingPageTemplates WHERE Status='draft'



SELECT * FROM LandingPageTemplates WHERE FolderId=1184 AND FolderType='Program'

Retrieve the landing page template record for the given name or a target Id.

SELECT * FROM LandingPageTemplates WHERE Id=1234



SELECT * FROM LandingPageTemplates WHERE Name='Agenda'



Columns

Name Type ReadOnly Filterable Description
Id [KEY] Integer True True

Id of the asset.

Name String False True

Name of the asset.

CreatedAt Datetime True

Datetime the asset was created.

Description String False

Description of the asset.

EnableMunchkin Boolean False

Whether to enable munchkin on the derived pages. Defaults to true.

The default value is true.

FolderId Integer False True

Id of the folder.

FolderType String False True

Type of folder.

The allowed values are Folder, Program.

FolderName String False

Name of folder.

Status String True True

Status filter for draft or approved versions.

The allowed values are draft, approved.

TemplateType String False

Type of template to create 'guided' or 'freeForm'

The allowed values are guided, freeForm.

The default value is freeForm.

UpdatedAt Datetime True

Datetime the asset was most recently updated.

Url String True

Url of the asset in the Marketo UI.

Workspace String True

Name of the workspace.



Leads

Create, update, delete, and query Leads for a Marketo organization.

Table Specific Information
Select

All columns must be specified using the '=' operator. All filterable columns allow multiple values to be specified by using the IN operator or the OR logical operator.

Response time from the server can be improved by identifying only the rows and columns you want to retrieve.

SELECT Id, FirstName, LastName FROM Leads WHERE Id IN (1, 2, 5, 10)

If a filter is not specified, the Activities_NewLead table will be queried to retrieve a list of Lead Ids. Once the Lead Ids have been compiled, the Leads table will be queried using the compiled list of Lead Ids. The 'CreatedAt' column can be used as a filter to specify the created datetime range of Leads to retrieve. When the '>' or '>=' operator is specified, the datetime value will be submitted in the Activities_NewLead table request. Note that this requires additional API calls and will at least double the amount of API calls made as one Activities_NewLead request must be made for each Leads request made. The maximum batch size per request for the REST API is 300, so to get a rough estimate of the number of API calls required, the following formula can be used: (Total Number of Leads / 300) * 2

The 'UpdatedAt' column can also be used as a filter to specify the updated datetime range of Leads to retrieve. When specified, the Activities_LeadChanges table will be queried to retrieve a list of Lead Ids. Once the Lead Ids have been compiled, the Leads table will be queried using the compiled list of Lead Ids. When the '>' or '>=' operator is specified, the datetime value will be submitted in the Activities_LeadChanges table request. Note that this requires additional API calls and will at least double the amount of API calls made as one Activities_LeadChanges request must be made for each Leads request made. In most cases, the total API calls will more than double as individual values for a Lead are returned as a record). Thus to get a full list of Lead Ids, multiple Activities_LeadChanges requests may need to be made. The maximum batch size per request for the REST API is 300, so to get a minimum estimate of the number of API calls required, the following formula can be used: (Total Number of Leads / 300) * 2

Alternatively, the SOAP API can be used to to retrieve a list of Lead Ids by setting "UseSOAPForLeadIds=True" in the 'Other' property. When specified the SOAP API will be used (provided the SOAP connection details are specified) to compile a list of Lead Ids which will then be used as a filter for the REST API. Note that the SOAP API is significantly slower than the REST API, although this hybrid approach is faster than using just the SOAP API by itself. The maximum batch size per request for the SOAP API is 1000, so to get a minimum estimate of the number of API calls required, the following formula can be used: (Total Number of Leads / 1000) + (Total Number of Leads / 300)

To bypass utilizing multiple API calls and for the best performance, create a static list of Leads within Marketo and then specify the ListId to retrieve them.


GetDeleted

GetDeleted is used to get deleted leads from Marketo. To get deleted leads, you need to specify the UpdatedAt filter. If not specified, it will fetch data for last 14 days.

GetDeleted FROM Leads
Columns

Name Type ReadOnly Filterable Description
Id [KEY] Integer True True

The unique, Marketo-assigned identifier of the account.

Email String False True

The lead's email address.

Salutation String False

The lead's salutation.

FirstName String False

The lead's first name.

MiddleName String False

The lead's middle name.

LastName String False

The lead's last name.

DateOfBirth Date False

The lead's date of birth.

Title String False

The lead's job title.

Address String False

The lead's street address.

City String False

The lead's city.

State String False

The lead's state.

PostalCode String False

The lead's ZIP/postal code.

Country String False

The lead's country.

Website String False

The lead's website.

Phone String False

The lead's phone number.

MobilePhone String False

The lead's mobile phone number.

Fax String False

The lead's fax number.

Company String False

The name of the lead's company.

MainPhone String False

The phone number of the lead's company.

SICCode String False

The SIC (Standard Industrial Classification) code of the lead's company.

Site String False

The site of the lead's company.

BillingStreet String False

The billing street address of the lead's company.

BillingCity String False

The billing city of the lead's company.

BillingState String False

The billing state of the lead's company.

BillingPostalCode String False

The billing ZIP/postal code of the lead's company.

BillingCountry String False

The billing country of the lead's company.

NumberOfEmployees Integer False

The number of employees at the lead's company.

Industry String False

The industry of the lead's company.

Department String False

The lead's deparment.

AnnualRevenue Double False

The annual revenue generated at the lead's company.

AnonymousIP String False

The IP address of the lead if it is anonymous.

Unsubscribed Boolean False

Determines whether the lead is unsubscribed.

UnsubscribedReason String False

The reason why the lead has unsubscribed.

EmailInvalid Boolean False

Identifies whether the lead's email address is invalid.

EmailInvalidCause String False

The reason why the lead's email address is invalid.

DoNotCall Boolean False

Identifies whether the lead is on the 'Do Not Call' list.

DoNotCallReason String False

The reason why the lead is on the 'Do Not Call' list.

PersonType String False

The type of person the current record is, such as a contact.

IsAnonymous Boolean True

Identifies whether the lead is anonymous or not.

IsLead Boolean False

Identifies whether the person is a lead or not.

LeadRole String False

The lead's role.

LeadSource String False

The lead's source.

LeadStatus String False

The lead's current status.

LeadScore Integer False

The lead's score.

Rating String False

The lead's rating.

Urgency Double True

The lead's urgency.

Priority Integer True

The lead's priority.

RelativeScore Integer True

The lead's relative score.

OriginalSourceType String True

The original source type where the lead originated from.

OriginalSourceInfo String True

Information about the original source of the lead.

RegistrationSourceType String False

The original source type where the lead originated from.

RegistrationSourceInfo String False

Information about the original source of the lead.

CreatedAt Datetime True True

The date the lead was created.

UpdatedAt Datetime True True

The date the lead was last updated.

Cookies String False True

The cookies associated with the lead.

AcquisitionProgramId String False

The Id of the program in which the lead was acquired.

Gender String False

The lead's social gender.

TotalReferredVisits Integer True

The lead's total social referred visits.

TotalReferredEnrollments Integer True

The lead's total social referred enrollments.

LastReferredEnrollment Datetime False

The lead's last social referred enrollment.

LastReferredVisit Datetime False

The lead's last social referred visit.

SyndicationId String False

The lead's social syndication Id.

FacebookDisplayName String False

The lead's Facebook display name.

FacebookId String False True

The lead's Facebook Id.

FacebookPhotoURL String False

The lead's Facebook photo URL.

FacebookProfileURL String False

The lead's Facebook profile URL.

FacebookReach Integer False

The lead's Facebook reach.

FacebookReferredEnrollments Integer False

The lead's Facebook referred enrollments.

FacebookReferredVisits Integer False

The lead's Facebook referred visits.

LinkedInDisplayName String False True

The lead's LinkedIn display name.

LinkedInId String False

The lead's LinkedIn Id.

LinkedInPhotoURL String False

The lead's LinkedIn photo URL.

LinkedInProfileURL String False

The lead's LinkedIn profile URL.

LinkedInReach Integer False

The lead's LinkedIn reach.

LinkedInReferredEnrollments Integer False

The lead's LinkedIn referred enrollments.

LinkedInReferredVisits Integer False

The lead's LinkedIn referred visits.

TwitterDisplayName String False

The lead's Twitter display name.

TwitterId String False

The lead's Twitter Id.

TwitterPhotoURL String False

The lead's Twitter photo URL.

TwitterProfileURL String False

The lead's Twitter profile URL.

TwitterReach Integer False

The lead's Twitter reach.

TwitterReferredEnrollments Integer False

The lead's Twitter referred enrollments.

TwitterReferredVisits Integer False

The lead's Twitter referred visits.

ListId Integer True True

A List Id used to retrieve all leads contained within the specified list. This is a filter only field made available to enhance filtering capabilities.

ProgramId Integer True True

A Program Id used to retrieve all leads associated with the specified program. This is a filter only field made available to enhance filtering capabilities.

LookupField String True True

Used to specify the field used to find duplicate leads. Only used when performing an INSERT or UPDATE. Available values are: id (default), cookie, email, twitterId, facebookId, linkedInId, sfdcAccountId, sfdcContactId, sfdcLeadId, sfdcLeadOwnerId, and custom fields. This is a filter only field made available to enhance filtering capabilities.



ListStaticMemberShip

Create, delete and query query static list members for a Marketo organization.

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator.

Retrieve a list of Static MemberShip from the target instance, filterable by Id and ListId.

SELECT * FROM ListStaticMemberShip WHERE ListId = 1014



SELECT * FROM ListStaticMemberShip WHERE ListId = 1014 AND id = 1016


Columns

Name Type ReadOnly Filterable Description
Id [KEY] Integer True True

Id of static MemberShip.

FirstName String True

FirtName of the member

LastName String True

LastName of the member

Email String True

Email

CreatedAt Datetime True

The date and time the membership was created.

UpdatedAt Datetime True

The date and time the membership was last updated.

ListId Integer True True

ListId.



NamedAccounts

Query Named Accounts for a Marketo organization.

Table Specific Information
Select

A filter must be specified when retrieving named accounts. Valid filters are any searchable columns which include MarketoGUID, Name, Industry, State, City, etc.

SELECT * FROM NamedAccounts WHERE Name='MyAccount'



Columns

Name Type ReadOnly Filterable Description
MarketoGUID [KEY] String True True

The unique, Marketo-assigned identifier of the named account.

Name String False True

The name of the account.

AccountOwnerId Integer False True

The owner id of the account.

AnnualRevenue Double False True

The annual revenue for the account.

City String False True

The city for the account.

Country String False True

The country for the account.

DomainName String False True

The name of the domain for the account.

Industry String False True

The industry for the account.

LogoURL String False True

The URL to the logo for the account.

MembershipCount Integer True True

The number of members for the account.

NumberOfEmployees Integer False True

The number of employees for the account.

OpptyAmount Double True True

The total amount of opportunities for the account.

OpptyCount Integer True True

The total number of opportunities for the account.

SICCode String False True

The SIC Code for the account.

State String False True

The state for the account.

CreatedAt Datetime True

The date and time the named account was created.

UpdatedAt Datetime True

The date and time the named account was last updated.



Opportunities

Query Opportunities for a Marketo organization.

Table Specific Information

Note: This table is only available for Marketo subscriptions which do not have a native CRM sync enabled. If sync is enabled, an error will be returned when attempting to query the table stating that the API is disabled.

Select

A filter must be specified when retrieving opportunities. Valid filters are any searchable columns which include MarketoGUID, ExternalOpportunityId, ExternalCompanyId, or ExternalSalesPersonId.

SELECT * FROM Opportunities WHERE ExternalOpportunityId='CDATA1'



Columns

Name Type ReadOnly Filterable Description
MarketoGUID [KEY] String True True

The unique, Marketo-assigned identifier of the opportunity.

ExternalOpportunityId String False True

The external Id of the opportunity.

Amount Double False

The amount of the opportunity.

CloseDate Datetime False

The date and time the opportunity was closed.

Description String False

The description of the opportunity.

ExpectedRevenue Double False

The expected revenue of the opportunity.

ExternalCompanyId String False True

The external company Id of the opportunity.

ExternalCreatedDate Datetime False

The external date and time the opportunity was created.

ExternalSalesPersonId String False True

The external sales person Id of the opportunity.

Fiscal String False

The fiscal of the opportunity.

FiscalQuarter String False

The fiscal quarter of the opportunity.

FiscalYear String False

The fiscal year of the opportunity.

ForecastCategoryName String False

The forecast category name of the opportunity.

IsClosed Boolean False

Specifies whether the opportunity is closed.

IsWon Boolean False

Specifies whether the opportunity was won.

LastActivityDate Datetime False

The date and time the last activity occurred on the opportunity.

LeadSource String False

The lead source of the opportunity.

Name String False

The name of the opportunity.

NextStep String False

The next step of the opportunity.

Probability Integer False

The probability of the opportunity.

Quantity Double False

The quantity of the opportunity.

Stage Double False

The stage of the opportunity.

Type Double False

The type of the opportunity.

CreatedAt Datetime True

The date and time the opportunity was created.

UpdatedAt Datetime True

The date and time the opportunity was last updated.



OpportunityRoles

Query Opportunity Roles for a Marketo organization.

Table Specific Information

Note: This table is only available for Marketo subscriptions which do not have a native CRM sync enabled. If sync is enabled, an error will be returned when attempting to query the table stating that the API is disabled.

Select

A filter must be specified when retrieving opportunities. Valid filters are any searchable columns which include MarketoGUID and a combination of ExternalOpportunityId and LeadId.

SELECT * FROM OpportunityRoles WHERE ExternalOpportunityId='Opportunity1' AND LeadId='1'



Columns

Name Type ReadOnly Filterable Description
MarketoGUID [KEY] String True True

The unique, Marketo-assigned identifier of the opportunity role.

ExternalOpportunityId String False True

The external Id of the opportunity.

ExternalCreatedDate Datetime False

The external date and time the opportunity role was created.

IsPrimary Boolean False

Specifies whether the opportunity role is the primary role on the opportunity.

LeadId Integer False True

The lead Id associated with the opportunity role.

Role String False

The role associated with the opportunity.

CreatedAt Datetime True

The date and time the opportunity role was created.

UpdatedAt Datetime True

The date and time the opportunity role was last updated.



ProgramMembers

Query Program members for a program.

Table Specific Information
Select

Retrieve all Program Members for the specific ProgramId.

Note:


SELECT * FROM ProgramMembers WHERE ProgramId = 1102

SELECT * FROM ProgramMembers WHERE ProgramId = '1044' AND LeadId IN ('1789','1789','1790','1791','1792')

SELECT * FROM ProgramMembers WHERE ProgramId = '1001' AND LeadId = '4'

SELECT * FROM ProgramMembers WHERE ProgramId IN (1102, 1103, 1104)

SELECT * FROM ProgramMembers WHERE LeadId IN ('1789','1790','1791','1792') AND reachedSuccess IN (false,true)

SELECT * FROM ProgramMembers WHERE reachedSuccess IN (false,true) AND LeadId = '1789'



Columns

Name Type ReadOnly Filterable Description
Id Integer True

The Id of the Program Member

AcquiredBy Boolean False

Indicates this program was responsible for creating the lead record

AttendanceLikelihood Integer False

The likelihood of the attendance at the individual level

LeadId [KEY] Integer False True

The Id of the Lead

MemberDate Datetime False

The date of the membership

NurtureProgramId String True

The Id of the Nurture Program

Program String False

The Program with which the member is associated

ProgramId [KEY] Integer False True

The Id of the Program

ProgramTypeId String True

The Id of the Program Type

RegistrationCode String False

The registration code

RegistrationLikelihood String False

The registration likelihood

Status String False

The Status of the Program Member

StatusId String True

The Id of the Status of the Program Member

StatusReason String False

The Reason of the Status of the Program Member

StatusName String False True

The name of the Status of the Program Member

ReachedSuccess Boolean False True

Indicates when a person reaches the status that achieves that goal

CreatedAt Datetime False

The created date of the membership

IsExhausted Boolean False

Indicates whether the membership is exhausted or not

MemberShipDate Datetime False

The date of the membership

NurtureCadence String False

The Nurture Program

ReachedSuccessDate Datetime False

The date when a person reaches the status that achieves that goal

UpdatedAt Datetime False

The updated date of the membership

Success Boolean False

Indicates when a person reaches the status that achieves that goal

Track String False

The track of the Program Member Activity

TrackName String False

The name of the track

WaitlistPriority Integer False

Indicates the program member waitlist priority

WebinarURL String False

The Webinar URL



Programs

Query Programs for a Marketo organization.

Table Specific Information
Select

Note: Tag and Cost columns are not returned when browsing all Programs (such as performing a SELECT * query). These columns are only returned when filtering by a specific Program Id or Name.

Tag and Cost Columns are not returned in this case.

SELECT * FROM Programs

Tag and Cost Columns are returned in this case.

SELECT * FROM Programs WHERE Id='1001'



Columns

Name Type ReadOnly Filterable Description
Id [KEY] Integer True True

The unique, Marketo-assigned identifier of the program.

Name String False True

The name of the program.

Description String False

The description of the program.

Type String False

The program type.

Channel String False

The channel the program is associated with.

Workspace String False

The name of the workspace where the program is located.

Url String True

The URL reference to the program.

Status String False

The status of the program.

FolderType String False

The folder type that the program is contained in.

FolderId Integer False

The folder id that the program is contained in.

FolderName String False

The name of the folder the program is contained in.

TagTypes# String False True

A comma-separated list of tag types associated with the program. Each TagType has a value associated with it which is returned via the TagValue column.

TagValues# String False True

A comma-separated list of tag values. Each value corresponds to the type listed within the TagTypes column.

CostStartDates# String False

A comma-separated list of cost start dates. Each value corresponds to the costs and notes listed within the Costs and CostNotes columns.

Costs# String False

A comma-separated list of costs (integer values). Each value corresponds to the start dates and notes listed within the CostStartDates and CostNotes columns.

CostNotes# String False

A comma-separated list of cost notes. Each value corresponds to the costs and start dates listed within the Costs and CostStartDates columns.

CreatedAt Datetime True

The date and time the program was created.

UpdatedAt Datetime True

The date and time the program was last updated.



SalesPersons

Query Sales Persons for a Marketo organization.

Table Specific Information

Note: This table is only available for Marketo subscriptions which do not have a native CRM sync enabled. If sync is enabled, an error will be returned when attempting to query the table stating that the API is disabled.

Select

A filter must be specified when retrieving companies. Valid filters are any searchable columns which include Id, ExternalSalesPersonId, or Email.

SELECT * FROM SalesPersons WHERE ExternalSalesPersonId='sales@cdata.com'



Columns

Name Type ReadOnly Filterable Description
Id [KEY] Integer True True

The unique, Marketo-assigned identifier of the sales person.

ExternalSalesPersonId String False True

The external Id of the sales person.

Email String False True

The email address of the sales person.

Fax String False

The fax number of the sales person.

FirstName String False

The first name of the sales person.

LastName String False

The last name of the sales person.

MobilePhone String False

The mobile phone number of the sales person.

Phone String False

The phone number of the sales person.

Title String False

The sales person's title.

CreatedAt Datetime True

The date and time the sales person was created.

UpdatedAt Datetime True

The date and time the sales person was last updated.



SmartCampaigns

Create, update, delete, and query SmartCampaigns for a Marketo organization.

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator.

Retrieve all smart campaigns

SELECT * FROM SmartCampaigns

Retrieve a specific smart campaign

SELECT * FROM SmartCampaigns WHERE Id=2046



Columns

Name Type ReadOnly Filterable Description
Id [KEY] Integer True True

The Id of the smart campaign.

Name String False

The name of the smart campaign.

ComputedUrl String False

The Computed Url of the Smart Campaign

Description String False

The description of the smart campaign.

Type String True

The type of the the smart campaign. Batch: has at least one filter and no triggers. Trigger: has at least one trigger. Default: has no smart list rules.

SmartListId Integer True

The Id of the smart campaign's child smart list.

FlowId Integer True

The Id of the smart campaign's child flow.

CreatedAt Datetime True

The date and time the smart campaign was created.

UpdatedAt Datetime True

The date and time the smart campaign was last updated.

WorkSpace String True

The name of the workspace where the folder is located.

Status String True

The status of the smart campaign.

The allowed values are Inactive, Single Run, Invalid, Recurring Run, Active, Requested, Never Run.

IsSystem Boolean True

Whether smart campaign is system managed.

IsActive Boolean True

Whether smart campaign is active.

IsRequestable Boolean True

Whether smart campaign is requestable (is active and contains 'Campaign is Requested' trigger with Source of 'Web Service API').

IsCommunicationLimitEnabled Boolean True

Whether smart campaign communication limit is enabled (i.e. block non-operational emails).

MaxMembers Integer True

The smart campaign membership limit.

QualificationRuleType String True

The type of qualification rule.

The allowed values are once, any, interval.

QualificationRuleInterval Integer True

The interval of qualification rule. Only set when qualificationRuleType is 'interval'

QualificationRuleUnit String True

The unit of measure of qualification rule. Only set when qualificationRuleType is 'interval' = ['hour', 'day', 'week', 'month']

RecurrenceStartAt Datetime True

The datetime of the first scheduled campaign to run. Required if setting recurrence. Not required to create a smart campaign that has no recurrence.

RecurrenceEndAt Datetime True

The datetime after which no further runs will be automatically scheduled.

RecurrenceIntervalType String True

The recurrence interval. Not required to create a smart campaign that has no recurrence = ['Daily', 'Weekly', 'Monthly'].

RecurrenceInterval Integer True

The number of interval units between recurrences.

RecurrenceWeekDayOnly Boolean True

Only run smart campaign on weekdays. May only be set if intervalType is 'Daily'.

RecurrenceWeekDayMask String True

String array of empty or one or more of 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'. May only be set if intervalType is 'Weekly'.

RecurrenceDayOfMonth Integer True

The day of the month to recur. Permissible range 1-31. May only be set if intervalType is 'Monthly' and dayOfWeek and weekOfMonth are unset.

RecurrenceDayOfWeek String True

The day of the week to recur. May only be set if dayOfMonth is not set, and weekOfMonth is set = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'].

RecurrenceWeekOfMonth Integer True

The week of the month to recur. Permissible range 1-4. May only be set if dayOfMonth is not set, and dayOfWeek is set.

FolderId Integer False

The Id of the folder.

FolderType String False

The type of folder.

The allowed values are Folder, Program.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
EarliestUpdatedAt Datetime

Exclude smart campaigns prior to this date.

LatestUpdatedAt Datetime

Exclude smart campaigns after this date.

Folder String

JSON representation of parent folder, with members 'id', and 'type' which may be 'Folder' or 'Program'.



SmartLists

Query and delete SmartLists for a Marketo organization.

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator.

Retrieve all smart lists

SELECT * FROM SmartLists

Retrieve a specific smart list

SELECT * FROM SmartLists WHERE Id=1142

Columns

Name Type ReadOnly Filterable Description
Id [KEY] Integer True True

The Id of the smart list.

Name String True True

The name of the smart list.

CreatedAt Datetime True

The date and time the smart list was created.

Description String True

The description of the Smart list

UpdatedAt Datetime True

The date and time the smart list was last updated.

WorkSpace String True

The name of the workspace where the smart list is located.

Url String True

The url of the smart list.

FolderId Integer False

The Id of the folder.

FolderType String False

The type of folder.

The allowed values are Folder, Program.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
EarliestUpdatedAt Datetime

Exclude smart list prior to this date.

LatestUpdatedAt Datetime

Exclude smart list after this date.

Folder String

JSON representation of parent folder, with members 'id', and 'type' which may be 'Folder' or 'Program'.

SmartCampaignId Integer

The Id of the smart campaign

ProgramId Integer

The Id of the Program



Snippets

Create, update, delete and query Snippets for a Marketo organization.

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator.

Retrieve a list of accessible snippets from the target instance, filterable by Status.

SELECT * FROM Snippets



SELECT * FROM Snippets WHERE Status='draft'

Retrieve the snippet record for the given target Id.

SELECT * FROM Snippets WHERE Id=1234



Columns

Name Type ReadOnly Filterable Description
Id [KEY] Integer True True

Id of the asset.

Name String False

Name of the asset.

CreatedAt Datetime True

Datetime the asset was created.

Description String False

Description of the asset.

FolderId Integer False

Id of the folder.

FolderType String False

Type of folder.

The allowed values are Folder, Program.

FolderName String False

Name of folder.

Status String True True

Status filter for draft or approved versions.

UpdatedAt Datetime True

Datetime the asset was most recently updated.

Url String True

Url of the asset in the Marketo UI.

Workspace String True

Name of the workspace.

IsArchive String False

Archival status of the snippet



StaticLists

Create, update, delete and query Static Lists for a Marketo organization.

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator.

Retrieve a list of Static List from the target instance, filterable by name.

SELECT * FROM StaticLists



SELECT * FROM StaticLists WHERE Name = 'test0319'

Retrieve the Static List record for the given target Id.

SELECT * FROM StaticLists WHERE Id = 1192

Retrieve the Static List record for the given folder.

SELECT * FROM StaticLists WHERE Folder = '{id:12,type:Folder}'



Columns

Name Type ReadOnly Filterable Description
Id [KEY] Integer True True

Id of the static list.

Name String False True

Name of the static list.

CreatedAt Datetime True

Datetime the static list was created.

UpdatedAt Datetime True

Datetime the static list was most recently updated.

FolderId Integer False

Id of the folder.

FolderType String False

Type of folder.

FolderName String False

Type of folder.

ComputedUrl String False

Computed urls of static list.

Workspace String False

Workspace of static list.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
Folder String

The folder parameter can be used to specify the parent folder under which the query will be performed



Tokens

Create, update, delete, and query Tokens for a Marketo organization.

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator.

Retrieve Tokens under a specific ParentResourceType.

SELECT * FROM Tokens WHERE ParentResourceId = 1121 AND ParentResourceType = 'program'



Columns

Name Type ReadOnly Filterable Description
ParentResourceId Integer True True

The Id of the Folder or Program.

ParentResourceType String True True

The type of the token. It could be either Folder or Program.

The allowed values are folder, program.

The default value is folder.

Name String False

The name of the Token.

Type String False

The data type of the Token. The supported values are date, number, rich text, score, sfdc campaign and text

The allowed values are date, number, rich text, score, sfdc campaign, text.

Value String False

The value of the Token.

ComputedURL String False

The Computed URL of the Token.





ViewsBack To Top

  1. Activities
  2. ActivityBulkExports
  3. ActivityTypes
  4. ActivityTypesAttributes
  5. Campaigns
  6. ChannelProgressionStatuses
  7. Channels
  8. DailyErrorStatistics
  9. DailyUsageStatistics
  10. EmailCCFields
  11. Files
  12. LandingPageContentSection
  13. LandingPageTemplateContent
  14. LeadBulkExports
  15. LeadChanges
  16. LeadChangesAttributes
  17. LeadChangesFields
  18. LeadLists
  19. LeadPartitions
  20. LeadPrograms
  21. Lists
  22. PreviewEmail
  23. ProgramMembersBulkExports
  24. Segmentations
  25. Segments
  26. SmartListRuleFilters
  27. SnippetContent
  28. Tags
  29. ThankYouList
  30. WeeklyErrorStatistics
  31. WeeklyUsageStatistics

Activities

Returns a list of activities from after a datetime given by the nextPageToken parameter.

Table Specific Information
SELECT

The driver uses the Marketo API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the driver.

For example, the following query is processed server-side:
Select * from Activities where activitydate > '2022-09-3' and activitydate < '2022-09-5'



Select * from Activities where activitytypeid = 11



Select * from Activities where activitytypeid IN (11,12) and leadid IN (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)



Select * from Activities where ActivityTypeId='1' and  LeadId='123'
Columns

Name Type Filterable Description
Id [KEY] String True Unique id of the activity.
ActivityDate Datetime True Datetime of the activity.
ActivityTypeId Integer True Id of the activity type.
LeadId Integer True Id of the lead associated to the activity.
MarketoGUID String Unique id of the activity (128 character string).
PrimaryAttributeValue String Value of the primary attribute.
PrimaryAttributeValueId Integer Id of the primary attribute field.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
ListId String Id of a static list. If set, will only return activities of members of this static list.



ActivityBulkExports

Returns a list of activity export jobs that were created in the past 7 days.

Columns

Name Type Filterable Description
ExportId [KEY] String Unique id of the export job.
ErrorMessage String The error message in case of failed status.
CreatedAt Datetime The date when the export request was created.
FileSize Long The size of file in bytes. This column will have a value only when status is 'Completed'.
FinishedAt Datetime The finish time of export job. This column will have a value only when status is 'Completed' or 'Failed'.
Format String The format of the file.
NumberOfRecords Integer The number of records in the export file. This column will have a value only when the status is 'Completed'.
QueuedAt String The queue time of the export job. This column will have a value only when 'Queued' status is reached.
StartedAt String The start time of the export job. This column will have a value only when 'Processing' status is reached.
Status String The status of the export.



ActivityTypes

Get activity types for a Marketo Organization

Table Specific Information
Select

Note: To specify all filterable columns, you must use the '=' operator.

To retrieve a list of activity types for the target instance:

SELECT * FROM ActivityTypes
Columns

Name Type Filterable Description
Id [KEY] Integer The unique, Marketo-assigned identifier of the Activity Types
Name String The name of the Activity Types
Description String The description of the Activity Types
PrimaryAttributeName String The name of the primary attribute
PrimaryAttributeDatatype String The data type of the primary attribute



ActivityTypesAttributes

Get activity types attributes for a Marketo Organization

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator.

Retrieves a list of activity types attributes for the target instance

SELECT * FROM ActivityTypesAttributes
Columns

Name Type Filterable Description
ActivityTypeId Integer The unique, Marketo-assigned identifier of the Activity Types.
ActivityTypeName String The name of the Activity Types.
AttributeName String The name of the primary attribute
AttributeDataType String The description of the Activity Types.



Campaigns

Query Campaigns for a Marketo organization.

Columns

Name Type Filterable Description
Id [KEY] Integer True The unique, Marketo-assigned identifier of the campaign.
Name String True The name of the campaign.
Description String The description of the campaign.
Type String The campaign type.
ProgramId Integer The Id of the program associated with the campaign.
ProgramName String The name of the program associated with the campaign.
WorkspaceName String The name of the workspace associated with the campaign.
CreatedAt Datetime The date and time the campaign was created.
UpdatedAt Datetime The date and time the campaign was last updated.
Active Boolean Identifies whether the campaign is active.



ChannelProgressionStatuses

Query ProgressionStatuses of Channels for a Marketo organization.

Columns

Name Type Filterable Description
ChannelName String True The name of the channel.
Name String Name of the status.
Description String Description of the program status.
Hidden Boolean Whether the status has been hidden.
Step Integer Step number of the status.
Success Boolean Whether this status is a success step for program members.



Channels

Query Channels for a Marketo organization.

Columns

Name Type Filterable Description
Id [KEY] Integer The unique, Marketo-assigned identifier of the channel.
Name String True The name of the channel.
Description String The description of the channel.
ApplicableProgramType String The type of program that the channel is used for.
CreatedAt Datetime The date and time the channel was created.
UpdatedAt Datetime The date and time the channel was last updated.



DailyErrorStatistics

Gets a list of users and the count of each error type they have encountered in the current day

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator.

Retrieves a list of users and the count of each error type they have encountered in the current day

SELECT * FROM DailyErrorStatistics
Columns

Name Type Filterable Description
Date Date The date when the user encountered error
Total Integer The total count of the errors
ErrorCode String The error code
ErrorCount Integer The error count for the particular error code



DailyUsageStatistics

Gets a list of users and the number of calls they have consumed in the current day

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator.

Retrieves a list of users and the number of calls they have consumed in the current day

SELECT * FROM DailyUsageStatistics
Columns

Name Type Filterable Description
Date Date The date when the API Calls made
Total Integer The total count of the API Calls
UserId String The ID of the user
APICount Integer The individual count for the user



EmailCCFields

Query Emails CC Fields for a Marketo organization.

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator.

Retrieve a list of email cc fields.

SELECT * FROM EmailsCFields
Columns

Name Type Filterable Description
AttributeId String The attribute identifier
ObjectName String Object Name; Lead or Company
DisplayName String The display name
ApiName String The API name



Files

Query Files for a Marketo organization.

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator.

Retrieves a list of Files for the target instance

SELECT * FROM Files

Retrieve the File for the given Id.

SELECT * FROM Files WHERE Id = '2012'
Columns

Name Type Filterable Description
Id [KEY] Integer True Id of the file.
Name String True Name of the file.
CreatedAt Datetime Datetime when the file was created
Description String Description of the file
FolderId Integer True Id of the folder
FolderName String The Name of the folder
FolderType String True The Type of folder

The allowed values are Folder, Program.

MimeType String MIME type of the file
Size Integer Size of the file in bytes
UpdatedAt Datetime Datetime when the file was most recently updated
Url String Publically accessible URL of the file
FileName String The filename for the file to insert.
File String Multipart file. Content of the file
InsertOnly Boolean Whether the calls hould fail if there is already an existing file with the same name



LandingPageContentSection

Get section of a landing page content for a Marketo organization.

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator.

Retrieve a list of landing page content section for a given landing Page Id.

SELECT * FROM LandingPageContentSection WHERE LandingPageId = 1193
Columns

Name Type Filterable Description
Id [KEY] String Id of the content section, may be a string or an int.
Content String Content of the section. Expected values vary based on type. Image: An image URL. RichText: HTML Content.
ContentType String Content of the section. Expected values vary based on type. Image: An image URL. RichText: HTML Content.
ContentUrl String Content of the section. Expected values vary based on type. Image: An image URL. RichText: HTML Content.
FollowupType String Follow-up behavior of a form. Only available for form-type content sections. Defaults to form defined behavior.

The allowed values are url, lp, formDefined.

FollowupValue String Where to follow-up on form submission. When followupType is lp, accepts the integer id of a landing page. For url, it accepts a url string.
FormattingOptionsZIndex Integer The zindex of the content
FormattingOptionsLeft String The left margin of the content
FormattingOptionsTop String The top margin of the content
Index Integer Index of the content section. Index orients the elements from lowest to highest.
Type String Type of content section.

The allowed values are Image, SocialButton, Form, DynamicContent, Rectangle, Snippet, RichText, HTML, Video, Poll, ReferralOffer, Sweepstakes.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
LandingPageId Integer Id of the LandingPage.
Status String Status filter for draft or approved versions.

The allowed values are draft, approved.



LandingPageTemplateContent

Query the LandingPageTemplateContent for a Marketo organization.

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator.

Retrieve a list of landing page template content for a given landing Page template Id.

SELECT * FROM LandingPageTemplateContent WHERE LandingPageTemplateId = 1
Columns

Name Type Filterable Description
Id Integer True Unique integer id of the template.
Content String HTML content of the landing page template.
EnableMunchkin Boolean Whether to enable munchkin on the derived pages. Defaults to true.
Status String True Status filter for draft or approved versions

The allowed values are approved, draft.

TemplateType String Type of template to create. Defaults to freeForm.

The allowed values are guided, freeForm.



LeadBulkExports

Returns a list of lead export jobs that were created in the past 7 days.

Columns

Name Type Filterable Description
ExportId [KEY] String Unique id of the export job.
ErrorMessage String The error message in case of failed status.
CreatedAt Datetime The date when the export request was created.
FileSize Integer The size of file in bytes. This column will have a value only when status is 'Completed'.
FinishedAt Datetime The finish time of export job. This column will have a value only when status is 'Completed' or 'Failed'.
Format String The format of the file.
NumberOfRecords Integer The number of records in the export file. This will have a value only when the status is 'Completed'.
QueuedAt String The queue time of the export job. This column will have a value only when 'Queued' status is reached.
StartedAt String The start time of the export job. This column will have a value only when 'Processing' status is reached.
Status String The status of the export.



LeadChanges

Returns a list of Data Value Changes and New Lead activities after a given datetime.

Columns

Name Type Filterable Description
Id Integer Integer id of the activity
LeadId Integer Id of the lead associated to the activity
ActivityDate Datetime Datetime of the activity.
ActivityTypeId Integer Id of the activity type.
CampaignId Integer Id of the Campaign.
MarketoGUID String Unique id of the activity (128 character string).



LeadChangesAttributes

Returns a list of Data Value Changes and New Lead activities after a given datetime.

Columns

Name Type Filterable Description
Id Integer Integer id of the activity
AttributeAPIName String API Name of the attribute
AttributeName String Name of the attribute
AttributeValue String Value of the attribute



LeadChangesFields

Returns a list of Data Value Changes and New Lead activities after a given datetime.

Columns

Name Type Filterable Description
Id Integer Integer id of the activity
LeadChangeFieldId Integer Unique integer id of the change record
LeadChangeFieldName String Name of the field which was changed
LeadChangeFieldNewValue String New value after the change
LeadChangeFieldOldValue String Old value before the change



LeadLists

Query static list membership for one lead.

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator.

Retrieves a list of lists for the specific lead id.

SELECT * FROM LeadLists WHERE LeadId = 1021579
Columns

Name Type Filterable Description
ListId Integer The Id of the Program Member
CreatedAt Datetime Indicates this program was responsible for creating the lead record
UpdatedAt Datetime The likelihood of the attendance at the individual level

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
LeadId Integer



LeadPartitions

Query Lead Partitions for a Marketo organization.

Columns

Name Type Filterable Description
Id [KEY] Integer The unique, Marketo-assigned identifier of the lead partition.
Name String True The name of the partition.
Description String The description of the partition.



LeadPrograms

Query program membership for one lead.

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator.

Retrieves a list of programs for the specific lead id.

SELECT * FROM LeadPrograms WHERE LeadId = 1021579
Columns

Name Type Filterable Description
Id Integer Unique integer id of a program record.
ProgressionStatus String Program status of the lead in the parent program.
ProgressionStatusType String Program status Type of the lead in the parent program.
IsExhausted Boolean Whether the lead is currently exhausted in the stream, if applicable.
AcquiredBy Boolean Whether the lead was acquired by the parent program.
ReachedSuccess Boolean Whether the lead is in a success-status in the parent program.
MembershipDate Datetime Date the lead first became a member of the program.
UpdatedAt Datetime Datetime when the program was most recently updated.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
LeadId Integer The Marketo lead id



Lists

Query Lists for a Marketo organization.

Columns

Name Type Filterable Description
Id [KEY] Integer True The unique, Marketo-assigned identifier of the list.
Name String True The name of the list.
Description String The description of the list.
ProgramName String The name of the program associated with the list.
WorkspaceName String The name of the workspace associated with the list.
CreatedAt Datetime The date and time the list was created.
UpdatedAt Datetime The date and time the list was last updated.



PreviewEmail

View a preview of an email.

Columns

Name Type Filterable Description
Id [KEY] Integer True The id of the email asset you wish to preview.
Status String True Accepts the values 'draft' or 'approved' which will default to the approved version, if approved, draft if unapproved.
Content String The content of the email.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
Type String Accepts 'Text' or 'HTML' and defaults to HTML.
LeadId Integer Accepts the integer id of a lead. When set, previews the email as though it were received by the designated lead



ProgramMembersBulkExports

Returns a list of program members export jobs that were created in the past 7 days.

Columns

Name Type Filterable Description
ExportId [KEY] String Unique id of the export job.
ErrorMessage String The error message in case of failed status.
CreatedAt Datetime The date when the export request was created.
FileSize Integer The size of file in bytes. Thiscolumn will have a value only when status is 'Completed'.
FinishedAt Datetime The finish time of export job. This column will have a value only when status is 'Completed' or 'Failed'.
Format String The format of the file.
NumberOfRecords Integer The number of records in the export file. This column will have a value only when the status is 'Completed'.
QueuedAt String The queue time of the export job. This column will have a value only when 'Queued' status is reached.
StartedAt String The start time of the export job. This column will have a value only when 'Processing' status is reached.
Status String The status of the export.



Segmentations

Query segmentations for a Marketo organization.

Columns

Name Type Filterable Description
Id Integer Id of the asset.
Name String Name of the asset.
CreatedAt Datetime Datetime the asset was created.
Description String Description of the asset.
FolderId Integer Id of the folder.
FolderType String Type of folder.

The allowed values are Folder, Program.

Status String True Status filter for draft or approved versions.

The allowed values are approved, draft.

UpdatedAt Datetime Datetime the asset was most recently updated.
Url String Url of the asset in the Marketo UI.
Workspace String Name of the workspace.



Segments

Query segments for a Marketo organization.

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator.

Retrieves a list segments for the given segmentation id.

SELECT * FROM Segments WHERE SegmentationId = 1012
Columns

Name Type Filterable Description
Id Integer Id of the asset.
Name String Name of the asset.
CreatedAt Datetime Datetime the asset was created.
Description String Description of the asset.
SegmentationId Integer True Id of the Segmentation.
Status String True Status filter for draft or approved versions.

The allowed values are approved, draft.

UpdatedAt Datetime Datetime the asset was most recently updated.
Url String Url of the asset in the Marketo UI.



SmartListRuleFilters

Query SmartLists rule filters

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator. Atleast one of SmartListId, SmartCampaignId or ProgramId is required to get the Rule Filters.

Retrieve rule filters for Smart Lists by SmartListId

SELECT * FROM SmartListRuleFilters WHERE SmartListId = 1143



SELECT * FROM SmartListRuleFilters WHERE SmartListId IN (SELECT Id FROM SmartLists)

Retrieve rule filters for Smart Lists by SmartCampaignId

SELECT * FROM SmartListRuleFilters WHERE SmartCampaignId = 1682



SELECT * FROM SmartListRuleFilters WHERE SmartCampaignId IN (SELECT Id FROM SmartCampaigns)

Retrieve rule filters for Smart Lists by ProgramId

SELECT * FROM SmartListRuleFilters WHERE ProgramId = 1089



SELECT * FROM SmartListRuleFilters WHERE ProgramId IN (SELECT Id FROM SmartCampaigns)
Columns

Name Type Filterable Description
Id [KEY] Integer The Id of the smart list rule filter.
Name String The name of the smart list rule filter.
Operator String The operator used in the filter.
RuleType String The type of the rule.
RuleTypeId Integer The Id of the rule type.
Conditions String The Rule filter conditions.
FilterMatchType String The rule filter match type
FilterCustomRuleLogic String The rule filter custom logic

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
SmartCampaignId Integer The Id of the smart campaign
ProgramId Integer The Id of the Program
SmartListId Integer The Smart List Id



SnippetContent

Query the content of the specific snippet for a Marketo Organization

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator.

Retrieve a list of snippetcontent for a given snippetId.

SELECT * FROM SnippetContent WHERE SnippetId = 3
Columns

Name Type Filterable Description
Type String Type of the content
Content String The content of the snippet

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
SnippetId Integer The Id of the Snippet



Tags

Query Tags for a Marketo organization.

Columns

Name Type Filterable Description
TagType [KEY] String True The name/type of the tag.
ApplicableProgramTypes String The types of program that the tag is used for.
Required Boolean The date and time the channel was created.
AllowableValues String The date and time the channel was last updated.



ThankYouList

Query Thank you list for the forms

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator.

Retrieves a list of Thank you pages for the forms.

SELECT * FROM ThankYouList
Columns

Name Type Filterable Description
FormId [KEY] Integer True Id of the asset.
FollowupType String True Name of the asset.
FollowupValue String Label text of the button.
Default Boolean Location in pixels of the button relative to the left of the form.



WeeklyErrorStatistics

Gets a list of users and the count of each error type they have encountered in the past 7 days

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator.

Retrieves a list of users and the count of each error type they have encountered in the past 7 days

SELECT * FROM WeeklyErrorStatistics
Columns

Name Type Filterable Description
Date Date The date when the user encountered error
Total Integer The total count of the errors
ErrorCode String The error code
ErrorCount Integer The error count for the particular error code



WeeklyUsageStatistics

Gets a list of users and the number of calls they have consumed in a week

Table Specific Information
Select

Note: All filterable columns must be specified using the '=' operator.

Retrieves a list of users and the number of calls they have consumed in the paast 7 days

SELECT * FROM WeeklyUsageStatistics
Columns

Name Type Filterable Description
Date Date The date when the API Calls made
Total Integer The total count of the API Calls
UserId String The ID of the user
APICount Integer The individual count for the user