Create a source connector
curl --request POST \
--url https://app.hookie.ai/admin/api/projects/{project_id}/sources \
--header 'Content-Type: application/json' \
--cookie hookie_session= \
--data '
{
"name": "<string>",
"dataset": "<string>",
"config": "<unknown>",
"cursor_column": "<string>",
"poll_interval": 123
}
'const options = {
method: 'POST',
headers: {cookie: 'hookie_session=', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
dataset: '<string>',
config: '<unknown>',
cursor_column: '<string>',
poll_interval: 123
})
};
fetch('https://app.hookie.ai/admin/api/projects/{project_id}/sources', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.hookie.ai/admin/api/projects/{project_id}/sources"
payload = {
"name": "<string>",
"dataset": "<string>",
"config": "<unknown>",
"cursor_column": "<string>",
"poll_interval": 123
}
headers = {
"cookie": "hookie_session=",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "<string>"
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>"
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>"
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>"
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>"
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>"
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>"
}Sources
Create a source connector
POST
/
admin
/
api
/
projects
/
{project_id}
/
sources
Create a source connector
curl --request POST \
--url https://app.hookie.ai/admin/api/projects/{project_id}/sources \
--header 'Content-Type: application/json' \
--cookie hookie_session= \
--data '
{
"name": "<string>",
"dataset": "<string>",
"config": "<unknown>",
"cursor_column": "<string>",
"poll_interval": 123
}
'const options = {
method: 'POST',
headers: {cookie: 'hookie_session=', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
dataset: '<string>',
config: '<unknown>',
cursor_column: '<string>',
poll_interval: 123
})
};
fetch('https://app.hookie.ai/admin/api/projects/{project_id}/sources', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.hookie.ai/admin/api/projects/{project_id}/sources"
payload = {
"name": "<string>",
"dataset": "<string>",
"config": "<unknown>",
"cursor_column": "<string>",
"poll_interval": 123
}
headers = {
"cookie": "hookie_session=",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"id": "<string>"
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>"
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>"
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>"
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>"
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>"
}{
"error": "<string>",
"retry_after": 123,
"upgrade_url": "<string>"
}Authorizations
sessionbearerAuth
The console's sealed session cookie, set by WorkOS AuthKit. Mutating requests also require the X-Requested-With CSRF header.
Path Parameters
Body
application/json
Available options:
postgres, mysql, http Dataset the polled rows land in.
Pattern:
^[a-zA-Z][a-zA-Z0-9_]{0,62}$Connector config (connection + query). Stored AES-256-GCM encrypted and never returned. Any non-null JSON value is accepted; shape is not validated here.
Watermark column. Defaults to null.
Seconds. Clamped up to the plan minimum (free 3600, Pro 60); a non-numeric or missing value becomes the plan minimum.
Response
Created.