curl --request POST \
--url https://api.hightouch.com/api/v1/sources \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "postgres-connection2",
"slug": "postgres-connection2",
"type": "postgres",
"configuration": {
"host": "example.example.us-east-1.rds.amazonaws.com",
"port": "5432",
"user": "dbUserName",
"database": "dbName",
"password": "password!123"
}
}
'import requests
url = "https://api.hightouch.com/api/v1/sources"
payload = {
"name": "postgres-connection2",
"slug": "postgres-connection2",
"type": "postgres",
"configuration": {
"host": "example.example.us-east-1.rds.amazonaws.com",
"port": "5432",
"user": "dbUserName",
"database": "dbName",
"password": "password!123"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'postgres-connection2',
slug: 'postgres-connection2',
type: 'postgres',
configuration: {
host: 'example.example.us-east-1.rds.amazonaws.com',
port: '5432',
user: 'dbUserName',
database: 'dbName',
password: 'password!123'
}
})
};
fetch('https://api.hightouch.com/api/v1/sources', 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/sources",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'postgres-connection2',
'slug' => 'postgres-connection2',
'type' => 'postgres',
'configuration' => [
'host' => 'example.example.us-east-1.rds.amazonaws.com',
'port' => '5432',
'user' => 'dbUserName',
'database' => 'dbName',
'password' => 'password!123'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.hightouch.com/api/v1/sources"
payload := strings.NewReader("{\n \"name\": \"postgres-connection2\",\n \"slug\": \"postgres-connection2\",\n \"type\": \"postgres\",\n \"configuration\": {\n \"host\": \"example.example.us-east-1.rds.amazonaws.com\",\n \"port\": \"5432\",\n \"user\": \"dbUserName\",\n \"database\": \"dbName\",\n \"password\": \"password!123\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.hightouch.com/api/v1/sources")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"postgres-connection2\",\n \"slug\": \"postgres-connection2\",\n \"type\": \"postgres\",\n \"configuration\": {\n \"host\": \"example.example.us-east-1.rds.amazonaws.com\",\n \"port\": \"5432\",\n \"user\": \"dbUserName\",\n \"database\": \"dbName\",\n \"password\": \"password!123\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hightouch.com/api/v1/sources")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"postgres-connection2\",\n \"slug\": \"postgres-connection2\",\n \"type\": \"postgres\",\n \"configuration\": {\n \"host\": \"example.example.us-east-1.rds.amazonaws.com\",\n \"port\": \"5432\",\n \"user\": \"dbUserName\",\n \"database\": \"dbName\",\n \"password\": \"password!123\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": 426,
"name": "postgres-connection2",
"slug": "postgres-connection2",
"workspaceId": 1,
"createdAt": "2022-12-12T22:46:57.618Z",
"updatedAt": "2022-12-12T22:46:57.618Z",
"type": "postgres",
"configuration": {
"host": "example.example.us-east-1.rds.amazonaws.com",
"port": "5432",
"user": "dbUserName",
"database": "dbName"
}
}{
"message": "Validation failed",
"details": {}
}{
"message": "Validation failed",
"details": {}
}"Internal Server Error"Create Source
Create a new source
curl --request POST \
--url https://api.hightouch.com/api/v1/sources \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "postgres-connection2",
"slug": "postgres-connection2",
"type": "postgres",
"configuration": {
"host": "example.example.us-east-1.rds.amazonaws.com",
"port": "5432",
"user": "dbUserName",
"database": "dbName",
"password": "password!123"
}
}
'import requests
url = "https://api.hightouch.com/api/v1/sources"
payload = {
"name": "postgres-connection2",
"slug": "postgres-connection2",
"type": "postgres",
"configuration": {
"host": "example.example.us-east-1.rds.amazonaws.com",
"port": "5432",
"user": "dbUserName",
"database": "dbName",
"password": "password!123"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'postgres-connection2',
slug: 'postgres-connection2',
type: 'postgres',
configuration: {
host: 'example.example.us-east-1.rds.amazonaws.com',
port: '5432',
user: 'dbUserName',
database: 'dbName',
password: 'password!123'
}
})
};
fetch('https://api.hightouch.com/api/v1/sources', 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/sources",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'postgres-connection2',
'slug' => 'postgres-connection2',
'type' => 'postgres',
'configuration' => [
'host' => 'example.example.us-east-1.rds.amazonaws.com',
'port' => '5432',
'user' => 'dbUserName',
'database' => 'dbName',
'password' => 'password!123'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.hightouch.com/api/v1/sources"
payload := strings.NewReader("{\n \"name\": \"postgres-connection2\",\n \"slug\": \"postgres-connection2\",\n \"type\": \"postgres\",\n \"configuration\": {\n \"host\": \"example.example.us-east-1.rds.amazonaws.com\",\n \"port\": \"5432\",\n \"user\": \"dbUserName\",\n \"database\": \"dbName\",\n \"password\": \"password!123\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.hightouch.com/api/v1/sources")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"postgres-connection2\",\n \"slug\": \"postgres-connection2\",\n \"type\": \"postgres\",\n \"configuration\": {\n \"host\": \"example.example.us-east-1.rds.amazonaws.com\",\n \"port\": \"5432\",\n \"user\": \"dbUserName\",\n \"database\": \"dbName\",\n \"password\": \"password!123\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hightouch.com/api/v1/sources")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"postgres-connection2\",\n \"slug\": \"postgres-connection2\",\n \"type\": \"postgres\",\n \"configuration\": {\n \"host\": \"example.example.us-east-1.rds.amazonaws.com\",\n \"port\": \"5432\",\n \"user\": \"dbUserName\",\n \"database\": \"dbName\",\n \"password\": \"password!123\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": 426,
"name": "postgres-connection2",
"slug": "postgres-connection2",
"workspaceId": 1,
"createdAt": "2022-12-12T22:46:57.618Z",
"updatedAt": "2022-12-12T22:46:57.618Z",
"type": "postgres",
"configuration": {
"host": "example.example.us-east-1.rds.amazonaws.com",
"port": "5432",
"user": "dbUserName",
"database": "dbName"
}
}{
"message": "Validation failed",
"details": {}
}{
"message": "Validation failed",
"details": {}
}"Internal Server Error"Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
The input for creating a Source
The source's name
The source's slug
The source's type (e.g. snowflake or postgres).
The source's configuration. This specifies general metadata about sources, like connection details Hightouch will use this configuration to connect to underlying source.
The schema depends on the source type.
Consumers should NOT make assumptions on the contents of the configuration. It may change as Hightouch updates its internal code.
Show child attributes
Show child attributes
Response
Ok
The database or warehouse where your data is stored. The starting point for a Hightouch data pipeline.
The source's id
The source's name
The source's slug
The id of the workspace that the source belongs to
The timestamp when the source was created
The timestamp when the source was last updated
The source's configuration. This specifies general metadata about sources, like connection details Hightouch will use this configuration to connect to underlying source.
The schema depends on the source type.
Consumers should NOT make assumptions on the contents of the configuration. It may change as Hightouch updates its internal code.
Show child attributes
Show child attributes
The source's type (e.g. snowflake or postgres).
Was this page helpful?