Link Search Menu Expand Document

Dataplugins

Dataplugins simply define a source of data from a given repository. Matatika provides a number of pre-configured platform-wide dataplugins out-the-box, as well as the ability to create custom dataplugins through the API. From these, pipeline jobs can be run to inject data into a workspace.


Objects

Dataplugin

Path Type Format Description
id String Version 4 UUID The dataplugin ID
name String   The dataplugin name
description String   A description of the dataplugin
repositoryUrl String URL The dataplugin repository URL
settings Array of Setting   The dataplugin settings
{
  "id" : "e35a9cc1-ede3-4553-a6d1-d257c2b22657",
  "type" : "EXTRACTOR",
  "name" : "SIT-Generated Dataplugin [2021-07-20T11:19:01.723]",
  "label" : null,
  "description" : "A dataplugin created during an SIT run",
  "repositoryUrl" : "https://www.github.com/Matatika/example-repository",
  "settings" : [ {
    "name" : "email",
    "kind" : "EMAIL",
    "description" : "The email login credential.",
    "placeholder" : "[email protected]",
    "envAliases" : [ "SIT_DATASOURCE_EMAIL", "SIT_DATASOURCE_EMAIL_ADDRESS", "SIT_DATASOURCE_EMAILADDRESS" ],
    "protected" : false
  }, {
    "name" : "start_date",
    "kind" : "DATE_ISO8601",
    "description" : "The data to begin extracting data from, in ISO 8601 format.",
    "placeholder" : "2020-01-01T00:00:00Z",
    "envAliases" : [ "SIT_DATASOURCE_START_DATE", "SIT_DATASOURCE_STARTDATE" ],
    "protected" : false
  }, {
    "name" : "username",
    "kind" : "STRING",
    "description" : "The username login credential.",
    "placeholder" : "username",
    "envAliases" : [ "SIT_DATASOURCE_USER", "SIT_DATASOURCE_USER_NAME", "SIT_DATASOURCE_USERNAME" ],
    "protected" : false
  } ],
  "settingsGroupValidation" : [ ],
  "_links" : {
    "self" : {
      "href" : "https://catalog.matatika.com/api/dataplugins/e35a9cc1-ede3-4553-a6d1-d257c2b22657"
    },
    "update dataplugin" : {
      "href" : "https://catalog.matatika.com/api/dataplugins/e35a9cc1-ede3-4553-a6d1-d257c2b22657",
      "type" : "PUT"
    },
    "delete dataplugin" : {
      "href" : "https://catalog.matatika.com/api/dataplugins/e35a9cc1-ede3-4553-a6d1-d257c2b22657",
      "type" : "DELETE"
    }
  }
}

Setting

Path Type Format Description
name String   The setting name
value String   The setting default value
label String   The setting label
protected Boolean   The setting protection status
kind String Setting Kind The setting kind
description String   A description of the setting
placeholder String   The setting placeholder text
envAliases Array of String   Environment variable aliases for the setting
documentation String URL The setting documentation URL
oauth OAuth   The setting OAuth configuration
env String    

OAuth

Path Type Format Description
provider String   The OAuth provider

Formats

Setting Kind

String

Value Description
STRING String setting
INTEGER Integer setting
PASSWORD Password setting
HIDDEN Hidden setting
BOOLEAN Boolean setting
DATE_ISO8601 ISO 8601 date setting
EMAIL Email setting
OAUTH OAuth setting
FILE File setting
ARRAY Array setting

Requests


View all supported dataplugins

GET

/api/dataplugins

Returns all dataplugins supported by Matatika.

Request

Example Snippets

  • cURL
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://catalog.matatika.com/api/dataplugins' -i -X GET \
    -H 'Accept: application/json, application/javascript, text/javascript, text/json' \
    -H 'Content-Type: application/json'
  • Python (requests)
import requests

url = "https://catalog.matatika.com/api/dataplugins"

headers = {
  'Authorization': ACCESS_TOKEN
}

response = requests.request("GET", url, headers=headers)

print(response.text.encode('utf8'))

Response

200 OK

Dataplugin collection with HAL links.

