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" : "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" : [ "STATE", "CATALOG", "DISCOVER" ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ {
        "name" : "tables",
        "aliases" : [ ],
        "label" : "Tables",
        "value" : "[{\"path\":\"https://raw.githubusercontent.com/Matatika/matatika-examples/master/example_data\",\"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
      } ],
      "matatikaHidden" : true,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/931124c6-882f-4f0d-b0ca-6db09f1e1948"
        }
      }
    }, {
      "id" : "f3b55dc0-a64c-4b6d-ac05-a50688dbc3ab",
      "type" : "FILE",
      "name" : "analyze-shopify",
      "namespace" : "tap_shopify",
      "label" : "Analyze Shopify",
      "hidden" : false,
      "pipUrl" : "git+https://github.com/Matatika/analyze-shopify",
      "repositoryUrl" : "https://github.com/Matatika/analyze-shopify",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : {
        "analyze/datasets" : "true"
      },
      "vars" : { },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/f3b55dc0-a64c-4b6d-ac05-a50688dbc3ab"
        }
      }
    }, {
      "id" : "0879ca90-e5ba-49b9-8435-c68676133ac7",
      "type" : "FILE",
      "name" : "analyze-meltano",
      "namespace" : "tap_meltano",
      "label" : "Analyze Meltano",
      "hidden" : false,
      "pipUrl" : "git+https://github.com/Matatika/[email protected]",
      "repositoryUrl" : "https://github.com/Matatika/analyze-meltano",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : {
        "analyze/datasets/tap-meltano" : "true"
      },
      "vars" : { },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/0879ca90-e5ba-49b9-8435-c68676133ac7"
        }
      }
    }, {
      "id" : "720766bb-1eeb-4c36-8268-a35e00a1b75f",
      "type" : "EXTRACTOR",
      "name" : "tap-auth0",
      "namespace" : "tap_auth0",
      "variant" : "meltano",
      "label" : "Auth0",
      "description" : "Auth0 is an identity and access management service, that allows you to manage the access of your users.\n\n## Prerequisites\n\nTo find out how to get the required credentials for this data source please go to our documentation: [Auth0 Prerequisites](https://www.matatika.com/docs/data-sources/tap-auth0/prerequisites)\n\n## Data source settings\n\n### Client ID\n\nYour Auth0 Machine-to-Machine application client id.\n\n### Client Secret\n\nYour Auth0 Machine-to-Machine application client secret.\n\n### Domain\n\nYour Auth0 tenant domain in the format `<TENANT_NAME>.<REGION_IDENTIFIER>.auth0.com``\n\n## Learn more\n\n[Matatika Auth0 Data Source Documentation](https://www.matatika.com/docs/data-sources/tap-auth0)\n\n[Meltano Hub Auth0 Documentation](https://hub.meltano.com/taps/auth0)",
      "imageUrl" : "/assets/images/datasource/tap-auth0.png",
      "hidden" : false,
      "pipUrl" : "git+https://github.com/Matatika/[email protected]",
      "repositoryUrl" : "https://github.com/Matatika/tap-auth0",
      "capabilities" : [ "STATE", "CATALOG", "DISCOVER" ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ {
        "name" : "client_id",
        "aliases" : [ ],
        "label" : "Client ID",
        "kind" : "PASSWORD",
        "protected" : false
      }, {
        "name" : "client_secret",
        "aliases" : [ ],
        "label" : "Client Secret",
        "kind" : "PASSWORD",
        "protected" : false
      }, {
        "name" : "domain",
        "aliases" : [ ],
        "label" : "Domain",
        "kind" : "STRING",
        "protected" : false
      }, {
        "name" : "job_poll_interval_ms",
        "aliases" : [ ],
        "label" : "Job_poll_interval_ms",
        "value" : "2000",
        "kind" : "HIDDEN",
        "required" : "false",
        "protected" : false
      }, {
        "name" : "job_poll_max_count",
        "aliases" : [ ],
        "label" : "Job_poll_max_count",
        "value" : "10",
        "kind" : "HIDDEN",
        "required" : "false",
        "protected" : false
      } ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/720766bb-1eeb-4c36-8268-a35e00a1b75f"
        }
      }
    }, {
      "id" : "ea5edd4d-9f41-4b62-a504-a477e0866a2e",
      "type" : "FILE",
      "name" : "analyze-spotify",
      "namespace" : "tap_spotify",
      "label" : "Analyze Spotify",
      "hidden" : false,
      "pipUrl" : "git+https://github.com/Matatika/[email protected]",
      "repositoryUrl" : "https://github.com/Matatika/analyze-spotify",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : {
        "analyze/datasets/tap-spotify" : "true"
      },
      "vars" : { },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/ea5edd4d-9f41-4b62-a504-a477e0866a2e"
        }
      }
    }, {
      "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" : "0f5da286-225b-4f8d-80f5-47f8239c8f03",
      "type" : "TRANSFORM",
      "name" : "dbt-meltano",
      "namespace" : "tap_meltano",
      "variant" : "meltano",
      "label" : "Dbt Meltano",
      "hidden" : false,
      "pipUrl" : "https://github.com/Matatika/[email protected]",
      "repositoryUrl" : "https://github.com/Matatika/dbt-tap-meltano",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : { },
      "vars" : {
        "schema" : ""
      },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/0f5da286-225b-4f8d-80f5-47f8239c8f03"
        }
      }
    }, {
      "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" : "951b5569-0edc-4cbc-bae1-fe70709506ab",
      "type" : "EXTRACTOR",
      "name" : "tap-google-sheets",
      "namespace" : "tap_google_sheets",
      "variant" : "meltano",
      "label" : "Google Sheets",
      "description" : "Google Sheets is a web-based application that enables users to create, update and modify spreadsheets and share the data online in real time.\n\n## Data source settings\n### Sheet ID\n\nOnce you have connected with your google account, the `Sheet ID` drop down will allow you to choose which sheet you want to get your data from.\n\n## Learn more\n\n[Matatika Google Sheets Data Source Documentation](https://www.matatika.com/docs/data-sources/tap-google-sheets)",
      "imageUrl" : "/assets/images/datasource/tap-google-sheets.png",
      "hidden" : false,
      "documentationUrl" : "https://www.matatika.com/docs/data-sources/tap-google-sheets/",
      "pipUrl" : "git+https://github.com/Matatika/[email protected]",
      "repositoryUrl" : "https://github.com/Matatika/tap-google-sheets",
      "capabilities" : [ "STATE", "CATALOG", "DISCOVER" ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ {
        "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",
        "protected" : false
      }, {
        "name" : "oauth_credentials.scope",
        "aliases" : [ ],
        "label" : "OAuth scopes we need to request access to",
        "value" : "https://www.googleapis.com/auth/spreadsheets.readonly https://www.googleapis.com/auth/drive.readonly",
        "kind" : "HIDDEN",
        "protected" : false
      }, {
        "name" : "oauth_credentials.access_token",
        "aliases" : [ ],
        "label" : "Access Token",
        "kind" : "HIDDEN",
        "protected" : false
      }, {
        "name" : "oauth_credentials.refresh_token",
        "aliases" : [ ],
        "label" : "OAuth Refresh Token",
        "kind" : "HIDDEN",
        "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",
        "required" : "false",
        "protected" : false
      }, {
        "name" : "oauth_credentials.refresh_proxy_url_auth",
        "aliases" : [ ],
        "label" : "Optional - Sets Authorization header on 'oauth_credentials.refresh_url' request",
        "kind" : "HIDDEN",
        "required" : "false",
        "protected" : false
      }, {
        "name" : "oauth_credentials.client_id",
        "aliases" : [ ],
        "label" : "Optional - OAuth Client ID used if refresh_proxy_url not supplied",
        "kind" : "HIDDEN",
        "required" : "false",
        "protected" : false
      }, {
        "name" : "oauth_credentials.client_secret",
        "aliases" : [ ],
        "label" : "Optional - OAuth Client Secret used if refresh_proxy_url not supplied",
        "kind" : "HIDDEN",
        "required" : "false",
        "protected" : false
      }, {
        "name" : "sheet_id",
        "aliases" : [ ],
        "label" : "Sheet ID",
        "kind" : "STRING",
        "protected" : false
      } ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/951b5569-0edc-4cbc-bae1-fe70709506ab"
        }
      }
    }, {
      "id" : "41ee7734-ee87-4216-801b-b565eb79a613",
      "type" : "TRANSFORM",
      "name" : "dbt-spotify",
      "namespace" : "tap_spotify",
      "variant" : "spotify",
      "label" : "Dbt Spotify",
      "hidden" : false,
      "pipUrl" : "https://github.com/Matatika/[email protected]",
      "repositoryUrl" : "https://github.com/Matatika/dbt-tap-spotify",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : { },
      "vars" : {
        "schema" : ""
      },
      "settings" : [ ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/41ee7734-ee87-4216-801b-b565eb79a613"
        }
      }
    }, {
      "id" : "6452081f-0370-4396-8312-86fbcba1335e",
      "type" : "LOADER",
      "name" : "target-postgres",
      "namespace" : "postgres",
      "variant" : "meltano",
      "label" : "PostgreSQL",
      "description" : "PostgreSQL Data Warehouse\n\nThe World's Most Advanced Open Source Relational Database\n\n## Settings\n### User\nPostgres user\n### Password\nPostgres password\n### Host\nPostgres host\nExample: `test-host.db.elephantsql.com`\n### Port\nPostgres port\nExample: `5432`\n### Database Name\nPostgres database name\n### URL\n[SQLAlchemy Postgres database URL](https://docs.sqlalchemy.org/en/14/core/engines.html#postgresql) (overrides `user`, `password`, `host`, `port` and `dbname`)\n### Schema\nName of the schema where tables will be created (no database prefix)",
      "imageUrl" : "/assets/images/datastore/target-postgres.png",
      "hidden" : false,
      "documentationUrl" : "https://hub.meltano.com/loaders/postgres--meltano.html",
      "pipUrl" : "git+https://github.com/Matatika/[email protected]",
      "repositoryUrl" : "https://github.com/Matatika/target-postgres",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ {
        "name" : "user",
        "aliases" : [ "username" ],
        "label" : "User",
        "kind" : "STRING",
        "protected" : false
      }, {
        "name" : "password",
        "aliases" : [ ],
        "label" : "Password",
        "kind" : "PASSWORD",
        "protected" : false
      }, {
        "name" : "host",
        "aliases" : [ "address" ],
        "label" : "Host",
        "kind" : "STRING",
        "protected" : false
      }, {
        "name" : "port",
        "aliases" : [ ],
        "label" : "Port",
        "value" : "5432",
        "kind" : "INTEGER",
        "protected" : false
      }, {
        "name" : "dbname",
        "aliases" : [ "database" ],
        "label" : "Database Name",
        "kind" : "STRING",
        "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.",
        "required" : "false",
        "protected" : false
      }, {
        "name" : "schema",
        "aliases" : [ ],
        "label" : "Schema",
        "value" : "analytics",
        "kind" : "STRING",
        "protected" : false
      } ],
      "matatikaHidden" : true,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/6452081f-0370-4396-8312-86fbcba1335e"
        }
      }
    }, {
      "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" : "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" : "88e9837c-26b9-473f-aef0-0eb3e47acaf0",
      "type" : "EXTRACTOR",
      "name" : "tap-trello",
      "namespace" : "tap_trello",
      "variant" : "meltano",
      "label" : "Trello",
      "description" : "Trello is a collaboration tool that organizes your projects into boards.\n\n## Prerequisites\n\n[Trello Prerequisites](https://www.matatika.com/docs/data-sources/tap-trello/prerequisites)\n\n## Data source settings\n\n### Developer API Key\n\nTo get your Developer API Key:\n\n1. Go to this link: [https://trello.com/app-key](https://trello.com/app-key) and log in if needed.\n2. The Developer API Key will be displayed below the title of the page.\n\n### Access Token\n\nTo get your Access Token:\n\n1. Go to this link: [https://trello.com/app-key](https://trello.com/app-key) and log in if needed.\n2. Below the Developer API Key, click the generate a Token link.\n3. You will now be show a screen about what permissions you are granting to your API key. Click allow at the bottom of the page.\n4. You will then be redirected to a page with a token, this is your Access Token.\n\n## Learn more\n\n[Matatika Trello Data Source Documentation](https://www.matatika.com/docs/data-sources/tap-trello)\n\n[Meltano Hub Trello Documentation](https://hub.meltano.com/taps/trello--matatika)",
      "imageUrl" : "/assets/images/datasource/tap-trello.png",
      "hidden" : false,
      "pipUrl" : "git+https://github.com/Matatika/[email protected]",
      "repositoryUrl" : "https://github.com/Matatika/tap-trello",
      "capabilities" : [ "STATE", "CATALOG", "DISCOVER" ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ {
        "name" : "developer_api_key",
        "aliases" : [ ],
        "label" : "Developer API Key",
        "kind" : "PASSWORD",
        "protected" : false
      }, {
        "name" : "access_token",
        "aliases" : [ ],
        "label" : "Access Token",
        "kind" : "PASSWORD",
        "protected" : false
      }, {
        "name" : "start_date",
        "aliases" : [ ],
        "label" : "Start_date",
        "kind" : "STRING",
        "required" : "False",
        "protected" : false
      } ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/88e9837c-26b9-473f-aef0-0eb3e47acaf0"
        }
      }
    }, {
      "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### 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.\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.\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\n[Matatika Google Analytics Data Source Documentation](https://www.matatika.com/docs/data-sources/tap-google-analytics)\n\n[Meltano Hub Google Analytics Documentation](https://hub.meltano.com/extractors/google-analytics)",
      "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/[email protected]",
      "repositoryUrl" : "https://github.com/Matatika/tap-google-analytics",
      "capabilities" : [ "STATE", "CATALOG", "DISCOVER" ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ {
        "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",
        "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",
        "protected" : false
      }, {
        "name" : "oauth_credentials.access_token",
        "aliases" : [ ],
        "label" : "Access Token",
        "kind" : "HIDDEN",
        "protected" : false
      }, {
        "name" : "oauth_credentials.refresh_token",
        "aliases" : [ ],
        "label" : "OAuth Refresh Token",
        "kind" : "HIDDEN",
        "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",
        "required" : "false",
        "protected" : false
      }, {
        "name" : "oauth_credentials.refresh_proxy_url_auth",
        "aliases" : [ ],
        "label" : "Optional - Sets Authorization header on 'oauth_credentials.refresh_url' request",
        "kind" : "HIDDEN",
        "required" : "false",
        "protected" : false
      }, {
        "name" : "oauth_credentials.client_id",
        "aliases" : [ ],
        "label" : "Optional - OAuth Client ID used if refresh_proxy_url not supplied",
        "kind" : "HIDDEN",
        "required" : "false",
        "protected" : false
      }, {
        "name" : "oauth_credentials.client_secret",
        "aliases" : [ ],
        "label" : "Optional - OAuth Client Secret used if refresh_proxy_url not supplied",
        "kind" : "HIDDEN",
        "required" : "false",
        "protected" : false
      }, {
        "name" : "view_id",
        "aliases" : [ ],
        "label" : "View ID",
        "placeholder" : "Ex. 198343027",
        "kind" : "STRING",
        "protected" : false
      }, {
        "name" : "reports",
        "aliases" : [ ],
        "label" : "Reports",
        "placeholder" : "Ex. my_report_definition.json",
        "kind" : "STRING",
        "required" : "false",
        "protected" : false
      }, {
        "name" : "start_date",
        "aliases" : [ ],
        "label" : "Start_date",
        "kind" : "DATE_ISO8601",
        "protected" : false
      }, {
        "name" : "end_date",
        "aliases" : [ ],
        "label" : "End_date",
        "kind" : "DATE_ISO8601",
        "required" : "false",
        "protected" : false
      } ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/4011fed4-14f0-4ebb-a196-8f99c987948d"
        }
      }
    }, {
      "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" : "76424447-36fb-49c6-b594-6cd441cb5964",
      "type" : "FILE",
      "name" : "dbt",
      "namespace" : "dbt",
      "label" : "Dbt",
      "hidden" : false,
      "pipUrl" : "git+https://github.com/Matatika/[email protected]",
      "repositoryUrl" : "https://github.com/Matatika/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" : "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" : "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"
        }
      }
    } ]
  },
  "_links" : {
    "first" : {
      "href" : "https://catalog.matatika.com/api/dataplugins?page=0&size=20"
    },
    "self" : {
      "href" : "https://catalog.matatika.com/api/dataplugins?page=0&size=20"
    },
    "next" : {
      "href" : "https://catalog.matatika.com/api/dataplugins?page=1&size=20"
    },
    "last" : {
      "href" : "https://catalog.matatika.com/api/dataplugins?page=1&size=20"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 31,
    "totalPages" : 2,
    "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: 20
extractors:
loaders:
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-core~=1.0.0
      dbt-postgres~=1.0.0
      dbt-redshift~=1.0.0
      dbt-snowflake~=1.0.0
      dbt-bigquery~=1.0.0
    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://github.com/Matatika/files-dbt
    pip_url: git+https://github.com/Matatika/[email protected]1.0.x.0


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/6ca62d3b-62ee-44d6-9348-42d27cd11166/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/6ca62d3b-62ee-44d6-9348-42d27cd11166/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" : "9a0bfe65-c5b2-4224-84e7-c8191b2d3673",
      "type" : "LOADER",
      "name" : "target-postgres--transferwise",
      "namespace" : "postgres_transferwise",
      "variant" : "transferwise",
      "label" : "PostgreSQL",
      "description" : "PostgreSQL Data Warehouse\n\nThe World's Most Advanced Open Source Relational Database\n\n## Settings\n\n### User\nPostgres user\n\n### Password\nPostgres password\n\n### Host\nPostgres host\nExample: `test-host.db.elephantsql.com`\n\n### Port\nPostgres port\nExample: `5432`\n\n### Database Name\nPostgres database name\n\n### Default Target Schema\nName of the schema where tables will be created (no database prefix)",
      "imageUrl" : "/assets/images/datastore/target-postgres.png",
      "hidden" : false,
      "documentationUrl" : "https://hub.meltano.com/loaders/postgres.html",
      "pipUrl" : "git+https://github.com/Matatika/[email protected]",
      "repositoryUrl" : "https://github.com/transferwise/pipelinewise-target-postgres",
      "executable" : "target-postgres",
      "capabilities" : [ ],
      "select" : [ ],
      "update" : { },
      "vars" : { },
      "settings" : [ {
        "name" : "user",
        "aliases" : [ "username" ],
        "label" : "User",
        "kind" : "STRING",
        "description" : "PostgreSQL user",
        "protected" : false
      }, {
        "name" : "password",
        "aliases" : [ ],
        "label" : "Password",
        "kind" : "PASSWORD",
        "description" : "PostgreSQL password",
        "protected" : false
      }, {
        "name" : "host",
        "aliases" : [ "address" ],
        "label" : "Host",
        "kind" : "STRING",
        "description" : "PostgreSQL host",
        "protected" : false
      }, {
        "name" : "port",
        "aliases" : [ ],
        "label" : "Port",
        "value" : "5432",
        "kind" : "INTEGER",
        "description" : "PostgreSQL port",
        "protected" : false
      }, {
        "name" : "dbname",
        "aliases" : [ "database" ],
        "label" : "Database Name",
        "kind" : "STRING",
        "description" : "PostgreSQL database name",
        "protected" : false
      }, {
        "name" : "default_target_schema",
        "aliases" : [ ],
        "label" : "Default Target Schema",
        "value" : "analytics",
        "kind" : "STRING",
        "description" : "Name of the schema where the tables will be created.",
        "protected" : false
      }, {
        "name" : "ssl",
        "aliases" : [ ],
        "label" : "SSL",
        "value" : "false",
        "kind" : "HIDDEN",
        "valuePostProcessor" : "STRINGIFY",
        "required" : "false",
        "protected" : false
      }, {
        "name" : "batch_size_rows",
        "aliases" : [ ],
        "label" : "Batch Size Rows",
        "value" : "100000",
        "kind" : "INTEGER",
        "description" : "Maximum number of rows in each batch. At the end of each batch, the rows in the batch are loaded into Postgres.",
        "required" : "false",
        "protected" : false
      }, {
        "name" : "underscore_camel_case_fields",
        "aliases" : [ ],
        "label" : "Underscore Camel Case Fields",
        "value" : "true",
        "kind" : "HIDDEN",
        "description" : "Enable underscoring camel case field names, make the resulting postgres column names the same as from the Meltano variant of target-postgres.",
        "required" : "false",
        "protected" : false
      }, {
        "name" : "flush_all_streams",
        "aliases" : [ ],
        "label" : "Flush All Streams",
        "value" : "false",
        "kind" : "HIDDEN",
        "description" : "Flush and load every stream into Postgres when one batch is full. Warning: This may trigger the COPY command to use files with low number of records.",
        "required" : "false",
        "protected" : false
      }, {
        "name" : "parallelism",
        "aliases" : [ ],
        "label" : "Parallelism",
        "value" : "0",
        "kind" : "HIDDEN",
        "description" : "The number of threads used to flush tables. 0 will create a thread for each stream, up to parallelism_max. -1 will create a thread for each CPU core. Any other positive number will create that number of threads, up to parallelism_max.",
        "required" : "false",
        "protected" : false
      }, {
        "name" : "parallelism_max",
        "aliases" : [ ],
        "label" : "Max Parallelism",
        "value" : "16",
        "kind" : "HIDDEN",
        "description" : "Max number of parallel threads to use when flushing tables.",
        "required" : "false",
        "protected" : false
      }, {
        "name" : "default_target_schema_select_permission",
        "aliases" : [ ],
        "label" : "Default Target Schema Select Permission",
        "kind" : "HIDDEN",
        "description" : "Grant USAGE privilege on newly created schemas and grant SELECT privilege on newly created tables to a specific role or a list of roles. If `schema_mapping` is not defined then every stream sent by the tap is granted accordingly.",
        "required" : "false",
        "protected" : false
      }, {
        "name" : "schema_mapping",
        "aliases" : [ ],
        "label" : "Schema Mapping",
        "kind" : "HIDDEN",
        "description" : "Useful if you want to load multiple streams from one tap to multiple Postgres schemas.\n\nIf the tap sends the `stream_id` in `<schema_name>-<table_name>` format then this option overwrites the `default_target_schema` value.\nNote, that using `schema_mapping` you can overwrite the `default_target_schema_select_permission` value to grant SELECT permissions to different groups per schemas or optionally you can create indices automatically for the replicated tables.\n",
        "required" : "false",
        "protected" : false
      }, {
        "name" : "add_metadata_columns",
        "aliases" : [ ],
        "label" : "Add Metadata Columns",
        "value" : "true",
        "kind" : "HIDDEN",
        "description" : "Metadata columns add extra row level information about data ingestions, (i.e. when was the row read in source, when was inserted or deleted in postgres etc.) Metadata columns are creating automatically by adding extra columns to the tables with a column prefix `_SDC_`. The column names are following the stitch naming conventions documented at https://www.stitchdata.com/docs/data-structure/integration-schemas#sdc-columns. Enabling metadata columns will flag the deleted rows by setting the `_SDC_DELETED_AT` metadata column. Without the `add_metadata_columns` option the deleted rows from singer taps will not be recongisable in Postgres.",
        "required" : "false",
        "protected" : false
      }, {
        "name" : "hard_delete",
        "aliases" : [ ],
        "label" : "Hard Delete",
        "value" : "false",
        "kind" : "HIDDEN",
        "description" : "When `hard_delete` option is true then DELETE SQL commands will be performed in Postgres to delete rows in tables. It's achieved by continuously checking the `_SDC_DELETED_AT` metadata column sent by the singer tap. Due to deleting rows requires metadata columns, `hard_delete` option automatically enables the `add_metadata_columns` option as well.",
        "required" : "false",
        "protected" : false
      }, {
        "name" : "data_flattening_max_level",
        "aliases" : [ ],
        "label" : "Data Flattening Max Level",
        "value" : "10",
        "kind" : "HIDDEN",
        "description" : "Object type RECORD items from taps can be transformed to flattened columns by creating columns automatically. When value is 0 (default) then flattening functionality is turned off.",
        "required" : "false",
        "protected" : false
      }, {
        "name" : "primary_key_required",
        "aliases" : [ ],
        "label" : "Primary Key Required",
        "value" : "false",
        "kind" : "BOOLEAN",
        "description" : "Log based and Incremental replications on tables with no Primary Key cause duplicates when merging UPDATE events. When set to true, stop loading data if no Primary Key is defined.",
        "required" : "false",
        "protected" : false
      }, {
        "name" : "validate_records",
        "aliases" : [ ],
        "label" : "Validate Records",
        "value" : "false",
        "kind" : "BOOLEAN",
        "description" : "Validate every single record message to the corresponding JSON schema. This option is disabled by default and invalid RECORD messages will fail only at load time by Postgres. Enabling this option will detect invalid records earlier but could cause performance degradation.",
        "required" : "false",
        "protected" : false
      }, {
        "name" : "temp_dir",
        "aliases" : [ ],
        "label" : "Temporary Directory",
        "kind" : "HIDDEN",
        "description" : "(Default: platform-dependent) Directory of temporary CSV files with RECORD messages.",
        "required" : "false",
        "protected" : false
      } ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/9a0bfe65-c5b2-4224-84e7-c8191b2d3673"
        },
        "update dataplugin" : {
          "href" : "https://catalog.matatika.com/api/workspaces/6ca62d3b-62ee-44d6-9348-42d27cd11166/dataplugins/9a0bfe65-c5b2-4224-84e7-c8191b2d3673",
          "type" : "PUT"
        },
        "delete dataplugin" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/9a0bfe65-c5b2-4224-84e7-c8191b2d3673",
          "type" : "DELETE"
        }
      }
    }, {
      "id" : "bb7d1c3d-82d1-477f-94a3-67755e66ad2e",
      "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" : "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.",
        "protected" : false
      }, {
        "name" : "username",
        "aliases" : [ ],
        "label" : "Username",
        "placeholder" : "username",
        "kind" : "STRING",
        "description" : "The username login credential.",
        "protected" : false
      }, {
        "name" : "email",
        "aliases" : [ ],
        "label" : "Email",
        "placeholder" : "[email protected]",
        "kind" : "EMAIL",
        "description" : "The email login credential.",
        "protected" : false
      } ],
      "matatikaHidden" : false,
      "_links" : {
        "self" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/bb7d1c3d-82d1-477f-94a3-67755e66ad2e"
        },
        "update dataplugin" : {
          "href" : "https://catalog.matatika.com/api/workspaces/6ca62d3b-62ee-44d6-9348-42d27cd11166/dataplugins/bb7d1c3d-82d1-477f-94a3-67755e66ad2e",
          "type" : "PUT"
        },
        "delete dataplugin" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/bb7d1c3d-82d1-477f-94a3-67755e66ad2e",
          "type" : "DELETE"
        }
      }
    }, {
      "id" : "45b90374-6a8a-4e08-9cb5-9f124f51f664",
      "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/45b90374-6a8a-4e08-9cb5-9f124f51f664"
        },
        "update dataplugin" : {
          "href" : "https://catalog.matatika.com/api/workspaces/6ca62d3b-62ee-44d6-9348-42d27cd11166/dataplugins/45b90374-6a8a-4e08-9cb5-9f124f51f664",
          "type" : "PUT"
        },
        "delete dataplugin" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/45b90374-6a8a-4e08-9cb5-9f124f51f664",
          "type" : "DELETE"
        }
      }
    }, {
      "id" : "bedf1dd9-4c72-400b-b98e-949021c6b6ac",
      "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/bedf1dd9-4c72-400b-b98e-949021c6b6ac"
        },
        "update dataplugin" : {
          "href" : "https://catalog.matatika.com/api/workspaces/6ca62d3b-62ee-44d6-9348-42d27cd11166/dataplugins/bedf1dd9-4c72-400b-b98e-949021c6b6ac",
          "type" : "PUT"
        },
        "delete dataplugin" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/bedf1dd9-4c72-400b-b98e-949021c6b6ac",
          "type" : "DELETE"
        }
      }
    }, {
      "id" : "05b961f2-30c0-4578-b194-82176edaaae7",
      "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/05b961f2-30c0-4578-b194-82176edaaae7"
        },
        "update dataplugin" : {
          "href" : "https://catalog.matatika.com/api/workspaces/6ca62d3b-62ee-44d6-9348-42d27cd11166/dataplugins/05b961f2-30c0-4578-b194-82176edaaae7",
          "type" : "PUT"
        },
        "delete dataplugin" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/05b961f2-30c0-4578-b194-82176edaaae7",
          "type" : "DELETE"
        }
      }
    }, {
      "id" : "ff97d5f0-6634-4940-af9c-98c9ea03d879",
      "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/ff97d5f0-6634-4940-af9c-98c9ea03d879"
        },
        "update dataplugin" : {
          "href" : "https://catalog.matatika.com/api/workspaces/6ca62d3b-62ee-44d6-9348-42d27cd11166/dataplugins/ff97d5f0-6634-4940-af9c-98c9ea03d879",
          "type" : "PUT"
        },
        "delete dataplugin" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/ff97d5f0-6634-4940-af9c-98c9ea03d879",
          "type" : "DELETE"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "https://catalog.matatika.com/api/workspaces/6ca62d3b-62ee-44d6-9348-42d27cd11166/dataplugins?page=0&size=20"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 6,
    "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/6ca62d3b-62ee-44d6-9348-42d27cd11166/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/6ca62d3b-62ee-44d6-9348-42d27cd11166/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: 20
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:
  - state
  - catalog
  - discover
  settings:
  - name: tables
    label: Tables
    value: "[{\"path\":\"https://raw.githubusercontent.com/Matatika/matatika-examples/master/example_data\",\"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
  docs: https://meltano.com/plugins/extractors/spreadsheets-anywhere.html
  repo: https://github.com/ets/tap-spreadsheets-anywhere
  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.

    ## Prerequisites

    [Google Ads Prerequisites](https://www.matatika.com/docs/data-sources/tap-googleads/prerequisites)

    ## Data source settings

    ### Customer Id

    Customer Id is the account id of your Google Ads account with the ads campaigns, and therefore data, that will get synced.

    Your Customer Id is usually in the format '111-111-1111' but to make requests to the api we have to remove the dashes.

    ### Start Date

    Providing a start date allows you to set how much historical data you wish to import into you workspace.

    If you do not provide a start date the tap will set a date of one year ago.

    This date has to be in the ISO-8601 date format, see the example below.

    Format: `YYYY-MM-DDTHH:MM:SSZ`

    Example: `2020-10-01T13:12:11Z`

    ### End Date

    Providing a end date allows you to set how much historical data you wish to import into you workspace.

    If you do not provide a end date the tap will sync all data up to the current date.

    This date has to be in the ISO-8601 date format, see the example below.

    Format: `YYYY-MM-DDTHH:MM:SSZ`

    Example: `2020-10-01T13:12:11Z`

    ## Learn more

    [Matatika Google Ads Data Source Documentation](https://www.matatika.com/docs/data-sources/tap-googleads)

    [Meltano Hub Google Ads Documentation](https://hub.meltano.com/taps/googleads)
  hidden: false
  capabilities:
  - state
  - catalog
  - discover
  settings:
  - 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.scope
    label: OAuth scopes we need to request access to
    value: https://www.googleapis.com/auth/adwords
    kind: hidden
    protected: false
  - name: oauth_credentials.access_token
    label: Access Token
    kind: hidden
    protected: false
  - name: oauth_credentials.refresh_token
    label: OAuth Refresh Token
    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
  - name: oauth_credentials.refresh_proxy_url_auth
    label: Sets Authorization header on 'oauth_credentials.refresh_url' request
    kind: hidden
    required: "false"
    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
  - 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: customer_id
    label: Customer Id
    kind: string
    protected: false
  docs: https://www.matatika.com/docs/data-sources/tap-googleads/
  repo: https://github.com/Matatika/tap-googleads
  image_url: /assets/images/datasource/tap-googleads.svg
  pip_url: git+https://github.com/Matatika/[email protected]0.3.1
- name: tap-test
  namespace: tap_test
  label: Tap Test
  hidden: false
  pip_url: tap-test
- name: tap-trello
  namespace: tap_trello
  variant: meltano
  label: Trello
  description: |-
    Trello is a collaboration tool that organizes your projects into boards.

    ## Prerequisites

    [Trello Prerequisites](https://www.matatika.com/docs/data-sources/tap-trello/prerequisites)

    ## Data source settings

    ### Developer API Key

    To get your Developer API Key:

    1. Go to this link: [https://trello.com/app-key](https://trello.com/app-key) and log in if needed.
    2. The Developer API Key will be displayed below the title of the page.

    ### Access Token

    To get your Access Token:

    1. Go to this link: [https://trello.com/app-key](https://trello.com/app-key) and log in if needed.
    2. Below the Developer API Key, click the generate a Token link.
    3. You will now be show a screen about what permissions you are granting to your API key. Click allow at the bottom of the page.
    4. You will then be redirected to a page with a token, this is your Access Token.

    ## Learn more

    [Matatika Trello Data Source Documentation](https://www.matatika.com/docs/data-sources/tap-trello)

    [Meltano Hub Trello Documentation](https://hub.meltano.com/taps/trello--matatika)
  hidden: false
  capabilities:
  - state
  - catalog
  - discover
  settings:
  - name: developer_api_key
    label: Developer API Key
    kind: password
    protected: false
  - name: access_token
    label: Access Token
    kind: password
    protected: false
  - name: start_date
    label: Start_date
    kind: string
    required: "False"
    protected: false
  repo: https://github.com/Matatika/tap-trello
  image_url: /assets/images/datasource/tap-trello.png
  pip_url: git+https://github.com/Matatika/[email protected]0.3.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: 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
  - name: username
    label: Username
    placeholder: username
    kind: string
    description: The username login credential.
    protected: false
  - name: email
    label: Email
    placeholder: [email protected]
    kind: email
    description: The email login credential.
    protected: false
  pip_url: git+https://github.com/Matatika/example-repository
- 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### 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.\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.\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\n[Matatika Google Analytics Data Source Documentation](https://www.matatika.com/docs/data-sources/tap-google-analytics)\n\n[Meltano Hub Google Analytics Documentation](https://hub.meltano.com/extractors/google-analytics)"
  hidden: false
  capabilities:
  - state
  - catalog
  - discover
  settings:
  - 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.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.access_token
    label: Access Token
    kind: hidden
    protected: false
  - name: oauth_credentials.refresh_token
    label: OAuth Refresh Token
    kind: hidden
    protected: false
  - 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
  - name: oauth_credentials.refresh_proxy_url_auth
    label: Optional - Sets Authorization header on 'oauth_credentials.refresh_url' request
    kind: hidden
    required: "false"
    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: view_id
    label: View ID
    placeholder: Ex. 198343027
    kind: string
    protected: false
  - name: reports
    label: Reports
    placeholder: Ex. my_report_definition.json
    kind: string
    required: "false"
    protected: false
  - name: start_date
    label: Start_date
    kind: date_iso8601
    protected: false
  - name: end_date
    label: End_date
    kind: date_iso8601
    required: "false"
    protected: false
  docs: https://www.matatika.com/docs/data-sources/tap-google-analytics/
  repo: https://github.com/Matatika/tap-google-analytics
  image_url: /assets/images/datasource/tap-google-analytics.svg
  pip_url: git+https://github.com/Matatika/[email protected]0.3.0
- name: tap-shopify
  namespace: tap_shopify
  variant: matatika
  label: Shopify
  description: "E-commerce platform for online stores and retail point-of-sale systems.\n\n## Prerequisites\n\nBefore importing data from Shopify, you or your store admin may need to perform some\ninitial setup to grant read access.\n\n[Prerequisites](https://www.matatika.com/docs/data-sources/tap-shopify/prerequisites)\n\n## Settings\n\n### Access Token\n\nThe access token to authenticate with the Shopify API.  See Prerequisites.\n\n\n### Store\n\nShopify store id, use the prefix of your admin url.\n\ne.g. https://<your store id>.myshopify.com/admin\n\n\n### Start Date\n\nProvide a start date to control the amount of historical data. \n\nFormat: `YYYY-MM-DDTHH:MM:SSZ`\nExample: `2020-10-01T13:12:11Z`\n\n\n## Learn more\n\nLearn more about the Shopify data source\n\n[Matatika Shopify Data Source Documentation](https://www.matatika.com/docs/data-sources/tap-shopify)"
  hidden: false
  capabilities:
  - state
  settings:
  - name: access_token
    label: Access Token
    kind: password
    protected: false
  - name: store
    label: Store
    kind: string
    protected: false
  - name: start_date
    label: Start Date
    kind: date_iso8601
    required: "false"
    protected: false
  docs: https://www.matatika.com/docs/data-sources/tap-shopify/
  repo: https://github.com/Matatika/tap-shopify
  image_url: /assets/images/datasource/tap-shopify.png
  pip_url: git+https://github.com/Matatika/tap-shopify
- name: tap-meltano
  namespace: tap_meltano
  label: Meltano
  description: |-
    Meltano is a data pipeline and modular open source data ops platform.

    When you run a Meltano job and you have a `MELTANO_DATABASE_URI` set, data about that job run is stored in that database.

    By using this data import, and providing an existing `MELTANO_DATABASE_URI`, you will get insights on Meltano job runs.

    ## Prerequisites

    [Meltano Prerequisites](https://www.matatika.com/docs/data-sources/tap-meltano/prerequisites)

    ## Data source settings

    ### Meltano Database URI

    Your target Meltano project's database URI. By default, (if left blank), this value will be set to your workspace's Meltano database URI.

    Example database URI: `postgresql://<username>:<password>@<host>:<port>/<database>?options=-csearch_path%3D<schema>`

    ## Learn more

    [Matatika Meltano Data Source Documentation](https://www.matatika.com/docs/data-sources/tap-meltano)

    [Meltano Hub Meltano Documentation](https://hub.meltano.com/taps/meltano)
  hidden: false
  capabilities:
  - state
  - catalog
  - discover
  settings:
  - name: meltano_database_uri
    label: Meltano_database_uri
    value: $MELTANO_DATABASE_URI
    kind: password
    required: "true"
    protected: false
  docs: https://www.matatika.com/docs/data-sources/tap-meltano/
  repo: https://github.com/Matatika/tap-meltano
  image_url: /assets/images/datasource/tap-meltano.png
  pip_url: git+https://github.com/Matatika/[email protected]0.3.0
- name: tap-spotify
  namespace: tap_spotify
  label: Spotify
  description: |-
    Spotify is a digital music streaming service.

    By using this data import you will see insights into your music trends.

    ## Prerequisites

    To get you Spotify credentials you can follow the steps listed in the [Spotify Prerequisites](https://www.matatika.com/docs/data-sources/tap-spotify/prerequisites).

    ## Data source settings

    ### Client ID

    Your Spotify Client ID.

    ### Client Secret

    Your Spotify Client Secret.

    ### Refresh Token

    Your Spotify Client Refresh Token.

    ## Learn more

    [Matatika Spotify Data Source Documentation](https://www.matatika.com/docs/data-sources/tap-spotify)

    [Meltano Hub Spotify Documentation](https://hub.meltano.com/taps/spotify)
  hidden: false
  capabilities:
  - state
  - catalog
  - discover
  settings:
  - name: client_id
    label: Client_id
    kind: password
    required: "true"
    protected: false
  - name: client_secret
    label: Client_secret
    kind: password
    required: "true"
    protected: false
  - name: refresh_token
    label: Refresh_token
    kind: password
    required: "true"
    protected: false
  docs: https://www.matatika.com/docs/data-sources/tap-spotify/
  repo: https://github.com/Matatika/tap-spotify
  image_url: /assets/images/datasource/tap-spotify.png
  pip_url: git+https://github.com/Matatika/[email protected]0.3.0
- name: tap-auth0
  namespace: tap_auth0
  variant: meltano
  label: Auth0
  description: |-
    Auth0 is an identity and access management service, that allows you to manage the access of your users.

    ## Prerequisites

    To find out how to get the required credentials for this data source please go to our documentation: [Auth0 Prerequisites](https://www.matatika.com/docs/data-sources/tap-auth0/prerequisites)

    ## Data source settings

    ### Client ID

    Your Auth0 Machine-to-Machine application client id.

    ### Client Secret

    Your Auth0 Machine-to-Machine application client secret.

    ### Domain

    Your Auth0 tenant domain in the format `<TENANT_NAME>.<REGION_IDENTIFIER>.auth0.com``

    ## Learn more

    [Matatika Auth0 Data Source Documentation](https://www.matatika.com/docs/data-sources/tap-auth0)

    [Meltano Hub Auth0 Documentation](https://hub.meltano.com/taps/auth0)
  hidden: false
  capabilities:
  - state
  - catalog
  - discover
  settings:
  - name: client_id
    label: Client ID
    kind: password
    protected: false
  - name: client_secret
    label: Client Secret
    kind: password
    protected: false
  - name: domain
    label: Domain
    kind: string
    protected: false
  - name: job_poll_interval_ms
    label: Job_poll_interval_ms
    value: 2000
    kind: hidden
    required: "false"
    protected: false
  - name: job_poll_max_count
    label: Job_poll_max_count
    value: 10
    kind: hidden
    required: "false"
    protected: false
  repo: https://github.com/Matatika/tap-auth0
  image_url: /assets/images/datasource/tap-auth0.png
  pip_url: git+https://github.com/Matatika/tap-auth0@v0.3.1
- 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\n[Matatika Solavista Live Data Source Documentation](https://www.matatika.com/docs/data-sources/tap-solarvista)\n\n[Meltano Hub Solarvista Live Documentation](https://hub.meltano.com/taps/solarvista)"
  hidden: false
  capabilities:
  - state
  settings:
  - name: datasources
    label: Datasources
    kind: string
    protected: false
  - name: account
    label: Account
    kind: string
    protected: false
  - name: clientId
    label: Client ID
    kind: string
    protected: false
  - name: code
    label: Code
    kind: password
    protected: false
  - name: start_date
    label: Start Date
    kind: date_iso8601
    protected: false
  docs: https://www.matatika.com/docs/data-sources/tap-solarvista/
  repo: https://github.com/Matatika/tap-solarvista
  image_url: /assets/images/datasource/tap-solarvista.png
  pip_url: git+https://github.com/Matatika/[email protected]0.3.1
- name: tap-google-sheets
  namespace: tap_google_sheets
  variant: meltano
  label: Google Sheets
  description: |-
    Google Sheets is a web-based application that enables users to create, update and modify spreadsheets and share the data online in real time.

    ## Data source settings
    ### Sheet ID

    Once you have connected with your google account, the `Sheet ID` drop down will allow you to choose which sheet you want to get your data from.

    ## Learn more

    [Matatika Google Sheets Data Source Documentation](https://www.matatika.com/docs/data-sources/tap-google-sheets)
  hidden: false
  capabilities:
  - state
  - catalog
  - discover
  settings:
  - 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.scope
    label: OAuth scopes we need to request access to
    value: https://www.googleapis.com/auth/spreadsheets.readonly https://www.googleapis.com/auth/drive.readonly
    kind: hidden
    protected: false
  - name: oauth_credentials.access_token
    label: Access Token
    kind: hidden
    protected: false
  - name: oauth_credentials.refresh_token
    label: OAuth Refresh Token
    kind: hidden
    protected: false
  - 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
  - name: oauth_credentials.refresh_proxy_url_auth
    label: Optional - Sets Authorization header on 'oauth_credentials.refresh_url' request
    kind: hidden
    required: "false"
    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: sheet_id
    label: Sheet ID
    kind: string
    protected: false
  docs: https://www.matatika.com/docs/data-sources/tap-google-sheets/
  repo: https://github.com/Matatika/tap-google-sheets
  image_url: /assets/images/datasource/tap-google-sheets.png
  pip_url: git+https://github.com/Matatika/[email protected]0.1.0
- 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[Meltano Hub Spreadsheets Anywhere Documentation](https://hub.meltano.com/extractors/spreadsheets-anywhere)\n\n[Spreadsheets Anywhere GitHub Documentation](https://github.com/ets/tap-spreadsheets-anywhere/blob/master/README.md)"
  hidden: false
  capabilities:
  - state
  - catalog
  - discover
  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
  docs: https://meltano.com/plugins/extractors/spreadsheets-anywhere.html
  repo: https://github.com/ets/tap-spreadsheets-anywhere
  image_url: /assets/images/datasource/tap-spreadsheets-anywhere.png
  pip_url: git+https://github.com/ets/tap-spreadsheets-anywhere.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 Data Warehouse

    The World's Most Advanced Open Source Relational Database

    ## Settings
    ### User
    Postgres user
    ### Password
    Postgres password
    ### Host
    Postgres host
    Example: `test-host.db.elephantsql.com`
    ### Port
    Postgres port
    Example: `5432`
    ### Database Name
    Postgres database name
    ### URL
    [SQLAlchemy Postgres database URL](https://docs.sqlalchemy.org/en/14/core/engines.html#postgresql) (overrides `user`, `password`, `host`, `port` and `dbname`)
    ### Schema
    Name of the schema where tables will be created (no database prefix)
  hidden: false
  settings:
  - name: user
    aliases:
    - username
    label: User
    kind: string
    protected: false
  - name: password
    label: Password
    kind: password
    protected: false
  - name: host
    aliases:
    - address
    label: Host
    kind: string
    protected: false
  - name: port
    label: Port
    value: 5432
    kind: integer
    protected: false
  - name: dbname
    aliases:
    - database
    label: Database Name
    kind: string
    protected: false
  - 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."
    required: "false"
    protected: false
  - name: schema
    label: Schema
    value: analytics
    kind: string
    protected: false
  docs: https://hub.meltano.com/loaders/postgres--meltano.html
  repo: https://github.com/Matatika/target-postgres
  image_url: /assets/images/datastore/target-postgres.png
  pip_url: git+https://github.com/Matatika/[email protected]0.1.0
- name: target-postgres--transferwise
  namespace: postgres_transferwise
  variant: transferwise
  label: PostgreSQL
  description: |-
    PostgreSQL Data Warehouse

    The World's Most Advanced Open Source Relational Database

    ## Settings

    ### User
    Postgres user

    ### Password
    Postgres password

    ### Host
    Postgres host
    Example: `test-host.db.elephantsql.com`

    ### Port
    Postgres port
    Example: `5432`

    ### Database Name
    Postgres database name

    ### Default Target Schema
    Name of the schema where tables will be created (no database prefix)
  hidden: false
  executable: target-postgres
  settings:
  - name: user
    aliases:
    - username
    label: User
    kind: string
    description: PostgreSQL user
    protected: false
  - name: password
    label: Password
    kind: password
    description: PostgreSQL password
    protected: false
  - name: host
    aliases:
    - address
    label: Host
    kind: string
    description: PostgreSQL host
    protected: false
  - name: port
    label: Port
    value: 5432
    kind: integer
    description: PostgreSQL port
    protected: false
  - name: dbname
    aliases:
    - database
    label: Database Name
    kind: string
    description: PostgreSQL database name
    protected: false
  - name: default_target_schema
    label: Default Target Schema
    value: analytics
    kind: string
    description: Name of the schema where the tables will be created.
    protected: false
  - name: ssl
    label: SSL
    value: "false"
    kind: hidden
    required: "false"
    protected: false
    value_post_processor: stringify
  - name: batch_size_rows
    label: Batch Size Rows
    value: 100000
    kind: integer
    description: "Maximum number of rows in each batch. At the end of each batch, the rows in the batch are loaded into Postgres."
    required: "false"
    protected: false
  - name: underscore_camel_case_fields
    label: Underscore Camel Case Fields
    value: "true"
    kind: hidden
    description: "Enable underscoring camel case field names, make the resulting postgres column names the same as from the Meltano variant of target-postgres."
    required: "false"
    protected: false
  - name: flush_all_streams
    label: Flush All Streams
    value: "false"
    kind: hidden
    description: "Flush and load every stream into Postgres when one batch is full. Warning: This may trigger the COPY command to use files with low number of records."
    required: "false"
    protected: false
  - name: parallelism
    label: Parallelism
    value: 0
    kind: hidden
    description: "The number of threads used to flush tables. 0 will create a thread for each stream, up to parallelism_max. -1 will create a thread for each CPU core. Any other positive number will create that number of threads, up to parallelism_max."
    required: "false"
    protected: false
  - name: parallelism_max
    label: Max Parallelism
    value: 16
    kind: hidden
    description: Max number of parallel threads to use when flushing tables.
    required: "false"
    protected: false
  - name: default_target_schema_select_permission
    label: Default Target Schema Select Permission
    kind: hidden
    description: Grant USAGE privilege on newly created schemas and grant SELECT privilege on newly created tables to a specific role or a list of roles. If `schema_mapping` is not defined then every stream sent by the tap is granted accordingly.
    required: "false"
    protected: false
  - name: schema_mapping
    label: Schema Mapping
    kind: hidden
    description: |
      Useful if you want to load multiple streams from one tap to multiple Postgres schemas.

      If the tap sends the `stream_id` in `<schema_name>-<table_name>` format then this option overwrites the `default_target_schema` value.
      Note, that using `schema_mapping` you can overwrite the `default_target_schema_select_permission` value to grant SELECT permissions to different groups per schemas or optionally you can create indices automatically for the replicated tables.
    required: "false"
    protected: false
  - name: add_metadata_columns
    label: Add Metadata Columns
    value: "true"
    kind: hidden
    description: "Metadata columns add extra row level information about data ingestions, (i.e. when was the row read in source, when was inserted or deleted in postgres etc.) Metadata columns are creating automatically by adding extra columns to the tables with a column prefix `_SDC_`. The column names are following the stitch naming conventions documented at https://www.stitchdata.com/docs/data-structure/integration-schemas#sdc-columns. Enabling metadata columns will flag the deleted rows by setting the `_SDC_DELETED_AT` metadata column. Without the `add_metadata_columns` option the deleted rows from singer taps will not be recongisable in Postgres."
    required: "false"
    protected: false
  - name: hard_delete
    label: Hard Delete
    value: "false"
    kind: hidden
    description: "When `hard_delete` option is true then DELETE SQL commands will be performed in Postgres to delete rows in tables. It's achieved by continuously checking the `_SDC_DELETED_AT` metadata column sent by the singer tap. Due to deleting rows requires metadata columns, `hard_delete` option automatically enables the `add_metadata_columns` option as well."
    required: "false"
    protected: false
  - name: data_flattening_max_level
    label: Data Flattening Max Level
    value: 10
    kind: hidden
    description: Object type RECORD items from taps can be transformed to flattened columns by creating columns automatically. When value is 0 (default) then flattening functionality is turned off.
    required: "false"
    protected: false
  - name: primary_key_required
    label: Primary Key Required
    value: "false"
    kind: boolean
    description: "Log based and Incremental replications on tables with no Primary Key cause duplicates when merging UPDATE events. When set to true, stop loading data if no Primary Key is defined."
    required: "false"
    protected: false
  - name: validate_records
    label: Validate Records
    value: "false"
    kind: boolean
    description: Validate every single record message to the corresponding JSON schema. This option is disabled by default and invalid RECORD messages will fail only at load time by Postgres. Enabling this option will detect invalid records earlier but could cause performance degradation.
    required: "false"
    protected: false
  - name: temp_dir
    label: Temporary Directory
    kind: hidden
    description: "(Default: platform-dependent) Directory of temporary CSV files with RECORD messages."
    required: "false"
    protected: false
  docs: https://hub.meltano.com/loaders/postgres.html
  repo: https://github.com/transferwise/pipelinewise-target-postgres
  image_url: /assets/images/datastore/target-postgres.png
  pip_url: git+https://github.com/Matatika/[email protected]0.1.0
- name: target-snowflake
  namespace: snowflake
  variant: meltano
  label: Snowflake
  description: |-
    Snowflake Data Warehouse

    Accelerate your analytics with the data platform built to enable the modern cloud data warehouse.

    ## Settings
    ### Account
    Snowflake account

    Example: `XC93539`

    ### Username
    Snowflake login username

    ### Password
    Snowflake login password

    ### Role
    Name of the role used for loading data - this role is granted to all created schemas and tables

    Example: `PUBLIC`

    ### Database
    Snowflake database name

    ### Warehouse
    Snowflake virtual warehouse name

    Example: `COMPUTE_WH`

    ### Schema
    Name of the schema where tables will be created (no database prefix)

    ### Batch Size
    Maximum number of rows in each [batch](https://docs.snowflake.com/en/sql-reference/external-functions-best-practices.html#process-one-row-at-a-time)

    ### Timestamp Column
    Name of the column used to store timestamps corresponding to when data was loaded into the table
  hidden: false
  settings:
  - name: account
    label: Account
    kind: string
    description: Account Name in Snowflake (https://XXXXX.snowflakecomputing.com)
    protected: false
  - name: username
    label: Username
    kind: string
    description: The username you use for logging in
    protected: false
  - name: password
    label: Password
    kind: password
    description: The password you use for logging in
    protected: false
  - name: role
    label: Role
    kind: string
    description: "Role to be used for loading the data, e.g. `LOADER`. Also this role is GRANTed usage to all tables and schemas created"
    protected: false
  - name: database
    label: Database
    kind: string
    description: The name of the Snowflake database you want to use
    protected: false
  - name: warehouse
    label: Warehouse
    kind: string
    description: The name of the Snowflake warehouse you want to use
    protected: false
  - name: schema
    label: Schema
    value: analytics
    kind: string
    protected: false
    value_processor: upcase_string
  - name: batch_size
    label: Batch Size
    value: 5000
    kind: integer
    description: How many records are sent to Snowflake at a time?
    protected: false
  - name: timestamp_column
    label: Timestamp Column
    value: __loaded_at
    kind: string
    description: Name of the column used for recording the timestamp when Data are uploaded to Snowflake.
    protected: false
  docs: https://hub.meltano.com/loaders/snowflake--meltano.html
  repo: https://github.com/Matatika/target-snowflake
  image_url: /assets/images/datastore/target-snowflake.png
  pip_url: git+https://github.com/Matatika/[email protected]0.1.1
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.4.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.4.0
- name: dbt-meltano
  namespace: tap_meltano
  variant: meltano
  label: Dbt Meltano
  hidden: false
  vars:
    schema: ""
  repo: https://github.com/Matatika/dbt-tap-meltano
  pip_url: https://github.com/Matatika/[email protected]0.4.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.4.0
- name: dbt-spotify
  namespace: tap_spotify
  variant: spotify
  label: Dbt Spotify
  hidden: false
  vars:
    schema: ""
  repo: https://github.com/Matatika/dbt-tap-spotify
  pip_url: https://github.com/Matatika/[email protected]0.4.0
- name: dbt-tap-trello
  namespace: tap_trello
  label: Dbt Tap Trello
  hidden: false
  vars:
    schema: ""
  pip_url: https://github.com/Matatika/[email protected]0.4.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-core~=1.0.0 dbt-postgres~=1.0.0 dbt-redshift~=1.0.0 dbt-snowflake~=1.0.0 dbt-bigquery~=1.0.0
  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: analyze-trello
  namespace: tap_trello
  label: Analyze Trello
  hidden: false
  update:
    analyze/datasets/tap-trello: "true"
  pip_url: git+https://github.com/Matatika/[email protected]0.4.1
- name: dbt
  namespace: dbt
  label: Dbt
  hidden: false
  update:
    transform/profile/profiles.yml: "true"
  repo: https://github.com/Matatika/files-dbt
  pip_url: git+https://github.com/Matatika/[email protected]1.0.x.0
- 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.4.0
- name: analyze-test
  namespace: analyze_test
  label: Analyze Test
  hidden: false
  pip_url: analyze-test
- name: analyze-auth0
  namespace: tap_auth0
  label: Analyze Auth0
  hidden: false
  update:
    analyze/datasets/tap-auth0: "true"
  pip_url: git+https://github.com/Matatika/analyze-auth0@v0.4.1
- 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.4.1
- name: analyze-spotify
  namespace: tap_spotify
  label: Analyze Spotify
  hidden: false
  update:
    analyze/datasets/tap-spotify: "true"
  repo: https://github.com/Matatika/analyze-spotify
  pip_url: git+https://github.com/Matatika/[email protected]0.4.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.4.1
- name: analyze-shopify
  namespace: tap_shopify
  label: Analyze Shopify
  hidden: false
  update:
    analyze/datasets: "true"
  repo: https://github.com/Matatika/analyze-shopify
  pip_url: git+https://github.com/Matatika/analyze-shopify
- name: analyze-meltano
  namespace: tap_meltano
  label: Analyze Meltano
  hidden: false
  update:
    analyze/datasets/tap-meltano: "true"
  repo: https://github.com/Matatika/analyze-meltano
  pip_url: git+https://github.com/Matatika/[email protected]0.4.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/9a0bfe65-c5b2-4224-84e7-c8191b2d3673' -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/9a0bfe65-c5b2-4224-84e7-c8191b2d3673"

headers = {
  'Authorization': ACCESS_TOKEN
}

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

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

Response

200 OK

Dataplugin with HAL links.

{
  "id" : "9a0bfe65-c5b2-4224-84e7-c8191b2d3673",
  "type" : "LOADER",
  "name" : "target-postgres--transferwise",
  "namespace" : "postgres_transferwise",
  "variant" : "transferwise",
  "label" : "PostgreSQL",
  "description" : "PostgreSQL Data Warehouse\n\nThe World's Most Advanced Open Source Relational Database\n\n## Settings\n\n### User\nPostgres user\n\n### Password\nPostgres password\n\n### Host\nPostgres host\nExample: `test-host.db.elephantsql.com`\n\n### Port\nPostgres port\nExample: `5432`\n\n### Database Name\nPostgres database name\n\n### Default Target Schema\nName of the schema where tables will be created (no database prefix)",
  "imageUrl" : "/assets/images/datastore/target-postgres.png",
  "hidden" : false,
  "documentationUrl" : "https://hub.meltano.com/loaders/postgres.html",
  "pipUrl" : "git+https://github.com/Matatika/[email protected]",
  "repositoryUrl" : "https://github.com/transferwise/pipelinewise-target-postgres",
  "executable" : "target-postgres",
  "capabilities" : [ ],
  "select" : [ ],
  "update" : { },
  "vars" : { },
  "settings" : [ {
    "name" : "user",
    "aliases" : [ "username" ],
    "label" : "User",
    "kind" : "STRING",
    "description" : "PostgreSQL user",
    "protected" : false
  }, {
    "name" : "password",
    "aliases" : [ ],
    "label" : "Password",
    "kind" : "PASSWORD",
    "description" : "PostgreSQL password",
    "protected" : false
  }, {
    "name" : "host",
    "aliases" : [ "address" ],
    "label" : "Host",
    "kind" : "STRING",
    "description" : "PostgreSQL host",
    "protected" : false
  }, {
    "name" : "port",
    "aliases" : [ ],
    "label" : "Port",
    "value" : "5432",
    "kind" : "INTEGER",
    "description" : "PostgreSQL port",
    "protected" : false
  }, {
    "name" : "dbname",
    "aliases" : [ "database" ],
    "label" : "Database Name",
    "kind" : "STRING",
    "description" : "PostgreSQL database name",
    "protected" : false
  }, {
    "name" : "default_target_schema",
    "aliases" : [ ],
    "label" : "Default Target Schema",
    "value" : "analytics",
    "kind" : "STRING",
    "description" : "Name of the schema where the tables will be created.",
    "protected" : false
  }, {
    "name" : "ssl",
    "aliases" : [ ],
    "label" : "SSL",
    "value" : "false",
    "kind" : "HIDDEN",
    "valuePostProcessor" : "STRINGIFY",
    "required" : "false",
    "protected" : false
  }, {
    "name" : "batch_size_rows",
    "aliases" : [ ],
    "label" : "Batch Size Rows",
    "value" : "100000",
    "kind" : "INTEGER",
    "description" : "Maximum number of rows in each batch. At the end of each batch, the rows in the batch are loaded into Postgres.",
    "required" : "false",
    "protected" : false
  }, {
    "name" : "underscore_camel_case_fields",
    "aliases" : [ ],
    "label" : "Underscore Camel Case Fields",
    "value" : "true",
    "kind" : "HIDDEN",
    "description" : "Enable underscoring camel case field names, make the resulting postgres column names the same as from the Meltano variant of target-postgres.",
    "required" : "false",
    "protected" : false
  }, {
    "name" : "flush_all_streams",
    "aliases" : [ ],
    "label" : "Flush All Streams",
    "value" : "false",
    "kind" : "HIDDEN",
    "description" : "Flush and load every stream into Postgres when one batch is full. Warning: This may trigger the COPY command to use files with low number of records.",
    "required" : "false",
    "protected" : false
  }, {
    "name" : "parallelism",
    "aliases" : [ ],
    "label" : "Parallelism",
    "value" : "0",
    "kind" : "HIDDEN",
    "description" : "The number of threads used to flush tables. 0 will create a thread for each stream, up to parallelism_max. -1 will create a thread for each CPU core. Any other positive number will create that number of threads, up to parallelism_max.",
    "required" : "false",
    "protected" : false
  }, {
    "name" : "parallelism_max",
    "aliases" : [ ],
    "label" : "Max Parallelism",
    "value" : "16",
    "kind" : "HIDDEN",
    "description" : "Max number of parallel threads to use when flushing tables.",
    "required" : "false",
    "protected" : false
  }, {
    "name" : "default_target_schema_select_permission",
    "aliases" : [ ],
    "label" : "Default Target Schema Select Permission",
    "kind" : "HIDDEN",
    "description" : "Grant USAGE privilege on newly created schemas and grant SELECT privilege on newly created tables to a specific role or a list of roles. If `schema_mapping` is not defined then every stream sent by the tap is granted accordingly.",
    "required" : "false",
    "protected" : false
  }, {
    "name" : "schema_mapping",
    "aliases" : [ ],
    "label" : "Schema Mapping",
    "kind" : "HIDDEN",
    "description" : "Useful if you want to load multiple streams from one tap to multiple Postgres schemas.\n\nIf the tap sends the `stream_id` in `<schema_name>-<table_name>` format then this option overwrites the `default_target_schema` value.\nNote, that using `schema_mapping` you can overwrite the `default_target_schema_select_permission` value to grant SELECT permissions to different groups per schemas or optionally you can create indices automatically for the replicated tables.\n",
    "required" : "false",
    "protected" : false
  }, {
    "name" : "add_metadata_columns",
    "aliases" : [ ],
    "label" : "Add Metadata Columns",
    "value" : "true",
    "kind" : "HIDDEN",
    "description" : "Metadata columns add extra row level information about data ingestions, (i.e. when was the row read in source, when was inserted or deleted in postgres etc.) Metadata columns are creating automatically by adding extra columns to the tables with a column prefix `_SDC_`. The column names are following the stitch naming conventions documented at https://www.stitchdata.com/docs/data-structure/integration-schemas#sdc-columns. Enabling metadata columns will flag the deleted rows by setting the `_SDC_DELETED_AT` metadata column. Without the `add_metadata_columns` option the deleted rows from singer taps will not be recongisable in Postgres.",
    "required" : "false",
    "protected" : false
  }, {
    "name" : "hard_delete",
    "aliases" : [ ],
    "label" : "Hard Delete",
    "value" : "false",
    "kind" : "HIDDEN",
    "description" : "When `hard_delete` option is true then DELETE SQL commands will be performed in Postgres to delete rows in tables. It's achieved by continuously checking the `_SDC_DELETED_AT` metadata column sent by the singer tap. Due to deleting rows requires metadata columns, `hard_delete` option automatically enables the `add_metadata_columns` option as well.",
    "required" : "false",
    "protected" : false
  }, {
    "name" : "data_flattening_max_level",
    "aliases" : [ ],
    "label" : "Data Flattening Max Level",
    "value" : "10",
    "kind" : "HIDDEN",
    "description" : "Object type RECORD items from taps can be transformed to flattened columns by creating columns automatically. When value is 0 (default) then flattening functionality is turned off.",
    "required" : "false",
    "protected" : false
  }, {
    "name" : "primary_key_required",
    "aliases" : [ ],
    "label" : "Primary Key Required",
    "value" : "false",
    "kind" : "BOOLEAN",
    "description" : "Log based and Incremental replications on tables with no Primary Key cause duplicates when merging UPDATE events. When set to true, stop loading data if no Primary Key is defined.",
    "required" : "false",
    "protected" : false
  }, {
    "name" : "validate_records",
    "aliases" : [ ],
    "label" : "Validate Records",
    "value" : "false",
    "kind" : "BOOLEAN",
    "description" : "Validate every single record message to the corresponding JSON schema. This option is disabled by default and invalid RECORD messages will fail only at load time by Postgres. Enabling this option will detect invalid records earlier but could cause performance degradation.",
    "required" : "false",
    "protected" : false
  }, {
    "name" : "temp_dir",
    "aliases" : [ ],
    "label" : "Temporary Directory",
    "kind" : "HIDDEN",
    "description" : "(Default: platform-dependent) Directory of temporary CSV files with RECORD messages.",
    "required" : "false",
    "protected" : false
  } ],
  "matatikaHidden" : false,
  "_links" : {
    "self" : {
      "href" : "https://catalog.matatika.com/api/dataplugins/9a0bfe65-c5b2-4224-84e7-c8191b2d3673"
    },
    "update dataplugin" : {
      "href" : "https://catalog.matatika.com/api/workspaces/6ca62d3b-62ee-44d6-9348-42d27cd11166/dataplugins/9a0bfe65-c5b2-4224-84e7-c8191b2d3673",
      "type" : "PUT"
    },
    "delete dataplugin" : {
      "href" : "https://catalog.matatika.com/api/dataplugins/9a0bfe65-c5b2-4224-84e7-c8191b2d3673",
      "type" : "DELETE"
    }
  }
}

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/6ca62d3b-62ee-44d6-9348-42d27cd11166/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/6ca62d3b-62ee-44d6-9348-42d27cd11166/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" : "bb7d1c3d-82d1-477f-94a3-67755e66ad2e",
  "hidden" : false,
  "capabilities" : [ ],
  "select" : [ ],
  "update" : { },
  "vars" : { },
  "settings" : [ ],
  "matatikaHidden" : false,
  "_links" : {
    "self" : {
      "href" : "https://catalog.matatika.com/api/dataplugins/bb7d1c3d-82d1-477f-94a3-67755e66ad2e"
    },
    "create dataplugin" : {
      "href" : "https://catalog.matatika.com/api/workspaces/6ca62d3b-62ee-44d6-9348-42d27cd11166/dataplugins/bb7d1c3d-82d1-477f-94a3-67755e66ad2e",
      "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/6ca62d3b-62ee-44d6-9348-42d27cd11166/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/6ca62d3b-62ee-44d6-9348-42d27cd11166/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" : "45b90374-6a8a-4e08-9cb5-9f124f51f664",
      "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/45b90374-6a8a-4e08-9cb5-9f124f51f664"
        },
        "update dataplugin" : {
          "href" : "https://catalog.matatika.com/api/workspaces/6ca62d3b-62ee-44d6-9348-42d27cd11166/dataplugins/45b90374-6a8a-4e08-9cb5-9f124f51f664",
          "type" : "PUT"
        },
        "delete dataplugin" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/45b90374-6a8a-4e08-9cb5-9f124f51f664",
          "type" : "DELETE"
        }
      }
    }, {
      "id" : "ff97d5f0-6634-4940-af9c-98c9ea03d879",
      "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/ff97d5f0-6634-4940-af9c-98c9ea03d879"
        },
        "update dataplugin" : {
          "href" : "https://catalog.matatika.com/api/workspaces/6ca62d3b-62ee-44d6-9348-42d27cd11166/dataplugins/ff97d5f0-6634-4940-af9c-98c9ea03d879",
          "type" : "PUT"
        },
        "delete dataplugin" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/ff97d5f0-6634-4940-af9c-98c9ea03d879",
          "type" : "DELETE"
        }
      }
    }, {
      "id" : "05b961f2-30c0-4578-b194-82176edaaae7",
      "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/05b961f2-30c0-4578-b194-82176edaaae7"
        },
        "update dataplugin" : {
          "href" : "https://catalog.matatika.com/api/workspaces/6ca62d3b-62ee-44d6-9348-42d27cd11166/dataplugins/05b961f2-30c0-4578-b194-82176edaaae7",
          "type" : "PUT"
        },
        "delete dataplugin" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/05b961f2-30c0-4578-b194-82176edaaae7",
          "type" : "DELETE"
        }
      }
    }, {
      "id" : "bedf1dd9-4c72-400b-b98e-949021c6b6ac",
      "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/bedf1dd9-4c72-400b-b98e-949021c6b6ac"
        },
        "update dataplugin" : {
          "href" : "https://catalog.matatika.com/api/workspaces/6ca62d3b-62ee-44d6-9348-42d27cd11166/dataplugins/bedf1dd9-4c72-400b-b98e-949021c6b6ac",
          "type" : "PUT"
        },
        "delete dataplugin" : {
          "href" : "https://catalog.matatika.com/api/dataplugins/bedf1dd9-4c72-400b-b98e-949021c6b6ac",
          "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/6ca62d3b-62ee-44d6-9348-42d27cd11166/dataplugins/bb7d1c3d-82d1-477f-94a3-67755e66ad2e' -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/6ca62d3b-62ee-44d6-9348-42d27cd11166/dataplugins/bb7d1c3d-82d1-477f-94a3-67755e66ad2e"

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" : "bb7d1c3d-82d1-477f-94a3-67755e66ad2e",
  "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" : "username",
    "aliases" : [ ],
    "label" : "Username",
    "placeholder" : "username",
    "kind" : "STRING",
    "description" : "The username login credential.",
    "protected" : false
  }, {
    "name" : "email",
    "aliases" : [ ],
    "label" : "Email",
    "placeholder" : "[email protected]",
    "kind" : "EMAIL",
    "description" : "The email login credential.",
    "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.",
    "protected" : false
  } ],
  "matatikaHidden" : false,
  "_links" : {
    "self" : {
      "href" : "https://catalog.matatika.com/api/dataplugins/bb7d1c3d-82d1-477f-94a3-67755e66ad2e"
    },
    "update dataplugin" : {
      "href" : "https://catalog.matatika.com/api/workspaces/6ca62d3b-62ee-44d6-9348-42d27cd11166/dataplugins/bb7d1c3d-82d1-477f-94a3-67755e66ad2e",
      "type" : "PUT"
    },
    "delete dataplugin" : {
      "href" : "https://catalog.matatika.com/api/dataplugins/bb7d1c3d-82d1-477f-94a3-67755e66ad2e",
      "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/6ca62d3b-62ee-44d6-9348-42d27cd11166/dataplugins/bb7d1c3d-82d1-477f-94a3-67755e66ad2e' -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/6ca62d3b-62ee-44d6-9348-42d27cd11166/dataplugins/bb7d1c3d-82d1-477f-94a3-67755e66ad2e"

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" : "bb7d1c3d-82d1-477f-94a3-67755e66ad2e",
  "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" : "username",
    "aliases" : [ ],
    "label" : "Username",
    "placeholder" : "username",
    "kind" : "STRING",
    "description" : "The username login credential.",
    "protected" : false
  }, {
    "name" : "email",
    "aliases" : [ ],
    "label" : "Email",
    "placeholder" : "[email protected]",
    "kind" : "EMAIL",
    "description" : "The email login credential.",
    "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.",
    "protected" : false
  } ],
  "matatikaHidden" : false,
  "_links" : {
    "self" : {
      "href" : "https://catalog.matatika.com/api/dataplugins/bb7d1c3d-82d1-477f-94a3-67755e66ad2e"
    },
    "update dataplugin" : {
      "href" : "https://catalog.matatika.com/api/workspaces/6ca62d3b-62ee-44d6-9348-42d27cd11166/dataplugins/bb7d1c3d-82d1-477f-94a3-67755e66ad2e",
      "type" : "PUT"
    },
    "delete dataplugin" : {
      "href" : "https://catalog.matatika.com/api/dataplugins/bb7d1c3d-82d1-477f-94a3-67755e66ad2e",
      "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/bb7d1c3d-82d1-477f-94a3-67755e66ad2e' -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/bb7d1c3d-82d1-477f-94a3-67755e66ad2e"

headers = {
  'Authorization': ACCESS_TOKEN
}

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

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

Response

204 No Content

No response body provided.