Search
Datasets can be searched for within their containing workspace. Searches can filter datasets by arbitrary text, channel name, or tag name.
See here for more information on constructing a search filter query.
Requests
- Search for datasets in a workspace by free text
- Search for datasets in a workspace by channel name
- Search for datasets in a workspace by tag name
- Search for datasets in a workspace using msearch
Search for datasets in a workspace by free text
GET
/api/workspaces/{workspaces-id}/search?q={free-text}
Searches the workspace {workspace-id}
for datasets by the free text {free-text}
.
Prerequisites
- Workspace
{workspace-id}
must exist
Request
Example Snippets
cURL
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://app.matatika.com/api/workspaces/838f7b8e-d817-4fa6-93cc-32c447fcdc51/search?q=data%20warehouse' -i -X GET \
-H 'Accept: application/json, application/javascript, text/javascript, text/json' \
-H 'Content-Type: application/json'
Python (requests
)
import requests
url = "https://app.matatika.com/api/workspaces/838f7b8e-d817-4fa6-93cc-32c447fcdc51/search?q=data%20warehouse"
headers = {
'Authorization': ACCESS_TOKEN
}
response = requests.request("GET", url, headers=headers)
print(response.text.encode('utf8'))
Response
200 OK
{
"_embedded" : {
"datasets" : [ {
"id" : "9a0fee4e-e1f0-45cf-8a25-c8d9785ca311",
"published" : "2025-01-17T16:56:53.127634",
"alias" : "analytics-tables",
"workspaceId" : "838f7b8e-d817-4fa6-93cc-32c447fcdc51",
"source" : "no-picture",
"title" : "What tables are in our #fantastic data warehouse?",
"description" : "# Overview\nThis example is a standalone data set with no visualisation.\n\n## What tables are in my data warehouse\nOur query in this dataset selects all the tables in the same schema we have configured the workspace to use.\n```SHOW TABLES```\n\n## Notes\nThe query is database specific. The #postgres query is\n\n```SELECT * FROM pg_tables where schemaname = 'fxleuzy'```",
"visualisation" : "{\"google-chart\": {\"chartType\": \"Table\", \"options\": {\"title\": \"Tables\"}}}",
"metadata" : " { \"name\":\"table_model\", \"label\":\"Analytics Tables\", \"related_table\":{ \"columns\":[ { \"name\":\"schemaname\", \"label\":\"Schema Name\" } ] } }",
"query" : "SELECT schemaname \"table_model.schemaname\",tablename \"table_model.tablename\",tableowner \"table_model.tableowner\"FROM pg_tables where schemaname = 'fxleuzy'",
"likeCount" : 0,
"likedByProfiles" : [ ],
"commentCount" : 0,
"viewCount" : 0,
"created" : "2025-01-17T16:56:53.127634",
"score" : 20.608868,
"_links" : {
"self" : {
"href" : "https://app.matatika.com/api/datasets/9a0fee4e-e1f0-45cf-8a25-c8d9785ca311"
},
"delete dataset" : {
"href" : "https://app.matatika.com/api/datasets/9a0fee4e-e1f0-45cf-8a25-c8d9785ca311",
"type" : "DELETE"
},
"edit dataset" : {
"href" : "https://app.matatika.com/api/datasets/9a0fee4e-e1f0-45cf-8a25-c8d9785ca311",
"type" : "PATCH"
},
"data" : {
"href" : "https://app.matatika.com/api/datasets/9a0fee4e-e1f0-45cf-8a25-c8d9785ca311/data",
"type" : "GET"
},
"source" : {
"href" : "https://app.matatika.com/api/channels/31835913-885b-4370-aef9-b32eebbc57b4",
"type" : "GET"
},
"new comment" : {
"href" : "https://app.matatika.com/api/datasets/9a0fee4e-e1f0-45cf-8a25-c8d9785ca311/comments",
"type" : "POST"
},
"add like" : {
"href" : "https://app.matatika.com/api/datasets/9a0fee4e-e1f0-45cf-8a25-c8d9785ca311/like",
"type" : "PUT"
},
"add view" : {
"href" : "https://app.matatika.com/api/datasets/9a0fee4e-e1f0-45cf-8a25-c8d9785ca311/view",
"type" : "PUT"
},
"new alert" : {
"href" : "https://app.matatika.com/api/datasets/9a0fee4e-e1f0-45cf-8a25-c8d9785ca311/alerts"
},
"add subscription" : {
"href" : "https://app.matatika.com/api/datasets/9a0fee4e-e1f0-45cf-8a25-c8d9785ca311/subscriptions"
},
"new message" : {
"href" : "https://app.matatika.com/api/datasets/9a0fee4e-e1f0-45cf-8a25-c8d9785ca311/messages"
}
},
"_embedded" : {
"source" : {
"name" : "no-picture",
"description" : "No picture",
"picture" : "https://s.gravatar.com/avatar/8f4ad8fa0793181b761d030196e62053?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fsu.png"
}
}
} ]
},
"_links" : {
"self" : {
"href" : "https://app.matatika.com/api/workspaces/838f7b8e-d817-4fa6-93cc-32c447fcdc51/search?q=data%20warehouse&page=0&size=20"
}
},
"page" : {
"size" : 20,
"totalElements" : 1,
"totalPages" : 1,
"number" : 0
}
}
204 No Content
No response body provided.
Search for datasets in a workspace by channel name
GET
/api/workspaces/{workspaces-id}/search?q=in:{channel-name}
Searches the workspace {workspace-id}
for datasets by the channel {channel-name}
.
Prerequisites
- Workspace
{workspace-id}
must exist
Request
Example Snippets
cURL
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://app.matatika.com/api/workspaces/838f7b8e-d817-4fa6-93cc-32c447fcdc51/search?q=in%3Amatatika-limited%20' -i -X GET \
-H 'Accept: application/json, application/javascript, text/javascript, text/json' \
-H 'Content-Type: application/json'
Python (requests
)
import requests
url = "https://app.matatika.com/api/workspaces/838f7b8e-d817-4fa6-93cc-32c447fcdc51/search?q=in%3Amatatika-limited%20"
headers = {
'Authorization': ACCESS_TOKEN
}
response = requests.request("GET", url, headers=headers)
print(response.text.encode('utf8'))
Response
200 OK
Dataset collection with HAL links.
{
"_embedded" : {
"datasets" : [ {
"id" : "3565058b-2bc9-4f72-bce4-068c5dd2f0f8",
"published" : "2025-01-17T16:56:53.128287",
"alias" : "simple-bar-chart",
"workspaceId" : "838f7b8e-d817-4fa6-93cc-32c447fcdc51",
"source" : "matatika-limited",
"title" : "How many people have visited our website?",
"description" : "# Some Markdown\n- point 1\n- point 2\n- point 3\n",
"questions" : "[''This is my question'', ''this is second question'']",
"visualisation" : "{\"google-chart\": {\"chartType\": \"BarChart\",\"options\": {\"title\": \"Website visitors\"}}}",
"query" : "SELECT to_char(date(report_date),'YYYYMM') as year_month, SUM(sessions) \n FROM\n \"google_analytics_website_overview\"\n WHERE\n \"google_analytics_website_overview\".\"report_date\" >= DATE(NOW()) - INTERVAL '365 DAY'\n GROUP BY year_month\n ORDER BY year_month ASC;",
"likeCount" : 0,
"likedByProfiles" : [ ],
"commentCount" : 0,
"viewCount" : 0,
"created" : "2025-01-17T16:56:53.128287",
"score" : 19.091738,
"_links" : {
"self" : {
"href" : "https://app.matatika.com/api/datasets/3565058b-2bc9-4f72-bce4-068c5dd2f0f8"
},
"delete dataset" : {
"href" : "https://app.matatika.com/api/datasets/3565058b-2bc9-4f72-bce4-068c5dd2f0f8",
"type" : "DELETE"
},
"edit dataset" : {
"href" : "https://app.matatika.com/api/datasets/3565058b-2bc9-4f72-bce4-068c5dd2f0f8",
"type" : "PATCH"
},
"data" : {
"href" : "https://app.matatika.com/api/datasets/3565058b-2bc9-4f72-bce4-068c5dd2f0f8/data",
"type" : "GET"
},
"source" : {
"href" : "https://app.matatika.com/api/channels/6a960818-ac59-453e-a3e7-b34944d8917e",
"type" : "GET"
},
"new comment" : {
"href" : "https://app.matatika.com/api/datasets/3565058b-2bc9-4f72-bce4-068c5dd2f0f8/comments",
"type" : "POST"
},
"add like" : {
"href" : "https://app.matatika.com/api/datasets/3565058b-2bc9-4f72-bce4-068c5dd2f0f8/like",
"type" : "PUT"
},
"add view" : {
"href" : "https://app.matatika.com/api/datasets/3565058b-2bc9-4f72-bce4-068c5dd2f0f8/view",
"type" : "PUT"
},
"new alert" : {
"href" : "https://app.matatika.com/api/datasets/3565058b-2bc9-4f72-bce4-068c5dd2f0f8/alerts"
},
"add subscription" : {
"href" : "https://app.matatika.com/api/datasets/3565058b-2bc9-4f72-bce4-068c5dd2f0f8/subscriptions"
},
"new message" : {
"href" : "https://app.matatika.com/api/datasets/3565058b-2bc9-4f72-bce4-068c5dd2f0f8/messages"
}
},
"_embedded" : {
"source" : {
"name" : "matatika-limited",
"description" : "Matatika Limited",
"picture" : "https://cdn.auth0.com/avatars/ml.png?ssl=1"
}
}
} ]
},
"_links" : {
"self" : {
"href" : "https://app.matatika.com/api/workspaces/838f7b8e-d817-4fa6-93cc-32c447fcdc51/search?q=in%3Amatatika-limited%20&page=0&size=20"
}
},
"page" : {
"size" : 20,
"totalElements" : 1,
"totalPages" : 1,
"number" : 0
}
}
204 No Content
No response body provided.
Search for datasets in a workspace by tag name
GET
/api/workspaces/{workspace-id}/search?q=tag:{tag-name}
Searches the workspace {workspace-id}
for datasets by the tag {tag-name}
.
Prerequisites
- Workspace
{workspace-id}
must exist
Request
Example Snippets
cURL
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://app.matatika.com/api/workspaces/838f7b8e-d817-4fa6-93cc-32c447fcdc51/search?q=tag%3Apostgres' -i -X GET \
-H 'Accept: application/json, application/javascript, text/javascript, text/json' \
-H 'Content-Type: application/json'
Python (requests
)
import requests
url = "https://app.matatika.com/api/workspaces/838f7b8e-d817-4fa6-93cc-32c447fcdc51/search?q=tag%3Apostgres"
headers = {
'Authorization': ACCESS_TOKEN
}
response = requests.request("GET", url, headers=headers)
print(response.text.encode('utf8'))
Response
200 OK
{
"_embedded" : {
"datasets" : [ {
"id" : "9a0fee4e-e1f0-45cf-8a25-c8d9785ca311",
"published" : "2025-01-17T16:56:53.127634",
"alias" : "analytics-tables",
"workspaceId" : "838f7b8e-d817-4fa6-93cc-32c447fcdc51",
"source" : "no-picture",
"title" : "What tables are in our #fantastic data warehouse?",
"description" : "# Overview\nThis example is a standalone data set with no visualisation.\n\n## What tables are in my data warehouse\nOur query in this dataset selects all the tables in the same schema we have configured the workspace to use.\n```SHOW TABLES```\n\n## Notes\nThe query is database specific. The #postgres query is\n\n```SELECT * FROM pg_tables where schemaname = 'fxleuzy'```",
"visualisation" : "{\"google-chart\": {\"chartType\": \"Table\", \"options\": {\"title\": \"Tables\"}}}",
"metadata" : " { \"name\":\"table_model\", \"label\":\"Analytics Tables\", \"related_table\":{ \"columns\":[ { \"name\":\"schemaname\", \"label\":\"Schema Name\" } ] } }",
"query" : "SELECT schemaname \"table_model.schemaname\",tablename \"table_model.tablename\",tableowner \"table_model.tableowner\"FROM pg_tables where schemaname = 'fxleuzy'",
"likeCount" : 0,
"likedByProfiles" : [ ],
"commentCount" : 0,
"viewCount" : 0,
"created" : "2025-01-17T16:56:53.127634",
"score" : 9.545869,
"_links" : {
"self" : {
"href" : "https://app.matatika.com/api/datasets/9a0fee4e-e1f0-45cf-8a25-c8d9785ca311"
},
"delete dataset" : {
"href" : "https://app.matatika.com/api/datasets/9a0fee4e-e1f0-45cf-8a25-c8d9785ca311",
"type" : "DELETE"
},
"edit dataset" : {
"href" : "https://app.matatika.com/api/datasets/9a0fee4e-e1f0-45cf-8a25-c8d9785ca311",
"type" : "PATCH"
},
"data" : {
"href" : "https://app.matatika.com/api/datasets/9a0fee4e-e1f0-45cf-8a25-c8d9785ca311/data",
"type" : "GET"
},
"source" : {
"href" : "https://app.matatika.com/api/channels/614e5a6d-9476-487d-a9de-5eb410778318",
"type" : "GET"
},
"new comment" : {
"href" : "https://app.matatika.com/api/datasets/9a0fee4e-e1f0-45cf-8a25-c8d9785ca311/comments",
"type" : "POST"
},
"add like" : {
"href" : "https://app.matatika.com/api/datasets/9a0fee4e-e1f0-45cf-8a25-c8d9785ca311/like",
"type" : "PUT"
},
"add view" : {
"href" : "https://app.matatika.com/api/datasets/9a0fee4e-e1f0-45cf-8a25-c8d9785ca311/view",
"type" : "PUT"
},
"new alert" : {
"href" : "https://app.matatika.com/api/datasets/9a0fee4e-e1f0-45cf-8a25-c8d9785ca311/alerts"
},
"add subscription" : {
"href" : "https://app.matatika.com/api/datasets/9a0fee4e-e1f0-45cf-8a25-c8d9785ca311/subscriptions"
},
"new message" : {
"href" : "https://app.matatika.com/api/datasets/9a0fee4e-e1f0-45cf-8a25-c8d9785ca311/messages"
}
},
"_embedded" : {
"source" : {
"name" : "no-picture",
"description" : "No picture",
"picture" : "https://s.gravatar.com/avatar/8f4ad8fa0793181b761d030196e62053?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fsu.png"
}
}
} ]
},
"_links" : {
"self" : {
"href" : "https://app.matatika.com/api/workspaces/838f7b8e-d817-4fa6-93cc-32c447fcdc51/search?q=tag%3Apostgres&page=0&size=20"
}
},
"page" : {
"size" : 20,
"totalElements" : 1,
"totalPages" : 1,
"number" : 0
}
}
204 No Content
No response body provided.
Search for datasets in a workspace using msearch
POST
/api/workspaces/{workspace-id}/datasets/_msearch
Searches the workspace {workspace-id}
for datasets using an elastic search query.
Prerequisites
- Workspace
{workspace-id}
must exist
Request
Example Snippets
cURL
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://app.matatika.com/api/workspaces/838f7b8e-d817-4fa6-93cc-32c447fcdc51/datasets/_msearch' -i -X POST \
-H 'Accept: application/json, application/javascript, text/javascript, text/json' \
-H 'Content-Type: text/plain; charset=ISO-8859-1' \
-d '{"preference":"search"}
{
"query":{
"bool":{
"must":[
{
"bool":{
"must":{
"bool":{
"should":[
{
"multi_match":{
"query":"data warehouse",
"fields":[
"title"
],
"type":"cross_fields",
"operator":"and"
}
},
{
"multi_match":{
"query":"data warehouse",
"fields":[
"title"
],
"type":"phrase",
"operator":"and"
}
},
{
"multi_match":{
"query":"data warehouse",
"fields":[
"title"
],
"type":"phrase_prefix",
"operator":"and"
}
}
],
"minimum_should_match":"1"
}
}
}
}
]
}
},
"highlight":{
"pre_tags":[
"<mark>"
],
"post_tags":[
"</mark>"
],
"fields":{
"title":{
}
},
"require_field_match":false
},
"size":10,
"_source":{
"includes":[
"*"
],
"excludes":[
]
}
}'
Python (requests
)
import requests
url = "https://app.matatika.com/api/workspaces/838f7b8e-d817-4fa6-93cc-32c447fcdc51/datasets/_msearch"
data = {"preference":"search"}
{
"query":{
"bool":{
"must":[
{
"bool":{
"must":{
"bool":{
"should":[
{
"multi_match":{
"query":"data warehouse",
"fields":[
"title"
],
"type":"cross_fields",
"operator":"and"
}
},
{
"multi_match":{
"query":"data warehouse",
"fields":[
"title"
],
"type":"phrase",
"operator":"and"
}
},
{
"multi_match":{
"query":"data warehouse",
"fields":[
"title"
],
"type":"phrase_prefix",
"operator":"and"
}
}
],
"minimum_should_match":"1"
}
}
}
}
]
}
},
"highlight":{
"pre_tags":[
"<mark>"
],
"post_tags":[
"</mark>"
],
"fields":{
"title":{
}
},
"require_field_match":false
},
"size":10,
"_source":{
"includes":[
"*"
],
"excludes":[
]
}
}
headers = {
'Authorization': ACCESS_TOKEN
}
response = requests.request("POST", url, headers=headers, data=data)
print(response.text.encode('utf8'))
Response
200 OK
{
"took" : 71,
"timed_out" : false,
"_shards" : {
"failed" : 0.0,
"successful" : 2.0,
"total" : 2.0,
"skipped" : 0.0
},
"hits" : {
"total" : {
"relation" : "eq",
"value" : 1
},
"hits" : [ {
"_index" : "datasets",
"_id" : "9a0fee4e-e1f0-45cf-8a25-c8d9785ca311",
"_score" : 42.31837,
"_source" : {
"id" : "9a0fee4e-e1f0-45cf-8a25-c8d9785ca311",
"tags" : [ "fantastic", "postgres" ],
"title" : "What tables are in our #fantastic data warehouse?",
"description" : "# Overview\nThis example is a standalone data set with no visualisation.\n\n## What tables are in my data warehouse\nOur query in this dataset selects all the tables in the same schema we have configured the workspace to use.\n```SHOW TABLES```\n\n## Notes\nThe query is database specific. The #postgres query is\n\n```SELECT * FROM pg_tables where schemaname = 'fxleuzy'```",
"workspaceId" : "838f7b8e-d817-4fa6-93cc-32c447fcdc51",
"workspaceOwnerProfile" : "auth0|5eb0327cbfd7490bff55feeb",
"inChannelName" : "no-picture",
"channelName" : "no-picture",
"channelDescription" : "No picture",
"channelPicture" : "https://s.gravatar.com/avatar/8f4ad8fa0793181b761d030196e62053?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fsu.png",
"comments" : [ ],
"alias" : "analytics-tables",
"visualisation" : "{\"google-chart\": {\"chartType\": \"Table\", \"options\": {\"title\": \"Tables\"}}}",
"metadata" : " { \"name\":\"table_model\", \"label\":\"Analytics Tables\", \"related_table\":{ \"columns\":[ { \"name\":\"schemaname\", \"label\":\"Schema Name\" } ] } }",
"likedByProfiles" : [ ],
"likeCount" : 0,
"viewCount" : 0,
"commentCount" : 0,
"created" : "2025-01-17T16:56:53.127634Z",
"lastModified" : "2025-01-17T16:56:53.127634Z",
"lastModifiedMillisDay" : 61013127,
"query" : "SELECT schemaname \"table_model.schemaname\",tablename \"table_model.tablename\",tableowner \"table_model.tableowner\"FROM pg_tables where schemaname = 'fxleuzy'",
"lastCommentDate" : "2025-01-17T16:56:53.127634Z",
"lastCommentMillisDay" : 61013127
}
} ],
"max_score" : 42.31837
}
}
204 No Content
No response body provided.