{
  "_embedded" : {
    "dataplugins" : [ {
      "id" : "bdf19f6a-e898-49e6-bb59-8457b33907b1",
      "type" : "EXTRACTOR",
      "name" : "tap-googleads",
      "namespace" : "tap_googleads",
      "label" : "Google Ads",
      "description" : "App and website ads platform hosted by Google.\n\n## Prerequisites\n\n[Google Ads Prerequisites](https://www.matatika.com/docs/data-sources/tap-googleads/prerequisites)\n\n## Data source settings\n\n### Customer Id\n\nCustomer Id is the account id of your Google Ads account with the ads campaigns, and therefore data, that will get synced.\n\nYour Customer Id is usually in the format '111-111-1111' but to make requests to the api we have to remove the dashes.\n\n### Start Date\n\nProviding a start date allows you to set how much historical data you wish to import into you workspace. \n\nIf you do not provide a start date the tap will set a date of one year ago.\n\nThis date has to be in the ISO-8601 date format, see the example below.\n\nFormat: `YYYY-MM-DDTHH:MM:SSZ`\n\nExample: `2020-10-01T13:12:11Z`\n\n### End Date\n\nProviding a end date allows you to set how much historical data you wish to import into you workspace. \n\nIf you do not provide a end date the tap will sync all data up to the current date.\n\nThis date has to be in the ISO-8601 date format, see the example below.\n\nFormat: `YYYY-MM-DDTHH:MM:SSZ`\n\nExample: `2020-10-01T13:12:11Z`\n\n## Learn more\n\nLearn more about the Google Ads data source\n\n[Google Ads Extractor Documentation](https://github.com/Matatika/tap-googleads/blob/main/README.md)",
      "imageUrl" : "/assets/images/datasource/tap-googleads.svg",
      "hidden" : false,
      "documentationUrl" : "https://www.matatika.com/docs/data-sources/tap-googleads/",
      "pipUrl" : "git+https://github.com/Matatika/[email protected]",
      "repositoryUrl" : "https://github.com/Matatika/tap-googleads",
      "capabilities" : [ "DISCOVER", "CATALOG", "STATE" ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ {
        "name" : "oauth_credentials.access_token",
        "aliases" : [ ],
        "label" : "Access Token",
        "kind" : "HIDDEN",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "end_date",
        "aliases" : [ ],
        "label" : "End Date",
        "kind" : "DATE_ISO8601",
        "envAliases" : [ ],
        "required" : "false",
        "protected" : false
      }, {
        "name" : "developer_token",
        "aliases" : [ ],
        "label" : "Developer Token",
        "value" : "DYSuW0qdfU5-jti8Zdh1HQ",
        "kind" : "HIDDEN",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "oauth_credentials.refresh_proxy_url",
        "aliases" : [ ],
        "label" : "Will be called with 'oauth_credentials.refresh_token' to refresh the access token",
        "kind" : "HIDDEN",
        "envAliases" : [ "OAUTH_REFRESH_PROXY_URL" ],
        "required" : "false",
        "protected" : false
      }, {
        "name" : "oauth_credentials.refresh_token",
        "aliases" : [ ],
        "label" : "OAuth Refresh Token",
        "kind" : "HIDDEN",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "oauth_credentials.refresh_proxy_url_auth",
        "aliases" : [ ],
        "label" : "Sets Authorization header on 'oauth_credentials.refresh_url' request",
        "kind" : "HIDDEN",
        "envAliases" : [ "OAUTH_REFRESH_PROXY_URL_AUTH" ],
        "required" : "false",
        "protected" : false
      }, {
        "name" : "oauth_credentials.scope",
        "aliases" : [ ],
        "label" : "OAuth scopes we need to request access to",
        "value" : "https://www.googleapis.com/auth/adwords",
        "kind" : "HIDDEN",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "customer_id",
        "aliases" : [ ],
        "label" : "Customer Id",
        "kind" : "STRING",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "oauth_credentials.authorization_url",
        "aliases" : [ ],
        "label" : "OAuth identity provider authorization endpoint used create and refresh tokens",
        "value" : "https://oauth2.googleapis.com/token",
        "kind" : "HIDDEN",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "oauth_credentials.client_id",
        "aliases" : [ ],
        "label" : "OAuth Client ID",
        "kind" : "HIDDEN",
        "envAliases" : [ ],
        "required" : "false",
        "protected" : false
      }, {
        "name" : "oauth_credentials.client_secret",
        "aliases" : [ ],
        "label" : "OAuth Client Secret",
        "kind" : "HIDDEN",
        "envAliases" : [ ],
        "required" : "false",
        "protected" : false
      }, {
        "name" : "start_date",
        "aliases" : [ ],
        "label" : "Start Date",
        "kind" : "DATE_ISO8601",
        "envAliases" : [ ],
        "required" : "false",
        "protected" : false
      } ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/bdf19f6a-e898-49e6-bb59-8457b33907b1"
        }
      }
    }, {
      "id" : "724fdc95-6395-4068-b74b-e6716c297887",
      "type" : "TRANSFORM",
      "name" : "dbt-googleads",
      "namespace" : "tap_googleads",
      "variant" : "meltano",
      "label" : "Dbt Googleads",
      "hidden" : false,
      "pipUrl" : "https://github.com/Matatika/[email protected]",
      "repositoryUrl" : "https://github.com/Matatika/dbt-tap-googleads",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : { },
      "vars" : {
        "schema" : ""
      },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/724fdc95-6395-4068-b74b-e6716c297887"
        }
      }
    }, {
      "id" : "673509fd-7b5a-40d5-a63b-649e6bbd3c82",
      "type" : "FILE",
      "name" : "analyze-googleads",
      "namespace" : "tap_googleads",
      "label" : "Analyze Googleads",
      "hidden" : false,
      "pipUrl" : "git+https://github.com/Matatika/[email protected]",
      "repositoryUrl" : "https://github.com/Matatika/analyze-googleads",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : {
        "analyze/datasets/tap-googleads" : "true"
      },
      "vars" : { },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/673509fd-7b5a-40d5-a63b-649e6bbd3c82"
        }
      }
    }, {
      "id" : "931124c6-882f-4f0d-b0ca-6db09f1e1948",
      "type" : "EXTRACTOR",
      "name" : "tap-matatika-sit",
      "namespace" : "tap_matatika_sit",
      "label" : "Matatika SIT",
      "description" : "Test extractor based on tap-spreadsheets-anywhere used during Matatika SIT runs",
      "imageUrl" : "/assets/images/datasource/tap-matatika-sit.svg",
      "hidden" : false,
      "documentationUrl" : "https://meltano.com/plugins/extractors/spreadsheets-anywhere.html",
      "pipUrl" : "git+https://github.com/ets/tap-spreadsheets-anywhere.git",
      "repositoryUrl" : "https://github.com/ets/tap-spreadsheets-anywhere",
      "executable" : "tap-spreadsheets-anywhere",
      "capabilities" : [ "DISCOVER", "CATALOG", "STATE" ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ {
        "name" : "tables",
        "aliases" : [ ],
        "label" : "Tables",
        "value" : "[{\"path\":\"https://meltano.com/files\",\"name\":\"gitflixusers\",\"pattern\":\"GitFlixUsers.csv\",\"start_date\":\"2021-01-01T00:00:00Z\",\"key_properties\":[\"id\"],\"format\":\"csv\"}]",
        "kind" : "ARRAY",
        "description" : "An array holding json objects that each describe a set of targeted source files. See docs for details.",
        "envAliases" : [ ],
        "protected" : false
      } ],
      "matatikaHidden" : true,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/931124c6-882f-4f0d-b0ca-6db09f1e1948"
        }
      }
    }, {
      "id" : "1149bda6-c93f-4db6-a22c-f95afd60d575",
      "type" : "FILE",
      "name" : "analyze-sit",
      "namespace" : "tap_matatika_sit",
      "label" : "Analyze Sit",
      "hidden" : false,
      "pipUrl" : "git+https://github.com/Matatika/analyze-sit.git",
      "repositoryUrl" : "https://github.com/Matatika/analyze-sit",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : {
        "analyze/datasets/tap-matatika-sit/user-ages.yml" : "true",
        "analyze/datasets/tap-matatika-sit/user-genders.yml" : "true"
      },
      "vars" : { },
      "settings" : [ ],
      "matatikaHidden" : true,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/1149bda6-c93f-4db6-a22c-f95afd60d575"
        }
      }
    }, {
      "id" : "33444aa0-a5e9-4edb-927a-d0c15707baa0",
      "type" : "EXTRACTOR",
      "name" : "tap-solarvista",
      "namespace" : "tap_solarvista",
      "variant" : "matatika",
      "label" : "Solarvista Live",
      "description" : "Solarvista Live is a Field Service Management platform to manage, plan, and mobilise your engineers. \n\nThe Matatika Solarvista Live import will extract Solarvista data into your Matatika data store, giving you instant insights into revenue, projects, work items, and engineer performance.\n\n## Prerequisites\n\nBefore importing data from Solarvista Live you will need to have performed the initial setup in Solarvista.\n\n[Solarvista Live Prerequisites](https://www.matatika.com/docs/data-sources/tap-solarvista/prerequisites)\n\n\n## Data source settings\n\n### Account\n\nSolarvista API `account`\n\nTo get your `account` id you will need to follow the steps that are linked in our [Prerequisites](https://www.matatika.com/docs/data-sources/tap-solarvista/prerequisites) section.\n\n### ClientId\n\nSolarvista API `clientId`\n  \nTo get your `clientId` you will need to follow the steps that are linked in our [Prerequisites](https://www.matatika.com/docs/data-sources/tap-solarvista/prerequisites) section.\n  \n### Code\n  \nSolarvista API `code`\n  \nTo get your `code` you will need to follow the steps that are linked in our [Prerequisites](https://www.matatika.com/docs/data-sources/tap-solarvista/prerequisites) section.\n  \n### Datasources\n  \nLeave this field blank to accept the default Solarvista datasources or customise the type of data to sync, we support:\n- `customer`\n- `site`\n- `equipment`\n- `work-item`\n- `work-item-history`\n- `activity`\n- `users`\n- `territory`\n- `project`\n- `appointment`\n- `skill`\n  \n  \n### Start Date\n  \nProviding a start date allows you to set how much historical data you wish to import into your workspace. \n  \nThis date has to be in the ISO-8601 date format, see the example below.\n  \nFormat: `YYYY-MM-DDTHH:MM:SSZ`\nExample: `2020-10-01T13:12:11Z`\n\n\n## Learn more\n\nLearn more about the Solarvista Live data source\n\n[Solavista Live Extractor Documentation](https://www.matatika.com/docs/data-sources/tap-solarvista)",
      "imageUrl" : "/assets/images/datasource/tap-solarvista.png",
      "hidden" : false,
      "documentationUrl" : "https://www.matatika.com/docs/data-sources/tap-solarvista/",
      "pipUrl" : "git+https://github.com/Matatika/[email protected]",
      "repositoryUrl" : "https://github.com/Matatika/tap-solarvista",
      "capabilities" : [ "STATE" ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ {
        "name" : "clientId",
        "aliases" : [ ],
        "label" : "Client ID",
        "kind" : "STRING",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "code",
        "aliases" : [ ],
        "label" : "Code",
        "kind" : "PASSWORD",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "datasources",
        "aliases" : [ ],
        "label" : "Datasources",
        "kind" : "STRING",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "account",
        "aliases" : [ ],
        "label" : "Account",
        "kind" : "STRING",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "start_date",
        "aliases" : [ ],
        "label" : "Start Date",
        "kind" : "DATE_ISO8601",
        "envAliases" : [ ],
        "protected" : false
      } ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/33444aa0-a5e9-4edb-927a-d0c15707baa0"
        }
      }
    }, {
      "id" : "6452081f-0370-4396-8312-86fbcba1335e",
      "type" : "LOADER",
      "name" : "target-postgres",
      "namespace" : "postgres",
      "variant" : "meltano",
      "label" : "PostgreSQL",
      "description" : "PostgreSQL database loader",
      "hidden" : false,
      "documentationUrl" : "https://meltano.com/plugins/loaders/postgres.html",
      "pipUrl" : "git+https://github.com/meltano/target-postgres.git",
      "repositoryUrl" : "https://github.com/meltano/target-postgres",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ {
        "name" : "schema",
        "aliases" : [ ],
        "label" : "Schema",
        "value" : "$MELTANO_EXTRACT__LOAD_SCHEMA",
        "kind" : "STRING",
        "envAliases" : [ "PG_SCHEMA", "POSTGRES_SCHEMA" ],
        "protected" : false
      }, {
        "name" : "password",
        "aliases" : [ ],
        "label" : "Password",
        "value" : "warehouse",
        "kind" : "PASSWORD",
        "envAliases" : [ "PG_PASSWORD", "POSTGRES_PASSWORD" ],
        "protected" : false
      }, {
        "name" : "dbname",
        "aliases" : [ "database" ],
        "label" : "Database Name",
        "value" : "warehouse",
        "kind" : "STRING",
        "envAliases" : [ "POSTGRES_DBNAME", "PG_DATABASE" ],
        "protected" : false
      }, {
        "name" : "port",
        "aliases" : [ ],
        "label" : "Port",
        "value" : "5502",
        "kind" : "INTEGER",
        "envAliases" : [ "PG_PORT", "POSTGRES_PORT" ],
        "protected" : false
      }, {
        "name" : "host",
        "aliases" : [ "address" ],
        "label" : "Host",
        "value" : "localhost",
        "kind" : "STRING",
        "envAliases" : [ "POSTGRES_HOST", "PG_ADDRESS" ],
        "protected" : false
      }, {
        "name" : "user",
        "aliases" : [ "username" ],
        "label" : "User",
        "value" : "warehouse",
        "kind" : "STRING",
        "envAliases" : [ "POSTGRES_USER", "PG_USERNAME" ],
        "protected" : false
      }, {
        "name" : "url",
        "aliases" : [ ],
        "label" : "URL",
        "kind" : "STRING",
        "description" : "Lets you set `user`, `password`, `host`, `port`, and `dbname` in one go using a `postgresql://` URI. Takes precedence over the other settings when set.",
        "envAliases" : [ "POSTGRES_URL", "PG_URL" ],
        "protected" : false
      } ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/6452081f-0370-4396-8312-86fbcba1335e"
        }
      }
    }, {
      "id" : "4011fed4-14f0-4ebb-a196-8f99c987948d",
      "type" : "EXTRACTOR",
      "name" : "tap-google-analytics",
      "namespace" : "tap_google_analytics",
      "variant" : "meltano",
      "label" : "Google Analytics",
      "description" : "App and website analytics platform hosted by Google\n\n## Prerequisites\n\nBefore importing data from Google Analytics you or your webmaster will need to have performed some initial setup to grant\nyourself access to the Google Analytics for your website.\n\n[Google Analytics Prerequisites](https://www.matatika.com/docs/data-sources/tap-google-analytics/prerequisites)\n\n## Data source settings\n\n### View ID\n\nOnce you have connected with your google account, the `View ID` drop down will allow you to choose which view you want to get your data from.\n\n### Start Date\n\nProviding a start date allows you to set how much historical data you wish to import into you workspace. \n\nThis date has to be in the ISO-8601 date format, see the example below.\n\nFormat: `YYYY-MM-DDTHH:MM:SSZ`\n\nExample: `2020-10-01T13:12:11Z`\n\n### End Date\n\nProviding an end date allows you to limit how much data you wish to import into you workspace. \n\nThis date has to be in the ISO-8601 date format, see the example below.\n\nFormat: `YYYY-MM-DDTHH:MM:SSZ`\n\nExample: `2020-10-01T13:12:11Z`\n\n### Reports\n\nProviding the path to a reports json file allows you to supply the tap with a user defined definition of tables and information you want to sync from Google Analytics.\n\nThis does require you to commit a file to your workspace repository so that Google Analytics can find it during run time, and may also break the dbt transforms that are required to have our included datasets work.\n\nFor more information on how to define a custom reports file see the [Meltano Hub Documentation](https://hub.meltano.com/extractors/google-analytics#reports).\n\n## Learn more\n\nLearn more about the Google Analytics data source\n\n[Google Analytics Extractor Documentation](https://hub.meltano.com/extractors/google-analytics)\n      ",
      "imageUrl" : "/assets/images/datasource/tap-google-analytics.svg",
      "hidden" : false,
      "documentationUrl" : "https://www.matatika.com/docs/data-sources/tap-google-analytics/",
      "pipUrl" : "git+https://github.com/Matatika/tap-google-analytics.git",
      "repositoryUrl" : "https://github.com/Matatika/tap-google-analytics",
      "capabilities" : [ "DISCOVER", "CATALOG", "STATE" ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ {
        "name" : "oauth_credentials.access_token",
        "aliases" : [ ],
        "label" : "Access Token",
        "kind" : "HIDDEN",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "end_date",
        "aliases" : [ ],
        "label" : "End_date",
        "kind" : "DATE_ISO8601",
        "envAliases" : [ "GOOGLE_ANALYTICS_API_END_DATE" ],
        "required" : "false",
        "protected" : false
      }, {
        "name" : "reports",
        "aliases" : [ ],
        "label" : "Reports",
        "placeholder" : "Ex. my_report_definition.json",
        "kind" : "STRING",
        "envAliases" : [ "GOOGLE_ANALYTICS_API_REPORTS" ],
        "required" : "false",
        "protected" : false
      }, {
        "name" : "oauth_credentials.refresh_proxy_url",
        "aliases" : [ ],
        "label" : "Optional - will be called with 'oauth_credentials.refresh_token' to refresh the access token",
        "kind" : "HIDDEN",
        "envAliases" : [ "OAUTH_REFRESH_PROXY_URL" ],
        "required" : "false",
        "protected" : false
      }, {
        "name" : "oauth_credentials.refresh_token",
        "aliases" : [ ],
        "label" : "OAuth Refresh Token",
        "kind" : "HIDDEN",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "view_id",
        "aliases" : [ ],
        "label" : "View ID",
        "placeholder" : "Ex. 198343027",
        "kind" : "STRING",
        "envAliases" : [ "GOOGLE_ANALYTICS_API_VIEW_ID" ],
        "protected" : false
      }, {
        "name" : "oauth_credentials.refresh_proxy_url_auth",
        "aliases" : [ ],
        "label" : "Optional - Sets Authorization header on 'oauth_credentials.refresh_url' request",
        "kind" : "HIDDEN",
        "envAliases" : [ "OAUTH_REFRESH_PROXY_URL_AUTH" ],
        "required" : "false",
        "protected" : false
      }, {
        "name" : "oauth_credentials.scope",
        "aliases" : [ ],
        "label" : "OAuth scopes we need to request access to",
        "value" : "profile email https://www.googleapis.com/auth/analytics.readonly",
        "kind" : "HIDDEN",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "oauth_credentials.authorization_url",
        "aliases" : [ ],
        "label" : "OAuth identity provider authorization endpoint used create and refresh tokens",
        "value" : "https://oauth2.googleapis.com/token",
        "kind" : "HIDDEN",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "oauth_credentials.client_id",
        "aliases" : [ ],
        "label" : "Optional - OAuth Client ID used if refresh_proxy_url not supplied",
        "kind" : "HIDDEN",
        "envAliases" : [ ],
        "required" : "false",
        "protected" : false
      }, {
        "name" : "oauth_credentials.client_secret",
        "aliases" : [ ],
        "label" : "Optional - OAuth Client Secret used if refresh_proxy_url not supplied",
        "kind" : "HIDDEN",
        "envAliases" : [ ],
        "required" : "false",
        "protected" : false
      }, {
        "name" : "start_date",
        "aliases" : [ ],
        "label" : "Start_date",
        "kind" : "DATE_ISO8601",
        "envAliases" : [ "GOOGLE_ANALYTICS_API_START_DATE" ],
        "protected" : false
      } ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/4011fed4-14f0-4ebb-a196-8f99c987948d"
        }
      }
    }, {
      "id" : "c59e646a-3306-4da0-83d8-4979d65dba6d",
      "type" : "EXTRACTOR",
      "name" : "tap-spreadsheets-anywhere",
      "namespace" : "tap_spreadsheets_anywhere",
      "label" : "Spreadsheets Anywhere",
      "description" : "Spreadsheets anywhere allows you to read data from spreadsheets (CSVs, Excel, JSON) from cloud or local storage.\n\n## Data source settings\n\n### Files\n\nFiles takes JSON objects inside an Array to describe one or more target files.\n\nExample\n\n```json\n[{\n  \"path\":\"https://meltano.com/files\",\n  \"name\":\"gitflixusers\",\n  \"pattern\":\"GitFlixUsers.csv\",\n  \"start_date\":\"2021-01-01T00:00:00Z\",\n  \"key_properties\":[\"id\"],\n  \"format\":\"csv\"\n}]\n```\n\nNote no trailing `/` on the path, or prefixed `/` on the pattern. \n\nSpreadsheets Anywhere will build the URL back up correctly, so in this case it will look for a file at `https://meltano.com/files/GitFlixUsers.csv`\n\nPassing the above array containing JSON to our files field will sync the data of the file `GitFlixUsers.csv` into your datastore under the table name `gitflixusers`.\n\n## Learn more\n\nThese documentation links contain an overview of how Spreadsheets Anywhere works, its settings, capabilities, a list of all supported formats and some more examples.\n\n[Spreadsheets Anywhere GitHub Documentation](https://github.com/ets/tap-spreadsheets-anywhere/blob/master/README.md)\n\n[Spreadsheets Anywhere - Meltano Hub Documentation](https://hub.meltano.com/extractors/spreadsheets-anywhere)",
      "imageUrl" : "/assets/images/datasource/tap-spreadsheets-anywhere.png",
      "hidden" : false,
      "documentationUrl" : "https://meltano.com/plugins/extractors/spreadsheets-anywhere.html",
      "pipUrl" : "git+https://github.com/ets/tap-spreadsheets-anywhere.git",
      "repositoryUrl" : "https://github.com/ets/tap-spreadsheets-anywhere",
      "capabilities" : [ "DISCOVER", "CATALOG", "STATE" ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ {
        "name" : "tables",
        "aliases" : [ ],
        "label" : "Tables",
        "kind" : "ARRAY",
        "description" : "An array holding json objects that each describe a set of targeted source files. See docs for details.",
        "envAliases" : [ ],
        "protected" : false
      } ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/c59e646a-3306-4da0-83d8-4979d65dba6d"
        }
      }
    }, {
      "id" : "f120ec94-8ad2-4c36-bac9-82c64f3d4d03",
      "type" : "MODEL",
      "name" : "model-google-analytics",
      "namespace" : "tap_google_analytics",
      "variant" : "meltano",
      "label" : "Model Google Analytics",
      "hidden" : false,
      "pipUrl" : "git+https://gitlab.com/meltano/model-google-analytics.git",
      "repositoryUrl" : "https://gitlab.com/meltano/model-google-analytics",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/f120ec94-8ad2-4c36-bac9-82c64f3d4d03"
        }
      }
    }, {
      "id" : "76424447-36fb-49c6-b594-6cd441cb5964",
      "type" : "FILE",
      "name" : "dbt",
      "namespace" : "dbt",
      "label" : "Dbt",
      "hidden" : false,
      "pipUrl" : "git+https://gitlab.com/meltano/[email protected]",
      "repositoryUrl" : "https://gitlab.com/meltano/files-dbt",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : {
        "transform/profile/profiles.yml" : "true"
      },
      "vars" : { },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/76424447-36fb-49c6-b594-6cd441cb5964"
        }
      }
    }, {
      "id" : "4f3acdb4-898b-4ddf-a70f-1141f7b73129",
      "type" : "TRANSFORM",
      "name" : "dbt-solarvista",
      "namespace" : "tap_solarvista",
      "variant" : "matatika",
      "label" : "Dbt Solarvista",
      "hidden" : false,
      "pipUrl" : "https://github.com/Matatika/[email protected]",
      "repositoryUrl" : "https://github.com/Matatika/dbt-tap-solarvista",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : { },
      "vars" : {
        "schema" : ""
      },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/4f3acdb4-898b-4ddf-a70f-1141f7b73129"
        }
      }
    }, {
      "id" : "dbf87b80-6eb6-483a-90bb-b7a8c094fb3a",
      "type" : "FILE",
      "name" : "analyze-solarvista",
      "namespace" : "tap_solarvista",
      "label" : "Analyze Solarvista",
      "hidden" : false,
      "pipUrl" : "git+https://github.com/Matatika/[email protected]",
      "repositoryUrl" : "https://github.com/Matatika/analyze-solarvista",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : {
        "analyze/datasets" : "true"
      },
      "vars" : { },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/dbf87b80-6eb6-483a-90bb-b7a8c094fb3a"
        }
      }
    }, {
      "id" : "7f87c991-733a-4068-9277-7e4b3030893a",
      "type" : "TRANSFORM",
      "name" : "dbt-google-analytics",
      "namespace" : "tap_google_analytics",
      "variant" : "meltano",
      "label" : "Dbt Google Analytics",
      "hidden" : false,
      "pipUrl" : "https://github.com/Matatika/[email protected]",
      "repositoryUrl" : "https://github.com/Matatika/dbt-tap-google-analytics",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : { },
      "vars" : {
        "schema" : ""
      },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/7f87c991-733a-4068-9277-7e4b3030893a"
        }
      }
    }, {
      "id" : "6472b907-3f72-4456-9ce3-dd97236ba84f",
      "type" : "FILE",
      "name" : "analyze-google-analytics",
      "namespace" : "tap_google_analytics",
      "label" : "Analyze Google Analytics",
      "hidden" : false,
      "pipUrl" : "git+https://github.com/Matatika/[email protected]",
      "repositoryUrl" : "https://github.com/Matatika/analyze-google-analytics",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : {
        "analyze/datasets" : "true"
      },
      "vars" : { },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/6472b907-3f72-4456-9ce3-dd97236ba84f"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "https://catalog.matatika.com/api/dataplugins?page=0&size=20"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 15,
    "totalPages" : 1,
    "number" : 0
  }
}

