List Models
curl --request GET \
--url https://api.hightouch.com/api/v1/models \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.hightouch.com/api/v1/models"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.hightouch.com/api/v1/models', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hightouch.com/api/v1/models",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.hightouch.com/api/v1/models"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.hightouch.com/api/v1/models")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hightouch.com/api/v1/models")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 1,
"name": "testModel",
"slug": "testModel",
"description": "",
"workspaceId": 1,
"primaryKey": "id",
"createdAt": "2022-02-16T21:37:58.510Z",
"updatedAt": "2022-02-16T21:37:58.510Z",
"createdBy": {
"id": 1,
"name": "Jane Doe",
"email": "jane.doe@example.com"
},
"updatedBy": {
"id": 1,
"name": "Jane Doe",
"email": "jane.doe@example.com"
},
"sourceId": 1,
"queryType": "raw_sql",
"tags": {
"foo": "bar"
},
"isSchema": false,
"isGeneralModel": false,
"raw": {
"sql": "select * from users"
},
"syncs": [
1,
2
],
"lastRunSize": 12345
},
{
"id": 2,
"name": "testModel2",
"slug": "testModel2",
"description": "",
"workspaceId": 1,
"primaryKey": "id",
"createdAt": "2022-02-16T21:37:58.510Z",
"updatedAt": "2022-02-16T21:37:58.510Z",
"createdBy": {
"id": 1,
"name": "Jane Doe",
"email": "jane.doe@example.com"
},
"updatedBy": {
"id": 1,
"name": "Jane Doe",
"email": "jane.doe@example.com"
},
"sourceId": 1,
"queryType": "raw_sql",
"tags": {
"foo": "baz"
},
"isSchema": false,
"isGeneralModel": false,
"raw": {
"sql": "select * from accounts"
},
"syncs": [
1,
2
],
"lastRunSize": 6789
}
],
"hasMore": false
}{
"message": "Validation failed",
"details": {}
}API Reference
List Models
List all the models in the current workspace including parent and related models
GET
/
models
List Models
curl --request GET \
--url https://api.hightouch.com/api/v1/models \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.hightouch.com/api/v1/models"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.hightouch.com/api/v1/models', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hightouch.com/api/v1/models",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.hightouch.com/api/v1/models"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.hightouch.com/api/v1/models")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hightouch.com/api/v1/models")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 1,
"name": "testModel",
"slug": "testModel",
"description": "",
"workspaceId": 1,
"primaryKey": "id",
"createdAt": "2022-02-16T21:37:58.510Z",
"updatedAt": "2022-02-16T21:37:58.510Z",
"createdBy": {
"id": 1,
"name": "Jane Doe",
"email": "jane.doe@example.com"
},
"updatedBy": {
"id": 1,
"name": "Jane Doe",
"email": "jane.doe@example.com"
},
"sourceId": 1,
"queryType": "raw_sql",
"tags": {
"foo": "bar"
},
"isSchema": false,
"isGeneralModel": false,
"raw": {
"sql": "select * from users"
},
"syncs": [
1,
2
],
"lastRunSize": 12345
},
{
"id": 2,
"name": "testModel2",
"slug": "testModel2",
"description": "",
"workspaceId": 1,
"primaryKey": "id",
"createdAt": "2022-02-16T21:37:58.510Z",
"updatedAt": "2022-02-16T21:37:58.510Z",
"createdBy": {
"id": 1,
"name": "Jane Doe",
"email": "jane.doe@example.com"
},
"updatedBy": {
"id": 1,
"name": "Jane Doe",
"email": "jane.doe@example.com"
},
"sourceId": 1,
"queryType": "raw_sql",
"tags": {
"foo": "baz"
},
"isSchema": false,
"isGeneralModel": false,
"raw": {
"sql": "select * from accounts"
},
"syncs": [
1,
2
],
"lastRunSize": 6789
}
],
"hasMore": false
}{
"message": "Validation failed",
"details": {}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
filter based on name
filter based on slug
set the offset on results (for pagination)
limit the number of objects returned (default is 100)
specify the order
Available options:
id, name, slug, createdAt, updatedAt filter models based on tags (format: key:value), ex: team:marketing. Repeat this parameter for multiple tags.
Response
Ok
Show child attributes
Show child attributes
Was this page helpful?