View the Matatika discovery.yml

GET

/api/discovery.yml

Returns a Meltano discovery.yml containing all dataplugins supported by Matatika.

Request

Example Snippets

  • cURL
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://catalog.matatika.com/api/discovery.yml' -i -X GET \
    -H 'Accept: application/json, application/javascript, text/javascript, text/json' \
    -H 'Content-Type: application/json'
  • Python (requests)
import requests

url = "https://catalog.matatika.com/api/discovery.yml"

headers = {
  'Authorization': ACCESS_TOKEN
}

response = requests.request("GET", url, headers=headers)

print(response.text.encode('utf8'))

Response

200 OK

Meltano discovery.yml.

version: 19
extractors:
loaders:
  - name: target-postgres
    namespace: postgres
    label: PostgreSQL
    description: PostgreSQL database loader
    dialect: postgres
    target_schema: $TARGET_POSTGRES_SCHEMA
    variant: meltano
    docs: https://meltano.com/plugins/loaders/postgres.html
    repo: https://github.com/meltano/target-postgres
    pip_url: git+https://github.com/meltano/target-postgres.git
    settings:
      - name: user
        aliases:
          - username
        env_aliases:
          - PG_USERNAME
          - POSTGRES_USER
        value: warehouse
      - name: password
        env_aliases:
          - PG_PASSWORD
          - POSTGRES_PASSWORD
        kind: password
        value: warehouse
      - name: host
        aliases:
          - address
        env_aliases:
          - PG_ADDRESS
          - POSTGRES_HOST
        value: localhost
      - name: port
        env_aliases:
          - PG_PORT
          - POSTGRES_PORT
        kind: integer
        value: 5502
      - name: dbname
        aliases:
          - database
        env_aliases:
          - PG_DATABASE
          - POSTGRES_DBNAME
        label: Database Name
        value: warehouse
      - name: url
        env_aliases:
          - PG_URL
          - POSTGRES_URL
        label: URL
        description:
          Lets you set `user`, `password`, `host`, `port`, and `dbname` in one
          go using a `postgresql://` URI. Takes precedence over the other
          settings when set.
      - name: schema
        env_aliases:
          - PG_SCHEMA
          - POSTGRES_SCHEMA
        value: $MELTANO_EXTRACT__LOAD_SCHEMA
transforms:
models:
dashboards:
transformers:
  - name: dbt
    namespace: dbt
    docs: https://meltano.com/docs/transforms.html
    repo: https://github.com/dbt-labs/dbt-core
    pip_url: dbt==0.20.2
    settings:
      - name: project_dir
        value: $MELTANO_PROJECT_ROOT/transform
      - name: profiles_dir
        env: DBT_PROFILES_DIR
        value: $MELTANO_PROJECT_ROOT/transform/profile
      - name: target
        value: $MELTANO_LOAD__DIALECT
      - name: source_schema
        value: $MELTANO_LOAD__TARGET_SCHEMA
      - name: target_schema
        value: analytics
      - name: models
        value:
          $MELTANO_TRANSFORM__PACKAGE_NAME $MELTANO_EXTRACTOR_NAMESPACE
          my_meltano_project
    commands:
      clean:
        args: clean
        description:
          Delete all folders in the clean-targets list (usually the dbt_modules
          and target directories.)
      compile:
        args: compile --models $DBT_MODELS
        description:
          Generates executable SQL from source model, test, and analysis files.
          Compiled SQL files are written to the target/ directory.
      deps:
        args: deps
        description:
          Pull the most recent version of the dependencies listed in
          packages.yml
      run:
        args: run --models $DBT_MODELS
        description:
          Compile SQL and execute against the current target database.
      seed:
        args: seed
        description: Load data from csv files into your data warehouse.
      snapshot:
        args: snapshot
        description: Execute snapshots defined in your project.
      test:
        args: test
        description: Runs tests on data in deployed models.
files:
  - name: dbt
    namespace: dbt
    update:
      transform/profile/profiles.yml: true
    repo: https://gitlab.com/meltano/files-dbt
    pip_url: git+https://gitlab.com/meltano/[email protected]-2


View all workspace dataplugins

GET

/api/workspaces/{workspace-id}/dataplugins

Returns all dataplugins available to the workspace {workspace-id}.

Prerequisites

  • Workspace {workspace-id} must exist

Request

Example Snippets

  • cURL
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://catalog.matatika.com/api/workspaces/2de3f472-98bf-494a-9866-d831409c0f3c/dataplugins' -i -X GET \
    -H 'Accept: application/json, application/javascript, text/javascript, text/json' \
    -H 'Content-Type: application/json'
  • Python (requests)
import requests

url = "https://catalog.matatika.com/api/workspaces/2de3f472-98bf-494a-9866-d831409c0f3c/dataplugins"

headers = {
  'Authorization': ACCESS_TOKEN
}

response = requests.request("GET", url, headers=headers)

print(response.text.encode('utf8'))

Response

200 OK

Dataplugin collection with HAL links.

{
  "_embedded" : {
    "dataplugins" : [ {
      "id" : "4011fed4-14f0-4ebb-a196-8f99c987948d",
      "type" : "EXTRACTOR",
      "name" : "tap-google-analytics",
      "namespace" : "tap_google_analytics",
      "variant" : "meltano",
      "label" : "Google Analytics",
      "description" : "App and website analytics platform hosted by Google\n\n## Prerequisites\n\nBefore importing data from Google Analytics you or your webmaster will need to have performed some initial setup to grant\nyourself access to the Google Analytics for your website.\n\n[Google Analytics Prerequisites](https://www.matatika.com/docs/data-sources/tap-google-analytics/prerequisites)\n\n## Data source settings\n\n### View ID\n\nOnce you have connected with your google account, the `View ID` drop down will allow you to choose which view you want to get your data from.\n\n### Start Date\n\nProviding a start date allows you to set how much historical data you wish to import into you workspace. \n\nThis date has to be in the ISO-8601 date format, see the example below.\n\nFormat: `YYYY-MM-DDTHH:MM:SSZ`\n\nExample: `2020-10-01T13:12:11Z`\n\n### End Date\n\nProviding an end date allows you to limit how much data you wish to import into you workspace. \n\nThis date has to be in the ISO-8601 date format, see the example below.\n\nFormat: `YYYY-MM-DDTHH:MM:SSZ`\n\nExample: `2020-10-01T13:12:11Z`\n\n### Reports\n\nProviding the path to a reports json file allows you to supply the tap with a user defined definition of tables and information you want to sync from Google Analytics.\n\nThis does require you to commit a file to your workspace repository so that Google Analytics can find it during run time, and may also break the dbt transforms that are required to have our included datasets work.\n\nFor more information on how to define a custom reports file see the [Meltano Hub Documentation](https://hub.meltano.com/extractors/google-analytics#reports).\n\n## Learn more\n\nLearn more about the Google Analytics data source\n\n[Google Analytics Extractor Documentation](https://hub.meltano.com/extractors/google-analytics)\n      ",
      "imageUrl" : "/assets/images/datasource/tap-google-analytics.svg",
      "hidden" : false,
      "documentationUrl" : "https://www.matatika.com/docs/data-sources/tap-google-analytics/",
      "pipUrl" : "git+https://github.com/Matatika/tap-google-analytics.git",
      "repositoryUrl" : "https://github.com/Matatika/tap-google-analytics",
      "capabilities" : [ "DISCOVER", "CATALOG", "STATE" ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ {
        "name" : "oauth_credentials.access_token",
        "aliases" : [ ],
        "label" : "Access Token",
        "kind" : "HIDDEN",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "end_date",
        "aliases" : [ ],
        "label" : "End_date",
        "kind" : "DATE_ISO8601",
        "envAliases" : [ "GOOGLE_ANALYTICS_API_END_DATE" ],
        "required" : "false",
        "protected" : false
      }, {
        "name" : "reports",
        "aliases" : [ ],
        "label" : "Reports",
        "placeholder" : "Ex. my_report_definition.json",
        "kind" : "STRING",
        "envAliases" : [ "GOOGLE_ANALYTICS_API_REPORTS" ],
        "required" : "false",
        "protected" : false
      }, {
        "name" : "oauth_credentials.refresh_proxy_url",
        "aliases" : [ ],
        "label" : "Optional - will be called with 'oauth_credentials.refresh_token' to refresh the access token",
        "kind" : "HIDDEN",
        "envAliases" : [ "OAUTH_REFRESH_PROXY_URL" ],
        "required" : "false",
        "protected" : false
      }, {
        "name" : "oauth_credentials.refresh_token",
        "aliases" : [ ],
        "label" : "OAuth Refresh Token",
        "kind" : "HIDDEN",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "view_id",
        "aliases" : [ ],
        "label" : "View ID",
        "placeholder" : "Ex. 198343027",
        "kind" : "STRING",
        "envAliases" : [ "GOOGLE_ANALYTICS_API_VIEW_ID" ],
        "protected" : false
      }, {
        "name" : "oauth_credentials.refresh_proxy_url_auth",
        "aliases" : [ ],
        "label" : "Optional - Sets Authorization header on 'oauth_credentials.refresh_url' request",
        "kind" : "HIDDEN",
        "envAliases" : [ "OAUTH_REFRESH_PROXY_URL_AUTH" ],
        "required" : "false",
        "protected" : false
      }, {
        "name" : "oauth_credentials.scope",
        "aliases" : [ ],
        "label" : "OAuth scopes we need to request access to",
        "value" : "profile email https://www.googleapis.com/auth/analytics.readonly",
        "kind" : "HIDDEN",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "oauth_credentials.authorization_url",
        "aliases" : [ ],
        "label" : "OAuth identity provider authorization endpoint used create and refresh tokens",
        "value" : "https://oauth2.googleapis.com/token",
        "kind" : "HIDDEN",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "oauth_credentials.client_id",
        "aliases" : [ ],
        "label" : "Optional - OAuth Client ID used if refresh_proxy_url not supplied",
        "kind" : "HIDDEN",
        "envAliases" : [ ],
        "required" : "false",
        "protected" : false
      }, {
        "name" : "oauth_credentials.client_secret",
        "aliases" : [ ],
        "label" : "Optional - OAuth Client Secret used if refresh_proxy_url not supplied",
        "kind" : "HIDDEN",
        "envAliases" : [ ],
        "required" : "false",
        "protected" : false
      }, {
        "name" : "start_date",
        "aliases" : [ ],
        "label" : "Start_date",
        "kind" : "DATE_ISO8601",
        "envAliases" : [ "GOOGLE_ANALYTICS_API_START_DATE" ],
        "protected" : false
      } ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/4011fed4-14f0-4ebb-a196-8f99c987948d"
        }
      }
    }, {
      "id" : "931124c6-882f-4f0d-b0ca-6db09f1e1948",
      "type" : "EXTRACTOR",
      "name" : "tap-matatika-sit",
      "namespace" : "tap_matatika_sit",
      "label" : "Matatika SIT",
      "description" : "Test extractor based on tap-spreadsheets-anywhere used during Matatika SIT runs",
      "imageUrl" : "/assets/images/datasource/tap-matatika-sit.svg",
      "hidden" : false,
      "documentationUrl" : "https://meltano.com/plugins/extractors/spreadsheets-anywhere.html",
      "pipUrl" : "git+https://github.com/ets/tap-spreadsheets-anywhere.git",
      "repositoryUrl" : "https://github.com/ets/tap-spreadsheets-anywhere",
      "executable" : "tap-spreadsheets-anywhere",
      "capabilities" : [ "DISCOVER", "CATALOG", "STATE" ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ {
        "name" : "tables",
        "aliases" : [ ],
        "label" : "Tables",
        "value" : "[{\"path\":\"https://meltano.com/files\",\"name\":\"gitflixusers\",\"pattern\":\"GitFlixUsers.csv\",\"start_date\":\"2021-01-01T00:00:00Z\",\"key_properties\":[\"id\"],\"format\":\"csv\"}]",
        "kind" : "ARRAY",
        "description" : "An array holding json objects that each describe a set of targeted source files. See docs for details.",
        "envAliases" : [ ],
        "protected" : false
      } ],
      "matatikaHidden" : true,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/931124c6-882f-4f0d-b0ca-6db09f1e1948"
        }
      }
    }, {
      "id" : "c59e646a-3306-4da0-83d8-4979d65dba6d",
      "type" : "EXTRACTOR",
      "name" : "tap-spreadsheets-anywhere",
      "namespace" : "tap_spreadsheets_anywhere",
      "label" : "Spreadsheets Anywhere",
      "description" : "Spreadsheets anywhere allows you to read data from spreadsheets (CSVs, Excel, JSON) from cloud or local storage.\n\n## Data source settings\n\n### Files\n\nFiles takes JSON objects inside an Array to describe one or more target files.\n\nExample\n\n```json\n[{\n  \"path\":\"https://meltano.com/files\",\n  \"name\":\"gitflixusers\",\n  \"pattern\":\"GitFlixUsers.csv\",\n  \"start_date\":\"2021-01-01T00:00:00Z\",\n  \"key_properties\":[\"id\"],\n  \"format\":\"csv\"\n}]\n```\n\nNote no trailing `/` on the path, or prefixed `/` on the pattern. \n\nSpreadsheets Anywhere will build the URL back up correctly, so in this case it will look for a file at `https://meltano.com/files/GitFlixUsers.csv`\n\nPassing the above array containing JSON to our files field will sync the data of the file `GitFlixUsers.csv` into your datastore under the table name `gitflixusers`.\n\n## Learn more\n\nThese documentation links contain an overview of how Spreadsheets Anywhere works, its settings, capabilities, a list of all supported formats and some more examples.\n\n[Spreadsheets Anywhere GitHub Documentation](https://github.com/ets/tap-spreadsheets-anywhere/blob/master/README.md)\n\n[Spreadsheets Anywhere - Meltano Hub Documentation](https://hub.meltano.com/extractors/spreadsheets-anywhere)",
      "imageUrl" : "/assets/images/datasource/tap-spreadsheets-anywhere.png",
      "hidden" : false,
      "documentationUrl" : "https://meltano.com/plugins/extractors/spreadsheets-anywhere.html",
      "pipUrl" : "git+https://github.com/ets/tap-spreadsheets-anywhere.git",
      "repositoryUrl" : "https://github.com/ets/tap-spreadsheets-anywhere",
      "capabilities" : [ "DISCOVER", "CATALOG", "STATE" ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ {
        "name" : "tables",
        "aliases" : [ ],
        "label" : "Tables",
        "kind" : "ARRAY",
        "description" : "An array holding json objects that each describe a set of targeted source files. See docs for details.",
        "envAliases" : [ ],
        "protected" : false
      } ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/c59e646a-3306-4da0-83d8-4979d65dba6d"
        }
      }
    }, {
      "id" : "b15f71a8-c24e-423b-a327-86ec46c94714",
      "type" : "EXTRACTOR",
      "name" : "tap-custom-test",
      "namespace" : "tap_custom_test",
      "label" : "Tap Custom Test",
      "description" : "A dataplugin created during an SIT run",
      "hidden" : false,
      "pipUrl" : "git+https://github.com/Matatika/example-repository",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ {
        "name" : "email",
        "aliases" : [ ],
        "label" : "Email",
        "placeholder" : "[email protected]",
        "kind" : "EMAIL",
        "description" : "The email login credential.",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "username",
        "aliases" : [ ],
        "label" : "Username",
        "placeholder" : "username",
        "kind" : "STRING",
        "description" : "The username login credential.",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "start_date",
        "aliases" : [ ],
        "label" : "Start Date",
        "placeholder" : "2020-01-01T00:00:00Z",
        "kind" : "DATE_ISO8601",
        "description" : "The data to begin extracting data from, in ISO 8601 format.",
        "envAliases" : [ ],
        "protected" : false
      } ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/b15f71a8-c24e-423b-a327-86ec46c94714"
        },
        "update dataplugin" : {
          "href" : "https://catalog.matatika.com/api/workspaces/2de3f472-98bf-494a-9866-d831409c0f3c/dataplugins/b15f71a8-c24e-423b-a327-86ec46c94714",
          "type" : "PUT"
        },
        "delete dataplugin" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/b15f71a8-c24e-423b-a327-86ec46c94714",
          "type" : "DELETE"
        }
      }
    }, {
      "id" : "bdf19f6a-e898-49e6-bb59-8457b33907b1",
      "type" : "EXTRACTOR",
      "name" : "tap-googleads",
      "namespace" : "tap_googleads",
      "label" : "Google Ads",
      "description" : "App and website ads platform hosted by Google.\n\n## Prerequisites\n\n[Google Ads Prerequisites](https://www.matatika.com/docs/data-sources/tap-googleads/prerequisites)\n\n## Data source settings\n\n### Customer Id\n\nCustomer Id is the account id of your Google Ads account with the ads campaigns, and therefore data, that will get synced.\n\nYour Customer Id is usually in the format '111-111-1111' but to make requests to the api we have to remove the dashes.\n\n### Start Date\n\nProviding a start date allows you to set how much historical data you wish to import into you workspace. \n\nIf you do not provide a start date the tap will set a date of one year ago.\n\nThis date has to be in the ISO-8601 date format, see the example below.\n\nFormat: `YYYY-MM-DDTHH:MM:SSZ`\n\nExample: `2020-10-01T13:12:11Z`\n\n### End Date\n\nProviding a end date allows you to set how much historical data you wish to import into you workspace. \n\nIf you do not provide a end date the tap will sync all data up to the current date.\n\nThis date has to be in the ISO-8601 date format, see the example below.\n\nFormat: `YYYY-MM-DDTHH:MM:SSZ`\n\nExample: `2020-10-01T13:12:11Z`\n\n## Learn more\n\nLearn more about the Google Ads data source\n\n[Google Ads Extractor Documentation](https://github.com/Matatika/tap-googleads/blob/main/README.md)",
      "imageUrl" : "/assets/images/datasource/tap-googleads.svg",
      "hidden" : false,
      "documentationUrl" : "https://www.matatika.com/docs/data-sources/tap-googleads/",
      "pipUrl" : "git+https://github.com/Matatika/[email protected]",
      "repositoryUrl" : "https://github.com/Matatika/tap-googleads",
      "capabilities" : [ "DISCOVER", "CATALOG", "STATE" ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ {
        "name" : "oauth_credentials.access_token",
        "aliases" : [ ],
        "label" : "Access Token",
        "kind" : "HIDDEN",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "end_date",
        "aliases" : [ ],
        "label" : "End Date",
        "kind" : "DATE_ISO8601",
        "envAliases" : [ ],
        "required" : "false",
        "protected" : false
      }, {
        "name" : "developer_token",
        "aliases" : [ ],
        "label" : "Developer Token",
        "value" : "DYSuW0qdfU5-jti8Zdh1HQ",
        "kind" : "HIDDEN",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "oauth_credentials.refresh_proxy_url",
        "aliases" : [ ],
        "label" : "Will be called with 'oauth_credentials.refresh_token' to refresh the access token",
        "kind" : "HIDDEN",
        "envAliases" : [ "OAUTH_REFRESH_PROXY_URL" ],
        "required" : "false",
        "protected" : false
      }, {
        "name" : "oauth_credentials.refresh_token",
        "aliases" : [ ],
        "label" : "OAuth Refresh Token",
        "kind" : "HIDDEN",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "oauth_credentials.refresh_proxy_url_auth",
        "aliases" : [ ],
        "label" : "Sets Authorization header on 'oauth_credentials.refresh_url' request",
        "kind" : "HIDDEN",
        "envAliases" : [ "OAUTH_REFRESH_PROXY_URL_AUTH" ],
        "required" : "false",
        "protected" : false
      }, {
        "name" : "oauth_credentials.scope",
        "aliases" : [ ],
        "label" : "OAuth scopes we need to request access to",
        "value" : "https://www.googleapis.com/auth/adwords",
        "kind" : "HIDDEN",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "customer_id",
        "aliases" : [ ],
        "label" : "Customer Id",
        "kind" : "STRING",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "oauth_credentials.authorization_url",
        "aliases" : [ ],
        "label" : "OAuth identity provider authorization endpoint used create and refresh tokens",
        "value" : "https://oauth2.googleapis.com/token",
        "kind" : "HIDDEN",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "oauth_credentials.client_id",
        "aliases" : [ ],
        "label" : "OAuth Client ID",
        "kind" : "HIDDEN",
        "envAliases" : [ ],
        "required" : "false",
        "protected" : false
      }, {
        "name" : "oauth_credentials.client_secret",
        "aliases" : [ ],
        "label" : "OAuth Client Secret",
        "kind" : "HIDDEN",
        "envAliases" : [ ],
        "required" : "false",
        "protected" : false
      }, {
        "name" : "start_date",
        "aliases" : [ ],
        "label" : "Start Date",
        "kind" : "DATE_ISO8601",
        "envAliases" : [ ],
        "required" : "false",
        "protected" : false
      } ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/bdf19f6a-e898-49e6-bb59-8457b33907b1"
        }
      }
    }, {
      "id" : "33444aa0-a5e9-4edb-927a-d0c15707baa0",
      "type" : "EXTRACTOR",
      "name" : "tap-solarvista",
      "namespace" : "tap_solarvista",
      "variant" : "matatika",
      "label" : "Solarvista Live",
      "description" : "Solarvista Live is a Field Service Management platform to manage, plan, and mobilise your engineers. \n\nThe Matatika Solarvista Live import will extract Solarvista data into your Matatika data store, giving you instant insights into revenue, projects, work items, and engineer performance.\n\n## Prerequisites\n\nBefore importing data from Solarvista Live you will need to have performed the initial setup in Solarvista.\n\n[Solarvista Live Prerequisites](https://www.matatika.com/docs/data-sources/tap-solarvista/prerequisites)\n\n\n## Data source settings\n\n### Account\n\nSolarvista API `account`\n\nTo get your `account` id you will need to follow the steps that are linked in our [Prerequisites](https://www.matatika.com/docs/data-sources/tap-solarvista/prerequisites) section.\n\n### ClientId\n\nSolarvista API `clientId`\n  \nTo get your `clientId` you will need to follow the steps that are linked in our [Prerequisites](https://www.matatika.com/docs/data-sources/tap-solarvista/prerequisites) section.\n  \n### Code\n  \nSolarvista API `code`\n  \nTo get your `code` you will need to follow the steps that are linked in our [Prerequisites](https://www.matatika.com/docs/data-sources/tap-solarvista/prerequisites) section.\n  \n### Datasources\n  \nLeave this field blank to accept the default Solarvista datasources or customise the type of data to sync, we support:\n- `customer`\n- `site`\n- `equipment`\n- `work-item`\n- `work-item-history`\n- `activity`\n- `users`\n- `territory`\n- `project`\n- `appointment`\n- `skill`\n  \n  \n### Start Date\n  \nProviding a start date allows you to set how much historical data you wish to import into your workspace. \n  \nThis date has to be in the ISO-8601 date format, see the example below.\n  \nFormat: `YYYY-MM-DDTHH:MM:SSZ`\nExample: `2020-10-01T13:12:11Z`\n\n\n## Learn more\n\nLearn more about the Solarvista Live data source\n\n[Solavista Live Extractor Documentation](https://www.matatika.com/docs/data-sources/tap-solarvista)",
      "imageUrl" : "/assets/images/datasource/tap-solarvista.png",
      "hidden" : false,
      "documentationUrl" : "https://www.matatika.com/docs/data-sources/tap-solarvista/",
      "pipUrl" : "git+https://github.com/Matatika/[email protected]",
      "repositoryUrl" : "https://github.com/Matatika/tap-solarvista",
      "capabilities" : [ "STATE" ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ {
        "name" : "clientId",
        "aliases" : [ ],
        "label" : "Client ID",
        "kind" : "STRING",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "code",
        "aliases" : [ ],
        "label" : "Code",
        "kind" : "PASSWORD",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "datasources",
        "aliases" : [ ],
        "label" : "Datasources",
        "kind" : "STRING",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "account",
        "aliases" : [ ],
        "label" : "Account",
        "kind" : "STRING",
        "envAliases" : [ ],
        "protected" : false
      }, {
        "name" : "start_date",
        "aliases" : [ ],
        "label" : "Start Date",
        "kind" : "DATE_ISO8601",
        "envAliases" : [ ],
        "protected" : false
      } ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/33444aa0-a5e9-4edb-927a-d0c15707baa0"
        }
      }
    }, {
      "id" : "6452081f-0370-4396-8312-86fbcba1335e",
      "type" : "LOADER",
      "name" : "target-postgres",
      "namespace" : "postgres",
      "variant" : "meltano",
      "label" : "PostgreSQL",
      "description" : "PostgreSQL database loader",
      "hidden" : false,
      "documentationUrl" : "https://meltano.com/plugins/loaders/postgres.html",
      "pipUrl" : "git+https://github.com/meltano/target-postgres.git",
      "repositoryUrl" : "https://github.com/meltano/target-postgres",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ {
        "name" : "schema",
        "aliases" : [ ],
        "label" : "Schema",
        "value" : "$MELTANO_EXTRACT__LOAD_SCHEMA",
        "kind" : "STRING",
        "envAliases" : [ "PG_SCHEMA", "POSTGRES_SCHEMA" ],
        "protected" : false
      }, {
        "name" : "password",
        "aliases" : [ ],
        "label" : "Password",
        "value" : "warehouse",
        "kind" : "PASSWORD",
        "envAliases" : [ "PG_PASSWORD", "POSTGRES_PASSWORD" ],
        "protected" : false
      }, {
        "name" : "dbname",
        "aliases" : [ "database" ],
        "label" : "Database Name",
        "value" : "warehouse",
        "kind" : "STRING",
        "envAliases" : [ "POSTGRES_DBNAME", "PG_DATABASE" ],
        "protected" : false
      }, {
        "name" : "port",
        "aliases" : [ ],
        "label" : "Port",
        "value" : "5502",
        "kind" : "INTEGER",
        "envAliases" : [ "PG_PORT", "POSTGRES_PORT" ],
        "protected" : false
      }, {
        "name" : "host",
        "aliases" : [ "address" ],
        "label" : "Host",
        "value" : "localhost",
        "kind" : "STRING",
        "envAliases" : [ "POSTGRES_HOST", "PG_ADDRESS" ],
        "protected" : false
      }, {
        "name" : "user",
        "aliases" : [ "username" ],
        "label" : "User",
        "value" : "warehouse",
        "kind" : "STRING",
        "envAliases" : [ "POSTGRES_USER", "PG_USERNAME" ],
        "protected" : false
      }, {
        "name" : "url",
        "aliases" : [ ],
        "label" : "URL",
        "kind" : "STRING",
        "description" : "Lets you set `user`, `password`, `host`, `port`, and `dbname` in one go using a `postgresql://` URI. Takes precedence over the other settings when set.",
        "envAliases" : [ "POSTGRES_URL", "PG_URL" ],
        "protected" : false
      } ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/6452081f-0370-4396-8312-86fbcba1335e"
        }
      }
    }, {
      "id" : "724fdc95-6395-4068-b74b-e6716c297887",
      "type" : "TRANSFORM",
      "name" : "dbt-googleads",
      "namespace" : "tap_googleads",
      "variant" : "meltano",
      "label" : "Dbt Googleads",
      "hidden" : false,
      "pipUrl" : "https://github.com/Matatika/[email protected]",
      "repositoryUrl" : "https://github.com/Matatika/dbt-tap-googleads",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : { },
      "vars" : {
        "schema" : ""
      },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/724fdc95-6395-4068-b74b-e6716c297887"
        }
      }
    }, {
      "id" : "76424447-36fb-49c6-b594-6cd441cb5964",
      "type" : "FILE",
      "name" : "dbt",
      "namespace" : "dbt",
      "label" : "Dbt",
      "hidden" : false,
      "pipUrl" : "git+https://gitlab.com/meltano/[email protected]",
      "repositoryUrl" : "https://gitlab.com/meltano/files-dbt",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : {
        "transform/profile/profiles.yml" : "true"
      },
      "vars" : { },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/76424447-36fb-49c6-b594-6cd441cb5964"
        }
      }
    }, {
      "id" : "5eb5694a-8ec3-46b3-ac3d-c89d333f2fb5",
      "type" : "EXTRACTOR",
      "name" : "tap-test",
      "namespace" : "tap_test",
      "label" : "Tap Test",
      "hidden" : false,
      "pipUrl" : "tap-test",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/5eb5694a-8ec3-46b3-ac3d-c89d333f2fb5"
        },
        "update dataplugin" : {
          "href" : "https://catalog.matatika.com/api/workspaces/2de3f472-98bf-494a-9866-d831409c0f3c/dataplugins/5eb5694a-8ec3-46b3-ac3d-c89d333f2fb5",
          "type" : "PUT"
        },
        "delete dataplugin" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/5eb5694a-8ec3-46b3-ac3d-c89d333f2fb5",
          "type" : "DELETE"
        }
      }
    }, {
      "id" : "1149bda6-c93f-4db6-a22c-f95afd60d575",
      "type" : "FILE",
      "name" : "analyze-sit",
      "namespace" : "tap_matatika_sit",
      "label" : "Analyze Sit",
      "hidden" : false,
      "pipUrl" : "git+https://github.com/Matatika/analyze-sit.git",
      "repositoryUrl" : "https://github.com/Matatika/analyze-sit",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : {
        "analyze/datasets/tap-matatika-sit/user-ages.yml" : "true",
        "analyze/datasets/tap-matatika-sit/user-genders.yml" : "true"
      },
      "vars" : { },
      "settings" : [ ],
      "matatikaHidden" : true,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/1149bda6-c93f-4db6-a22c-f95afd60d575"
        }
      }
    }, {
      "id" : "f120ec94-8ad2-4c36-bac9-82c64f3d4d03",
      "type" : "MODEL",
      "name" : "model-google-analytics",
      "namespace" : "tap_google_analytics",
      "variant" : "meltano",
      "label" : "Model Google Analytics",
      "hidden" : false,
      "pipUrl" : "git+https://gitlab.com/meltano/model-google-analytics.git",
      "repositoryUrl" : "https://gitlab.com/meltano/model-google-analytics",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/f120ec94-8ad2-4c36-bac9-82c64f3d4d03"
        }
      }
    }, {
      "id" : "51d0c792-98c3-4d42-a34b-d195e96f8a18",
      "type" : "LOADER",
      "name" : "target-test",
      "namespace" : "target_test",
      "label" : "Target Test",
      "hidden" : false,
      "pipUrl" : "target-test",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/51d0c792-98c3-4d42-a34b-d195e96f8a18"
        },
        "update dataplugin" : {
          "href" : "https://catalog.matatika.com/api/workspaces/2de3f472-98bf-494a-9866-d831409c0f3c/dataplugins/51d0c792-98c3-4d42-a34b-d195e96f8a18",
          "type" : "PUT"
        },
        "delete dataplugin" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/51d0c792-98c3-4d42-a34b-d195e96f8a18",
          "type" : "DELETE"
        }
      }
    }, {
      "id" : "a0a5bd14-4955-4b8a-aaf7-35aa8b843750",
      "type" : "TRANSFORM",
      "name" : "dbt-tap-test",
      "namespace" : "dbt_tap_test",
      "label" : "Dbt Tap Test",
      "hidden" : false,
      "pipUrl" : "dbt-tap-test",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/a0a5bd14-4955-4b8a-aaf7-35aa8b843750"
        },
        "update dataplugin" : {
          "href" : "https://catalog.matatika.com/api/workspaces/2de3f472-98bf-494a-9866-d831409c0f3c/dataplugins/a0a5bd14-4955-4b8a-aaf7-35aa8b843750",
          "type" : "PUT"
        },
        "delete dataplugin" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/a0a5bd14-4955-4b8a-aaf7-35aa8b843750",
          "type" : "DELETE"
        }
      }
    }, {
      "id" : "4f3acdb4-898b-4ddf-a70f-1141f7b73129",
      "type" : "TRANSFORM",
      "name" : "dbt-solarvista",
      "namespace" : "tap_solarvista",
      "variant" : "matatika",
      "label" : "Dbt Solarvista",
      "hidden" : false,
      "pipUrl" : "https://github.com/Matatika/[email protected]",
      "repositoryUrl" : "https://github.com/Matatika/dbt-tap-solarvista",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : { },
      "vars" : {
        "schema" : ""
      },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/4f3acdb4-898b-4ddf-a70f-1141f7b73129"
        }
      }
    }, {
      "id" : "6472b907-3f72-4456-9ce3-dd97236ba84f",
      "type" : "FILE",
      "name" : "analyze-google-analytics",
      "namespace" : "tap_google_analytics",
      "label" : "Analyze Google Analytics",
      "hidden" : false,
      "pipUrl" : "git+https://github.com/Matatika/[email protected]",
      "repositoryUrl" : "https://github.com/Matatika/analyze-google-analytics",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : {
        "analyze/datasets" : "true"
      },
      "vars" : { },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/6472b907-3f72-4456-9ce3-dd97236ba84f"
        }
      }
    }, {
      "id" : "7f87c991-733a-4068-9277-7e4b3030893a",
      "type" : "TRANSFORM",
      "name" : "dbt-google-analytics",
      "namespace" : "tap_google_analytics",
      "variant" : "meltano",
      "label" : "Dbt Google Analytics",
      "hidden" : false,
      "pipUrl" : "https://github.com/Matatika/[email protected]",
      "repositoryUrl" : "https://github.com/Matatika/dbt-tap-google-analytics",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : { },
      "vars" : {
        "schema" : ""
      },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/7f87c991-733a-4068-9277-7e4b3030893a"
        }
      }
    }, {
      "id" : "67f9bb70-8c75-4918-89bf-ae809ab129ba",
      "type" : "FILE",
      "name" : "analyze-test",
      "namespace" : "analyze_test",
      "label" : "Analyze Test",
      "hidden" : false,
      "pipUrl" : "analyze-test",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/67f9bb70-8c75-4918-89bf-ae809ab129ba"
        },
        "update dataplugin" : {
          "href" : "https://catalog.matatika.com/api/workspaces/2de3f472-98bf-494a-9866-d831409c0f3c/dataplugins/67f9bb70-8c75-4918-89bf-ae809ab129ba",
          "type" : "PUT"
        },
        "delete dataplugin" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/67f9bb70-8c75-4918-89bf-ae809ab129ba",
          "type" : "DELETE"
        }
      }
    }, {
      "id" : "673509fd-7b5a-40d5-a63b-649e6bbd3c82",
      "type" : "FILE",
      "name" : "analyze-googleads",
      "namespace" : "tap_googleads",
      "label" : "Analyze Googleads",
      "hidden" : false,
      "pipUrl" : "git+https://github.com/Matatika/[email protected]",
      "repositoryUrl" : "https://github.com/Matatika/analyze-googleads",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : {
        "analyze/datasets/tap-googleads" : "true"
      },
      "vars" : { },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/673509fd-7b5a-40d5-a63b-649e6bbd3c82"
        }
      }
    }, {
      "id" : "dbf87b80-6eb6-483a-90bb-b7a8c094fb3a",
      "type" : "FILE",
      "name" : "analyze-solarvista",
      "namespace" : "tap_solarvista",
      "label" : "Analyze Solarvista",
      "hidden" : false,
      "pipUrl" : "git+https://github.com/Matatika/[email protected]",
      "repositoryUrl" : "https://github.com/Matatika/analyze-solarvista",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : {
        "analyze/datasets" : "true"
      },
      "vars" : { },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/dbf87b80-6eb6-483a-90bb-b7a8c094fb3a"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "https://catalog.matatika.com/api/workspaces/2de3f472-98bf-494a-9866-d831409c0f3c/dataplugins?page=0&size=20"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 20,
    "totalPages" : 1,
    "number" : 0
  }
}

View a workspace discovery.yml

GET

/api/workspaces/{workspace-id}/discovery.yml

Returns a Meltano discovery.yml containing all dataplugins available to the workspace {workspace-id}.

Prerequisites

  • Workspace {workspace-id} must exist

Request

Example Snippets

  • cURL
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://catalog.matatika.com/api/workspaces/2de3f472-98bf-494a-9866-d831409c0f3c/discovery.yml' -i -X GET \
    -H 'Accept: application/json, application/javascript, text/javascript, text/json' \
    -H 'Content-Type: application/json'
  • Python (requests)
import requests

url = "https://catalog.matatika.com/api/workspaces/2de3f472-98bf-494a-9866-d831409c0f3c/discovery.yml"

headers = {
  'Authorization': ACCESS_TOKEN
}

response = requests.request("GET", url, headers=headers)

print(response.text.encode('utf8'))

Response

200 OK

Meltano discovery.yml.

version: 19
extractors:
- name: tap-matatika-sit
  namespace: tap_matatika_sit
  label: Matatika SIT
  description: Test extractor based on tap-spreadsheets-anywhere used during Matatika SIT runs
  hidden: false
  executable: tap-spreadsheets-anywhere
  capabilities:
  - discover
  - catalog
  - state
  settings:
  - name: tables
    label: Tables
    value: "[{\"path\":\"https://meltano.com/files\",\"name\":\"gitflixusers\",\"pattern\":\"GitFlixUsers.csv\",\"start_date\":\"2021-01-01T00:00:00Z\",\"key_properties\":[\"id\"],\"format\":\"csv\"}]"
    kind: array
    description: An array holding json objects that each describe a set of targeted source files. See docs for details.
    protected: false
  repo: https://github.com/ets/tap-spreadsheets-anywhere
  docs: https://meltano.com/plugins/extractors/spreadsheets-anywhere.html
  image_url: /assets/images/datasource/tap-matatika-sit.svg
  pip_url: git+https://github.com/ets/tap-spreadsheets-anywhere.git
- name: tap-googleads
  namespace: tap_googleads
  label: Google Ads
  description: "App and website ads platform hosted by Google.\n\n## Prerequisites\n\n[Google Ads Prerequisites](https://www.matatika.com/docs/data-sources/tap-googleads/prerequisites)\n\n## Data source settings\n\n### Customer Id\n\nCustomer Id is the account id of your Google Ads account with the ads campaigns, and therefore data, that will get synced.\n\nYour Customer Id is usually in the format '111-111-1111' but to make requests to the api we have to remove the dashes.\n\n### Start Date\n\nProviding a start date allows you to set how much historical data you wish to import into you workspace. \n\nIf you do not provide a start date the tap will set a date of one year ago.\n\nThis date has to be in the ISO-8601 date format, see the example below.\n\nFormat: `YYYY-MM-DDTHH:MM:SSZ`\n\nExample: `2020-10-01T13:12:11Z`\n\n### End Date\n\nProviding a end date allows you to set how much historical data you wish to import into you workspace. \n\nIf you do not provide a end date the tap will sync all data up to the current date.\n\nThis date has to be in the ISO-8601 date format, see the example below.\n\nFormat: `YYYY-MM-DDTHH:MM:SSZ`\n\nExample: `2020-10-01T13:12:11Z`\n\n## Learn more\n\nLearn more about the Google Ads data source\n\n[Google Ads Extractor Documentation](https://github.com/Matatika/tap-googleads/blob/main/README.md)"
  hidden: false
  capabilities:
  - discover
  - catalog
  - state
  settings:
  - name: oauth_credentials.access_token
    label: Access Token
    kind: hidden
    protected: false
  - name: end_date
    label: End Date
    kind: date_iso8601
    required: "false"
    protected: false
  - name: developer_token
    label: Developer Token
    value: DYSuW0qdfU5-jti8Zdh1HQ
    kind: hidden
    protected: false
  - name: oauth_credentials.refresh_proxy_url
    label: Will be called with 'oauth_credentials.refresh_token' to refresh the access token
    kind: hidden
    required: "false"
    protected: false
    env_aliases:
    - OAUTH_REFRESH_PROXY_URL
  - name: oauth_credentials.refresh_token
    label: OAuth Refresh Token
    kind: hidden
    protected: false
  - name: oauth_credentials.refresh_proxy_url_auth
    label: Sets Authorization header on 'oauth_credentials.refresh_url' request
    kind: hidden
    required: "false"
    protected: false
    env_aliases:
    - OAUTH_REFRESH_PROXY_URL_AUTH
  - name: oauth_credentials.scope
    label: OAuth scopes we need to request access to
    value: https://www.googleapis.com/auth/adwords
    kind: hidden
    protected: false
  - name: customer_id
    label: Customer Id
    kind: string
    protected: false
  - name: oauth_credentials.authorization_url
    label: OAuth identity provider authorization endpoint used create and refresh tokens
    value: https://oauth2.googleapis.com/token
    kind: hidden
    protected: false
  - name: oauth_credentials.client_id
    label: OAuth Client ID
    kind: hidden
    required: "false"
    protected: false
  - name: oauth_credentials.client_secret
    label: OAuth Client Secret
    kind: hidden
    required: "false"
    protected: false
  - name: start_date
    label: Start Date
    kind: date_iso8601
    required: "false"
    protected: false
  repo: https://github.com/Matatika/tap-googleads
  docs: https://www.matatika.com/docs/data-sources/tap-googleads/
  image_url: /assets/images/datasource/tap-googleads.svg
  pip_url: git+https://github.com/Matatika/[email protected]0.1.1
- name: tap-test
  namespace: tap_test
  label: Tap Test
  hidden: false
  pip_url: tap-test
- name: tap-solarvista
  namespace: tap_solarvista
  variant: matatika
  label: Solarvista Live
  description: "Solarvista Live is a Field Service Management platform to manage, plan, and mobilise your engineers. \n\nThe Matatika Solarvista Live import will extract Solarvista data into your Matatika data store, giving you instant insights into revenue, projects, work items, and engineer performance.\n\n## Prerequisites\n\nBefore importing data from Solarvista Live you will need to have performed the initial setup in Solarvista.\n\n[Solarvista Live Prerequisites](https://www.matatika.com/docs/data-sources/tap-solarvista/prerequisites)\n\n\n## Data source settings\n\n### Account\n\nSolarvista API `account`\n\nTo get your `account` id you will need to follow the steps that are linked in our [Prerequisites](https://www.matatika.com/docs/data-sources/tap-solarvista/prerequisites) section.\n\n### ClientId\n\nSolarvista API `clientId`\n  \nTo get your `clientId` you will need to follow the steps that are linked in our [Prerequisites](https://www.matatika.com/docs/data-sources/tap-solarvista/prerequisites) section.\n  \n### Code\n  \nSolarvista API `code`\n  \nTo get your `code` you will need to follow the steps that are linked in our [Prerequisites](https://www.matatika.com/docs/data-sources/tap-solarvista/prerequisites) section.\n  \n### Datasources\n  \nLeave this field blank to accept the default Solarvista datasources or customise the type of data to sync, we support:\n- `customer`\n- `site`\n- `equipment`\n- `work-item`\n- `work-item-history`\n- `activity`\n- `users`\n- `territory`\n- `project`\n- `appointment`\n- `skill`\n  \n  \n### Start Date\n  \nProviding a start date allows you to set how much historical data you wish to import into your workspace. \n  \nThis date has to be in the ISO-8601 date format, see the example below.\n  \nFormat: `YYYY-MM-DDTHH:MM:SSZ`\nExample: `2020-10-01T13:12:11Z`\n\n\n## Learn more\n\nLearn more about the Solarvista Live data source\n\n[Solavista Live Extractor Documentation](https://www.matatika.com/docs/data-sources/tap-solarvista)"
  hidden: false
  capabilities:
  - state
  settings:
  - name: clientId
    label: Client ID
    kind: string
    protected: false
  - name: code
    label: Code
    kind: password
    protected: false
  - name: datasources
    label: Datasources
    kind: string
    protected: false
  - name: account
    label: Account
    kind: string
    protected: false
  - name: start_date
    label: Start Date
    kind: date_iso8601
    protected: false
  repo: https://github.com/Matatika/tap-solarvista
  docs: https://www.matatika.com/docs/data-sources/tap-solarvista/
  image_url: /assets/images/datasource/tap-solarvista.png
  pip_url: git+https://github.com/Matatika/[email protected]0.1.0
- name: tap-custom-test
  namespace: tap_custom_test
  label: Tap Custom Test
  description: A dataplugin created during an SIT run
  hidden: false
  settings:
  - name: email
    label: Email
    placeholder: [email protected]
    kind: email
    description: The email login credential.
    protected: false
  - name: username
    label: Username
    placeholder: username
    kind: string
    description: The username login credential.
    protected: false
  - name: start_date
    label: Start Date
    placeholder: 2020-01-01T00:00:00Z
    kind: date_iso8601
    description: "The data to begin extracting data from, in ISO 8601 format."
    protected: false
  pip_url: git+https://github.com/Matatika/example-repository
- name: tap-spreadsheets-anywhere
  namespace: tap_spreadsheets_anywhere
  label: Spreadsheets Anywhere
  description: "Spreadsheets anywhere allows you to read data from spreadsheets (CSVs, Excel, JSON) from cloud or local storage.\n\n## Data source settings\n\n### Files\n\nFiles takes JSON objects inside an Array to describe one or more target files.\n\nExample\n\n```json\n[{\n  \"path\":\"https://meltano.com/files\",\n  \"name\":\"gitflixusers\",\n  \"pattern\":\"GitFlixUsers.csv\",\n  \"start_date\":\"2021-01-01T00:00:00Z\",\n  \"key_properties\":[\"id\"],\n  \"format\":\"csv\"\n}]\n```\n\nNote no trailing `/` on the path, or prefixed `/` on the pattern. \n\nSpreadsheets Anywhere will build the URL back up correctly, so in this case it will look for a file at `https://meltano.com/files/GitFlixUsers.csv`\n\nPassing the above array containing JSON to our files field will sync the data of the file `GitFlixUsers.csv` into your datastore under the table name `gitflixusers`.\n\n## Learn more\n\nThese documentation links contain an overview of how Spreadsheets Anywhere works, its settings, capabilities, a list of all supported formats and some more examples.\n\n[Spreadsheets Anywhere GitHub Documentation](https://github.com/ets/tap-spreadsheets-anywhere/blob/master/README.md)\n\n[Spreadsheets Anywhere - Meltano Hub Documentation](https://hub.meltano.com/extractors/spreadsheets-anywhere)"
  hidden: false
  capabilities:
  - discover
  - catalog
  - state
  settings:
  - name: tables
    label: Tables
    kind: array
    description: An array holding json objects that each describe a set of targeted source files. See docs for details.
    protected: false
  repo: https://github.com/ets/tap-spreadsheets-anywhere
  docs: https://meltano.com/plugins/extractors/spreadsheets-anywhere.html
  image_url: /assets/images/datasource/tap-spreadsheets-anywhere.png
  pip_url: git+https://github.com/ets/tap-spreadsheets-anywhere.git
- name: tap-google-analytics
  namespace: tap_google_analytics
  variant: meltano
  label: Google Analytics
  description: "App and website analytics platform hosted by Google\n\n## Prerequisites\n\nBefore importing data from Google Analytics you or your webmaster will need to have performed some initial setup to grant\nyourself access to the Google Analytics for your website.\n\n[Google Analytics Prerequisites](https://www.matatika.com/docs/data-sources/tap-google-analytics/prerequisites)\n\n## Data source settings\n\n### View ID\n\nOnce you have connected with your google account, the `View ID` drop down will allow you to choose which view you want to get your data from.\n\n### Start Date\n\nProviding a start date allows you to set how much historical data you wish to import into you workspace. \n\nThis date has to be in the ISO-8601 date format, see the example below.\n\nFormat: `YYYY-MM-DDTHH:MM:SSZ`\n\nExample: `2020-10-01T13:12:11Z`\n\n### End Date\n\nProviding an end date allows you to limit how much data you wish to import into you workspace. \n\nThis date has to be in the ISO-8601 date format, see the example below.\n\nFormat: `YYYY-MM-DDTHH:MM:SSZ`\n\nExample: `2020-10-01T13:12:11Z`\n\n### Reports\n\nProviding the path to a reports json file allows you to supply the tap with a user defined definition of tables and information you want to sync from Google Analytics.\n\nThis does require you to commit a file to your workspace repository so that Google Analytics can find it during run time, and may also break the dbt transforms that are required to have our included datasets work.\n\nFor more information on how to define a custom reports file see the [Meltano Hub Documentation](https://hub.meltano.com/extractors/google-analytics#reports).\n\n## Learn more\n\nLearn more about the Google Analytics data source\n\n[Google Analytics Extractor Documentation](https://hub.meltano.com/extractors/google-analytics)\n      "
  hidden: false
  capabilities:
  - discover
  - catalog
  - state
  settings:
  - name: oauth_credentials.access_token
    label: Access Token
    kind: hidden
    protected: false
  - name: end_date
    label: End_date
    kind: date_iso8601
    required: "false"
    protected: false
    env_aliases:
    - GOOGLE_ANALYTICS_API_END_DATE
  - name: reports
    label: Reports
    placeholder: Ex. my_report_definition.json
    kind: string
    required: "false"
    protected: false
    env_aliases:
    - GOOGLE_ANALYTICS_API_REPORTS
  - name: oauth_credentials.refresh_proxy_url
    label: Optional - will be called with 'oauth_credentials.refresh_token' to refresh the access token
    kind: hidden
    required: "false"
    protected: false
    env_aliases:
    - OAUTH_REFRESH_PROXY_URL
  - name: oauth_credentials.refresh_token
    label: OAuth Refresh Token
    kind: hidden
    protected: false
  - name: view_id
    label: View ID
    placeholder: Ex. 198343027
    kind: string
    protected: false
    env_aliases:
    - GOOGLE_ANALYTICS_API_VIEW_ID
  - name: oauth_credentials.refresh_proxy_url_auth
    label: Optional - Sets Authorization header on 'oauth_credentials.refresh_url' request
    kind: hidden
    required: "false"
    protected: false
    env_aliases:
    - OAUTH_REFRESH_PROXY_URL_AUTH
  - name: oauth_credentials.scope
    label: OAuth scopes we need to request access to
    value: profile email https://www.googleapis.com/auth/analytics.readonly
    kind: hidden
    protected: false
  - name: oauth_credentials.authorization_url
    label: OAuth identity provider authorization endpoint used create and refresh tokens
    value: https://oauth2.googleapis.com/token
    kind: hidden
    protected: false
  - name: oauth_credentials.client_id
    label: Optional - OAuth Client ID used if refresh_proxy_url not supplied
    kind: hidden
    required: "false"
    protected: false
  - name: oauth_credentials.client_secret
    label: Optional - OAuth Client Secret used if refresh_proxy_url not supplied
    kind: hidden
    required: "false"
    protected: false
  - name: start_date
    label: Start_date
    kind: date_iso8601
    protected: false
    env_aliases:
    - GOOGLE_ANALYTICS_API_START_DATE
  repo: https://github.com/Matatika/tap-google-analytics
  docs: https://www.matatika.com/docs/data-sources/tap-google-analytics/
  image_url: /assets/images/datasource/tap-google-analytics.svg
  pip_url: git+https://github.com/Matatika/tap-google-analytics.git
loaders:
- name: target-test
  namespace: target_test
  label: Target Test
  hidden: false
  pip_url: target-test
- name: target-postgres
  namespace: postgres
  variant: meltano
  label: PostgreSQL
  description: PostgreSQL database loader
  hidden: false
  settings:
  - name: user
    aliases:
    - username
    label: User
    value: warehouse
    kind: string
    protected: false
    env_aliases:
    - PG_USERNAME
    - POSTGRES_USER
  - name: password
    label: Password
    value: warehouse
    kind: password
    protected: false
    env_aliases:
    - PG_PASSWORD
    - POSTGRES_PASSWORD
  - name: host
    aliases:
    - address
    label: Host
    value: localhost
    kind: string
    protected: false
    env_aliases:
    - PG_ADDRESS
    - POSTGRES_HOST
  - name: port
    label: Port
    value: 5502
    kind: integer
    protected: false
    env_aliases:
    - PG_PORT
    - POSTGRES_PORT
  - name: dbname
    aliases:
    - database
    label: Database Name
    value: warehouse
    kind: string
    protected: false
    env_aliases:
    - PG_DATABASE
    - POSTGRES_DBNAME
  - name: url
    label: URL
    kind: string
    description: "Lets you set `user`, `password`, `host`, `port`, and `dbname` in one go using a `postgresql://` URI. Takes precedence over the other settings when set."
    protected: false
    env_aliases:
    - PG_URL
    - POSTGRES_URL
  - name: schema
    label: Schema
    value: $MELTANO_EXTRACT__LOAD_SCHEMA
    kind: string
    protected: false
    env_aliases:
    - PG_SCHEMA
    - POSTGRES_SCHEMA
  repo: https://github.com/meltano/target-postgres
  docs: https://meltano.com/plugins/loaders/postgres.html
  pip_url: git+https://github.com/meltano/target-postgres.git
transforms:
- name: dbt-google-analytics
  namespace: tap_google_analytics
  variant: meltano
  label: Dbt Google Analytics
  hidden: false
  vars:
    schema: ""
  repo: https://github.com/Matatika/dbt-tap-google-analytics
  pip_url: https://github.com/Matatika/[email protected]0.1.0
- name: dbt-tap-test
  namespace: dbt_tap_test
  label: Dbt Tap Test
  hidden: false
  pip_url: dbt-tap-test
- name: dbt-googleads
  namespace: tap_googleads
  variant: meltano
  label: Dbt Googleads
  hidden: false
  vars:
    schema: ""
  repo: https://github.com/Matatika/dbt-tap-googleads
  pip_url: https://github.com/Matatika/[email protected]0.1.0
- name: dbt-solarvista
  namespace: tap_solarvista
  variant: matatika
  label: Dbt Solarvista
  hidden: false
  vars:
    schema: ""
  repo: https://github.com/Matatika/dbt-tap-solarvista
  pip_url: https://github.com/Matatika/[email protected]0.1.0
models:
- name: model-google-analytics
  namespace: tap_google_analytics
  variant: meltano
  label: Model Google Analytics
  hidden: false
  repo: https://gitlab.com/meltano/model-google-analytics
  pip_url: git+https://gitlab.com/meltano/model-google-analytics.git
transformers:
- name: dbt
  namespace: dbt
  docs: https://meltano.com/docs/transforms.html
  repo: https://github.com/dbt-labs/dbt-core
  pip_url: dbt==0.20.2
  settings:
  - name: project_dir
    value: $MELTANO_PROJECT_ROOT/transform
  - name: profiles_dir
    env: DBT_PROFILES_DIR
    value: $MELTANO_PROJECT_ROOT/transform/profile
  - name: target
    value: $MELTANO_LOAD__DIALECT
  - name: source_schema
    value: $MELTANO_LOAD__TARGET_SCHEMA
  - name: target_schema
    value: analytics
  - name: models
    value: $MELTANO_TRANSFORM__PACKAGE_NAME $MELTANO_EXTRACTOR_NAMESPACE my_meltano_project
  commands:
    clean:
      args: clean
      description: Delete all folders in the clean-targets list (usually the dbt_modules and target directories.)
    compile:
      args: compile --models $DBT_MODELS
      description: "Generates executable SQL from source model, test, and analysis files. Compiled SQL files are written to the target/ directory."
    deps:
      args: deps
      description: Pull the most recent version of the dependencies listed in packages.yml
    run:
      args: run --models $DBT_MODELS
      description: Compile SQL and execute against the current target database.
    seed:
      args: seed
      description: Load data from csv files into your data warehouse.
    snapshot:
      args: snapshot
      description: Execute snapshots defined in your project.
    test:
      args: test
      description: Runs tests on data in deployed models.
files:
- name: dbt
  namespace: dbt
  label: Dbt
  hidden: false
  update:
    transform/profile/profiles.yml: "true"
  repo: https://gitlab.com/meltano/files-dbt
  pip_url: git+https://gitlab.com/meltano/[email protected]-2
- name: analyze-google-analytics
  namespace: tap_google_analytics
  label: Analyze Google Analytics
  hidden: false
  update:
    analyze/datasets: "true"
  repo: https://github.com/Matatika/analyze-google-analytics
  pip_url: git+https://github.com/Matatika/[email protected]0.1.0
- name: analyze-test
  namespace: analyze_test
  label: Analyze Test
  hidden: false
  pip_url: analyze-test
- name: analyze-sit
  namespace: tap_matatika_sit
  label: Analyze Sit
  hidden: false
  update:
    analyze/datasets/tap-matatika-sit/user-ages.yml: "true"
    analyze/datasets/tap-matatika-sit/user-genders.yml: "true"
  repo: https://github.com/Matatika/analyze-sit
  pip_url: git+https://github.com/Matatika/analyze-sit.git
- name: analyze-googleads
  namespace: tap_googleads
  label: Analyze Googleads
  hidden: false
  update:
    analyze/datasets/tap-googleads: "true"
  repo: https://github.com/Matatika/analyze-googleads
  pip_url: git+https://github.com/Matatika/[email protected]0.1.0
- name: analyze-solarvista
  namespace: tap_solarvista
  label: Analyze Solarvista
  hidden: false
  update:
    analyze/datasets: "true"
  repo: https://github.com/Matatika/analyze-solarvista
  pip_url: git+https://github.com/Matatika/[email protected]0.1.0


View a dataplugin

GET

/api/dataplugins/{dataplugin-id}

Returns the dataplugin {dataplugin-id}.

Prerequisites

  • Dataplugin {dataplugin-id} must exist

Request

Example Snippets

  • cURL
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://catalog.matatika.com/api/dataplugins/4011fed4-14f0-4ebb-a196-8f99c987948d' -i -X GET \
    -H 'Accept: application/json, application/javascript, text/javascript, text/json' \
    -H 'Content-Type: application/json'
  • Python (requests)
import requests

url = "https://catalog.matatika.com/api/dataplugins/4011fed4-14f0-4ebb-a196-8f99c987948d"

headers = {
  'Authorization': ACCESS_TOKEN
}

response = requests.request("GET", url, headers=headers)

print(response.text.encode('utf8'))

Response

200 OK

Dataplugin with HAL links.

{
  "id" : "4011fed4-14f0-4ebb-a196-8f99c987948d",
  "type" : "EXTRACTOR",
  "name" : "tap-google-analytics",
  "namespace" : "tap_google_analytics",
  "variant" : "meltano",
  "label" : "Google Analytics",
  "description" : "App and website analytics platform hosted by Google\n\n## Prerequisites\n\nBefore importing data from Google Analytics you or your webmaster will need to have performed some initial setup to grant\nyourself access to the Google Analytics for your website.\n\n[Google Analytics Prerequisites](https://www.matatika.com/docs/data-sources/tap-google-analytics/prerequisites)\n\n## Data source settings\n\n### View ID\n\nOnce you have connected with your google account, the `View ID` drop down will allow you to choose which view you want to get your data from.\n\n### Start Date\n\nProviding a start date allows you to set how much historical data you wish to import into you workspace. \n\nThis date has to be in the ISO-8601 date format, see the example below.\n\nFormat: `YYYY-MM-DDTHH:MM:SSZ`\n\nExample: `2020-10-01T13:12:11Z`\n\n### End Date\n\nProviding an end date allows you to limit how much data you wish to import into you workspace. \n\nThis date has to be in the ISO-8601 date format, see the example below.\n\nFormat: `YYYY-MM-DDTHH:MM:SSZ`\n\nExample: `2020-10-01T13:12:11Z`\n\n### Reports\n\nProviding the path to a reports json file allows you to supply the tap with a user defined definition of tables and information you want to sync from Google Analytics.\n\nThis does require you to commit a file to your workspace repository so that Google Analytics can find it during run time, and may also break the dbt transforms that are required to have our included datasets work.\n\nFor more information on how to define a custom reports file see the [Meltano Hub Documentation](https://hub.meltano.com/extractors/google-analytics#reports).\n\n## Learn more\n\nLearn more about the Google Analytics data source\n\n[Google Analytics Extractor Documentation](https://hub.meltano.com/extractors/google-analytics)\n      ",
  "imageUrl" : "/assets/images/datasource/tap-google-analytics.svg",
  "hidden" : false,
  "documentationUrl" : "https://www.matatika.com/docs/data-sources/tap-google-analytics/",
  "pipUrl" : "git+https://github.com/Matatika/tap-google-analytics.git",
  "repositoryUrl" : "https://github.com/Matatika/tap-google-analytics",
  "capabilities" : [ "DISCOVER", "CATALOG", "STATE" ],
  "select" : [ ],
  "update" : { },
  "vars" : { },
  "settings" : [ {
    "name" : "oauth_credentials.access_token",
    "aliases" : [ ],
    "label" : "Access Token",
    "kind" : "HIDDEN",
    "envAliases" : [ ],
    "protected" : false
  }, {
    "name" : "end_date",
    "aliases" : [ ],
    "label" : "End_date",
    "kind" : "DATE_ISO8601",
    "envAliases" : [ "GOOGLE_ANALYTICS_API_END_DATE" ],
    "required" : "false",
    "protected" : false
  }, {
    "name" : "reports",
    "aliases" : [ ],
    "label" : "Reports",
    "placeholder" : "Ex. my_report_definition.json",
    "kind" : "STRING",
    "envAliases" : [ "GOOGLE_ANALYTICS_API_REPORTS" ],
    "required" : "false",
    "protected" : false
  }, {
    "name" : "oauth_credentials.refresh_proxy_url",
    "aliases" : [ ],
    "label" : "Optional - will be called with 'oauth_credentials.refresh_token' to refresh the access token",
    "kind" : "HIDDEN",
    "envAliases" : [ "OAUTH_REFRESH_PROXY_URL" ],
    "required" : "false",
    "protected" : false
  }, {
    "name" : "oauth_credentials.refresh_token",
    "aliases" : [ ],
    "label" : "OAuth Refresh Token",
    "kind" : "HIDDEN",
    "envAliases" : [ ],
    "protected" : false
  }, {
    "name" : "view_id",
    "aliases" : [ ],
    "label" : "View ID",
    "placeholder" : "Ex. 198343027",
    "kind" : "STRING",
    "envAliases" : [ "GOOGLE_ANALYTICS_API_VIEW_ID" ],
    "protected" : false
  }, {
    "name" : "oauth_credentials.refresh_proxy_url_auth",
    "aliases" : [ ],
    "label" : "Optional - Sets Authorization header on 'oauth_credentials.refresh_url' request",
    "kind" : "HIDDEN",
    "envAliases" : [ "OAUTH_REFRESH_PROXY_URL_AUTH" ],
    "required" : "false",
    "protected" : false
  }, {
    "name" : "oauth_credentials.scope",
    "aliases" : [ ],
    "label" : "OAuth scopes we need to request access to",
    "value" : "profile email https://www.googleapis.com/auth/analytics.readonly",
    "kind" : "HIDDEN",
    "envAliases" : [ ],
    "protected" : false
  }, {
    "name" : "oauth_credentials.authorization_url",
    "aliases" : [ ],
    "label" : "OAuth identity provider authorization endpoint used create and refresh tokens",
    "value" : "https://oauth2.googleapis.com/token",
    "kind" : "HIDDEN",
    "envAliases" : [ ],
    "protected" : false
  }, {
    "name" : "oauth_credentials.client_id",
    "aliases" : [ ],
    "label" : "Optional - OAuth Client ID used if refresh_proxy_url not supplied",
    "kind" : "HIDDEN",
    "envAliases" : [ ],
    "required" : "false",
    "protected" : false
  }, {
    "name" : "oauth_credentials.client_secret",
    "aliases" : [ ],
    "label" : "Optional - OAuth Client Secret used if refresh_proxy_url not supplied",
    "kind" : "HIDDEN",
    "envAliases" : [ ],
    "required" : "false",
    "protected" : false
  }, {
    "name" : "start_date",
    "aliases" : [ ],
    "label" : "Start_date",
    "kind" : "DATE_ISO8601",
    "envAliases" : [ "GOOGLE_ANALYTICS_API_START_DATE" ],
    "protected" : false
  } ],
  "matatikaHidden" : false,
  "_links" : {
    "self" : {
      "href" : "https://catalog.matatika.com/api/dataplugins/4011fed4-14f0-4ebb-a196-8f99c987948d"
    }
  }
}

Initialise a new dataplugin

POST

/api/dataplugins

Initialises a new dataplugin.

Request

Example Snippets

  • cURL
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://catalog.matatika.com/api/workspaces/2de3f472-98bf-494a-9866-d831409c0f3c/dataplugins' -i -X POST \
    -H 'Accept: application/json, application/javascript, text/javascript, text/json' \
    -H 'Content-Type: application/json'
  • Python (requests)
import requests

url = "https://catalog.matatika.com/api/workspaces/2de3f472-98bf-494a-9866-d831409c0f3c/dataplugins"

headers = {
  'Authorization': ACCESS_TOKEN
}

response = requests.request("POST", url, headers=headers)

print(response.text.encode('utf8'))

Response

200 OK

Dataplugin with HAL links.

{
  "id" : "b15f71a8-c24e-423b-a327-86ec46c94714",
  "hidden" : false,
  "capabilities" : [ ],
  "select" : [ ],
  "update" : { },
  "vars" : { },
  "settings" : [ ],
  "matatikaHidden" : false,
  "_links" : {
    "self" : {
      "href" : "https://catalog.matatika.com/api/dataplugins/b15f71a8-c24e-423b-a327-86ec46c94714"
    },
    "create dataplugin" : {
      "href" : "https://catalog.matatika.com/api/workspaces/2de3f472-98bf-494a-9866-d831409c0f3c/dataplugins/b15f71a8-c24e-423b-a327-86ec46c94714",
      "type" : "PUT"
    }
  }
}

Publish dataplugins from a discovery.yml

POST

/api/workspaces/{workspace-id}/discovery.yml

Publishes dataplugins from a Meltano discovery.yml.

Prerequisites

  • Workspace {workspace-id} must exist

Request

Body

Meltano discovery.yml

version: 19
extractors:
  - name: tap-test
loaders:
  - name: target-test
transforms:
  - name: dbt-tap-test
files:
  - name: analyze-test

Example Snippets

  • cURL
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://catalog.matatika.com/api/workspaces/2de3f472-98bf-494a-9866-d831409c0f3c/discovery' -i -X POST \
    -H 'Accept: application/json, application/javascript, text/javascript, text/json' \
    -H 'Content-Type: application/json' \
    -d 'version: 19
extractors:
  - name: tap-test
loaders:
  - name: target-test
transforms:
  - name: dbt-tap-test
files:
  - name: analyze-test
'
  • Python (requests)
import requests

url = "https://catalog.matatika.com/api/workspaces/2de3f472-98bf-494a-9866-d831409c0f3c/discovery"

data = version: 19
extractors:
  - name: tap-test
loaders:
  - name: target-test
transforms:
  - name: dbt-tap-test
files:
  - name: analyze-test

headers = {
  'Authorization': ACCESS_TOKEN
}

response = requests.request("POST", url, headers=headers, data=data)

print(response.text.encode('utf8'))

Response

201 Created

Dataplugin collection with HAL links.

{
  "_embedded" : {
    "dataplugins" : [ {
      "id" : "5eb5694a-8ec3-46b3-ac3d-c89d333f2fb5",
      "type" : "EXTRACTOR",
      "name" : "tap-test",
      "namespace" : "tap_test",
      "label" : "Tap Test",
      "hidden" : false,
      "pipUrl" : "tap-test",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/5eb5694a-8ec3-46b3-ac3d-c89d333f2fb5"
        },
        "update dataplugin" : {
          "href" : "https://catalog.matatika.com/api/workspaces/2de3f472-98bf-494a-9866-d831409c0f3c/dataplugins/5eb5694a-8ec3-46b3-ac3d-c89d333f2fb5",
          "type" : "PUT"
        },
        "delete dataplugin" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/5eb5694a-8ec3-46b3-ac3d-c89d333f2fb5",
          "type" : "DELETE"
        }
      }
    }, {
      "id" : "51d0c792-98c3-4d42-a34b-d195e96f8a18",
      "type" : "LOADER",
      "name" : "target-test",
      "namespace" : "target_test",
      "label" : "Target Test",
      "hidden" : false,
      "pipUrl" : "target-test",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/51d0c792-98c3-4d42-a34b-d195e96f8a18"
        },
        "update dataplugin" : {
          "href" : "https://catalog.matatika.com/api/workspaces/2de3f472-98bf-494a-9866-d831409c0f3c/dataplugins/51d0c792-98c3-4d42-a34b-d195e96f8a18",
          "type" : "PUT"
        },
        "delete dataplugin" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/51d0c792-98c3-4d42-a34b-d195e96f8a18",
          "type" : "DELETE"
        }
      }
    }, {
      "id" : "a0a5bd14-4955-4b8a-aaf7-35aa8b843750",
      "type" : "TRANSFORM",
      "name" : "dbt-tap-test",
      "namespace" : "dbt_tap_test",
      "label" : "Dbt Tap Test",
      "hidden" : false,
      "pipUrl" : "dbt-tap-test",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/a0a5bd14-4955-4b8a-aaf7-35aa8b843750"
        },
        "update dataplugin" : {
          "href" : "https://catalog.matatika.com/api/workspaces/2de3f472-98bf-494a-9866-d831409c0f3c/dataplugins/a0a5bd14-4955-4b8a-aaf7-35aa8b843750",
          "type" : "PUT"
        },
        "delete dataplugin" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/a0a5bd14-4955-4b8a-aaf7-35aa8b843750",
          "type" : "DELETE"
        }
      }
    }, {
      "id" : "67f9bb70-8c75-4918-89bf-ae809ab129ba",
      "type" : "FILE",
      "name" : "analyze-test",
      "namespace" : "analyze_test",
      "label" : "Analyze Test",
      "hidden" : false,
      "pipUrl" : "analyze-test",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/67f9bb70-8c75-4918-89bf-ae809ab129ba"
        },
        "update dataplugin" : {
          "href" : "https://catalog.matatika.com/api/workspaces/2de3f472-98bf-494a-9866-d831409c0f3c/dataplugins/67f9bb70-8c75-4918-89bf-ae809ab129ba",
          "type" : "PUT"
        },
        "delete dataplugin" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/67f9bb70-8c75-4918-89bf-ae809ab129ba",
          "type" : "DELETE"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "https://catalog.matatika.com/api/dataplugins"
    }
  }
}

Create a dataplugin

PUT

/api/dataplugins/{dataplugin-id}

Creates the dataplugin {dataplugin-id}.

Request

Body

Dataplugin resource.

{
  "name" : "tap-custom-test",
  "type" : "EXTRACTOR",
  "description" : "A dataplugin created during an SIT run",
  "pipUrl" : "git+https://github.com/Matatika/example-repository",
  "settings" : [ {
    "name" : "username",
    "kind" : "STRING",
    "label" : "Username",
    "placeholder" : "username",
    "description" : "The username login credential.",
    "protected" : false
  }, {
    "name" : "email",
    "kind" : "EMAIL",
    "label" : "Email",
    "description" : "The email login credential.",
    "placeholder" : "[email protected]",
    "protected" : false
  }, {
    "name" : "start_date",
    "kind" : "DATE_ISO8601",
    "label" : "Start Date",
    "description" : "The data to begin extracting data from, in ISO 8601 format.",
    "placeholder" : "2020-01-01T00:00:00Z",
    "protected" : false
  } ]
}

Example Snippets

  • cURL
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://catalog.matatika.com/api/workspaces/2de3f472-98bf-494a-9866-d831409c0f3c/dataplugins/b15f71a8-c24e-423b-a327-86ec46c94714' -i -X PUT \
    -H 'Accept: application/json, application/javascript, text/javascript, text/json' \
    -H 'Content-Type: application/hal+json; charset=ISO-8859-1' \
    -d '{
  "name" : "tap-custom-test",
  "type" : "EXTRACTOR",
  "description" : "A dataplugin created during an SIT run",
  "pipUrl" : "git+https://github.com/Matatika/example-repository",
  "settings" : [ {
    "name" : "username",
    "kind" : "STRING",
    "label" : "Username",
    "placeholder" : "username",
    "description" : "The username login credential.",
    "protected" : false
  }, {
    "name" : "email",
    "kind" : "EMAIL",
    "label" : "Email",
    "description" : "The email login credential.",
    "placeholder" : "[email protected]",
    "protected" : false
  }, {
    "name" : "start_date",
    "kind" : "DATE_ISO8601",
    "label" : "Start Date",
    "description" : "The data to begin extracting data from, in ISO 8601 format.",
    "placeholder" : "2020-01-01T00:00:00Z",
    "protected" : false
  } ]
}'
  • Python (requests)
import requests

url = "https://catalog.matatika.com/api/workspaces/2de3f472-98bf-494a-9866-d831409c0f3c/dataplugins/b15f71a8-c24e-423b-a327-86ec46c94714"

data = {
  "name" : "tap-custom-test",
  "type" : "EXTRACTOR",
  "description" : "A dataplugin created during an SIT run",
  "pipUrl" : "git+https://github.com/Matatika/example-repository",
  "settings" : [ {
    "name" : "username",
    "kind" : "STRING",
    "label" : "Username",
    "placeholder" : "username",
    "description" : "The username login credential.",
    "protected" : false
  }, {
    "name" : "email",
    "kind" : "EMAIL",
    "label" : "Email",
    "description" : "The email login credential.",
    "placeholder" : "[email protected]",
    "protected" : false
  }, {
    "name" : "start_date",
    "kind" : "DATE_ISO8601",
    "label" : "Start Date",
    "description" : "The data to begin extracting data from, in ISO 8601 format.",
    "placeholder" : "2020-01-01T00:00:00Z",
    "protected" : false
  } ]
}
headers = {
  'Authorization': ACCESS_TOKEN
}

response = requests.request("PUT", url, headers=headers, data=data)

print(response.text.encode('utf8'))

Response

201 Created

Dataplugin with HAL links.

{
  "id" : "b15f71a8-c24e-423b-a327-86ec46c94714",
  "type" : "EXTRACTOR",
  "name" : "tap-custom-test",
  "namespace" : "tap_custom_test",
  "label" : "Tap Custom Test",
  "description" : "A dataplugin updated during an SIT run",
  "hidden" : false,
  "pipUrl" : "git+https://github.com/Matatika/example-repository-2",
  "capabilities" : [ ],
  "select" : [ ],
  "update" : { },
  "vars" : { },
  "settings" : [ {
    "name" : "email",
    "aliases" : [ ],
    "label" : "Email",
    "placeholder" : "[email protected]",
    "kind" : "EMAIL",
    "description" : "The email login credential.",
    "envAliases" : [ ],
    "protected" : false
  }, {
    "name" : "username",
    "aliases" : [ ],
    "label" : "Username",
    "placeholder" : "username",
    "kind" : "STRING",
    "description" : "The username login credential.",
    "envAliases" : [ ],
    "protected" : false
  }, {
    "name" : "start_date",
    "aliases" : [ ],
    "label" : "Start Date",
    "placeholder" : "2020-01-01T00:00:00Z",
    "kind" : "DATE_ISO8601",
    "description" : "The data to begin extracting data from, in ISO 8601 format.",
    "envAliases" : [ ],
    "protected" : false
  } ],
  "matatikaHidden" : false,
  "_links" : {
    "self" : {
      "href" : "https://catalog.matatika.com/api/dataplugins/b15f71a8-c24e-423b-a327-86ec46c94714"
    },
    "update dataplugin" : {
      "href" : "https://catalog.matatika.com/api/workspaces/2de3f472-98bf-494a-9866-d831409c0f3c/dataplugins/b15f71a8-c24e-423b-a327-86ec46c94714",
      "type" : "PUT"
    },
    "delete dataplugin" : {
      "href" : "https://catalog.matatika.com/api/dataplugins/b15f71a8-c24e-423b-a327-86ec46c94714",
      "type" : "DELETE"
    }
  }
}

Update a dataplugin

PUT

/api/dataplugins/{dataplugin-id}

Updates the dataplugin {dataplugin-id}.

Prerequisites

  • Dataplugin {dataplugin-id} must exist

Request

Body

Dataplugin resource.

{
  "name" : "tap-custom-test",
  "type" : "EXTRACTOR",
  "description" : "A dataplugin updated during an SIT run",
  "pipUrl" : "git+https://github.com/Matatika/example-repository-2",
  "settings" : [ {
    "name" : "username",
    "kind" : "STRING",
    "label" : "Username",
    "placeholder" : "username",
    "description" : "The username login credential.",
    "protected" : false
  }, {
    "name" : "email",
    "kind" : "EMAIL",
    "label" : "Email",
    "description" : "The email login credential.",
    "placeholder" : "[email protected]",
    "protected" : false
  }, {
    "name" : "start_date",
    "kind" : "DATE_ISO8601",
    "label" : "Start Date",
    "description" : "The data to begin extracting data from, in ISO 8601 format.",
    "placeholder" : "2020-01-01T00:00:00Z",
    "protected" : false
  } ]
}
Path Type Description Constraints
description String A description of the dataplugin  
repositoryUrl String A URL to the dataplugin repository  
settings Array of Settings The dataplugin settings  

Example Snippets

  • cURL
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://catalog.matatika.com/api/workspaces/2de3f472-98bf-494a-9866-d831409c0f3c/dataplugins/b15f71a8-c24e-423b-a327-86ec46c94714' -i -X PUT \
    -H 'Accept: application/json, application/javascript, text/javascript, text/json' \
    -H 'Content-Type: application/hal+json; charset=ISO-8859-1' \
    -d '{
  "name" : "tap-custom-test",
  "type" : "EXTRACTOR",
  "description" : "A dataplugin updated during an SIT run",
  "pipUrl" : "git+https://github.com/Matatika/example-repository-2",
  "settings" : [ {
    "name" : "username",
    "kind" : "STRING",
    "label" : "Username",
    "placeholder" : "username",
    "description" : "The username login credential.",
    "protected" : false
  }, {
    "name" : "email",
    "kind" : "EMAIL",
    "label" : "Email",
    "description" : "The email login credential.",
    "placeholder" : "[email protected]",
    "protected" : false
  }, {
    "name" : "start_date",
    "kind" : "DATE_ISO8601",
    "label" : "Start Date",
    "description" : "The data to begin extracting data from, in ISO 8601 format.",
    "placeholder" : "2020-01-01T00:00:00Z",
    "protected" : false
  } ]
}'
  • Python (requests)
import requests

url = "https://catalog.matatika.com/api/workspaces/2de3f472-98bf-494a-9866-d831409c0f3c/dataplugins/b15f71a8-c24e-423b-a327-86ec46c94714"

data = {
  "name" : "tap-custom-test",
  "type" : "EXTRACTOR",
  "description" : "A dataplugin updated during an SIT run",
  "pipUrl" : "git+https://github.com/Matatika/example-repository-2",
  "settings" : [ {
    "name" : "username",
    "kind" : "STRING",
    "label" : "Username",
    "placeholder" : "username",
    "description" : "The username login credential.",
    "protected" : false
  }, {
    "name" : "email",
    "kind" : "EMAIL",
    "label" : "Email",
    "description" : "The email login credential.",
    "placeholder" : "[email protected]",
    "protected" : false
  }, {
    "name" : "start_date",
    "kind" : "DATE_ISO8601",
    "label" : "Start Date",
    "description" : "The data to begin extracting data from, in ISO 8601 format.",
    "placeholder" : "2020-01-01T00:00:00Z",
    "protected" : false
  } ]
}
headers = {
  'Authorization': ACCESS_TOKEN
}

response = requests.request("PUT", url, headers=headers, data=data)

print(response.text.encode('utf8'))

Response

200 OK

Dataplugin with HAL links.

{
  "id" : "b15f71a8-c24e-423b-a327-86ec46c94714",
  "type" : "EXTRACTOR",
  "name" : "tap-custom-test",
  "namespace" : "tap_custom_test",
  "label" : "Tap Custom Test",
  "description" : "A dataplugin updated during an SIT run",
  "hidden" : false,
  "pipUrl" : "git+https://github.com/Matatika/example-repository-2",
  "capabilities" : [ ],
  "select" : [ ],
  "update" : { },
  "vars" : { },
  "settings" : [ {
    "name" : "email",
    "aliases" : [ ],
    "label" : "Email",
    "placeholder" : "[email protected]",
    "kind" : "EMAIL",
    "description" : "The email login credential.",
    "envAliases" : [ ],
    "protected" : false
  }, {
    "name" : "username",
    "aliases" : [ ],
    "label" : "Username",
    "placeholder" : "username",
    "kind" : "STRING",
    "description" : "The username login credential.",
    "envAliases" : [ ],
    "protected" : false
  }, {
    "name" : "start_date",
    "aliases" : [ ],
    "label" : "Start Date",
    "placeholder" : "2020-01-01T00:00:00Z",
    "kind" : "DATE_ISO8601",
    "description" : "The data to begin extracting data from, in ISO 8601 format.",
    "envAliases" : [ ],
    "protected" : false
  } ],
  "matatikaHidden" : false,
  "_links" : {
    "self" : {
      "href" : "https://catalog.matatika.com/api/dataplugins/b15f71a8-c24e-423b-a327-86ec46c94714"
    },
    "update dataplugin" : {
      "href" : "https://catalog.matatika.com/api/workspaces/2de3f472-98bf-494a-9866-d831409c0f3c/dataplugins/b15f71a8-c24e-423b-a327-86ec46c94714",
      "type" : "PUT"
    },
    "delete dataplugin" : {
      "href" : "https://catalog.matatika.com/api/dataplugins/b15f71a8-c24e-423b-a327-86ec46c94714",
      "type" : "DELETE"
    }
  }
}

Delete a dataplugin

DELETE

/api/dataplugins/{dataplugin-id}

Deletes the dataplugin {dataplugin-id}.

Request

Example Snippets

  • cURL
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://catalog.matatika.com/api/dataplugins/b15f71a8-c24e-423b-a327-86ec46c94714' -i -X DELETE \
    -H 'Accept: application/json, application/javascript, text/javascript, text/json' \
    -H 'Content-Type: application/json'
  • Python (requests)
import requests

url = "https://catalog.matatika.com/api/dataplugins/b15f71a8-c24e-423b-a327-86ec46c94714"

headers = {
  'Authorization': ACCESS_TOKEN
}

response = requests.request("DELETE", url, headers=headers)

print(response.text.encode('utf8'))

Response

204 No Content

No response body provided.