curl -X GET "https://api.hooked.so/v1/integration/list" \
-H "x-api-key: your_api_key_here"
const response = await fetch('https://api.hooked.so/v1/integration/list', {
headers: { 'x-api-key': process.env.HOOKED_API_KEY }
});
const { data } = await response.json();
console.log(data.total, data.integrations);
import requests
response = requests.get(
'https://api.hooked.so/v1/integration/list',
params={'limit': 50, 'offset': 0},
headers={'x-api-key': 'your_api_key_here'}
)
print(response.json()['data']['integrations'])
{
"success": true,
"message": "Integrations fetched successfully",
"data": {
"integrations": [
{
"id": "cm3c4d5e6f7g8h9i0j1k2l3m4",
"type": "youtube",
"identifier": "UC1234567890",
"account": {
"id": "UC1234567890",
"name": "My YouTube Channel",
"username": "mychannel",
"avatarUrl": "https://yt3.ggpht.com/..."
}
},
{
"id": "cm4d5e6f7g8h9i0j1k2l3m4n5",
"type": "tiktok",
"identifier": "myaccount",
"account": {
"id": null,
"name": "My TikTok",
"username": "myaccount",
"avatarUrl": "https://p16-sign.tiktokcdn.com/..."
}
}
],
"total": 2,
"limit": 50,
"offset": 0
}
}
{
"code": "not_authenticated",
"message": "Not authenticated",
"errorCode": "NOT_AUTHENTICATED",
"details": { "x-api-key": "Header not provided or API Key invalid" }
}
Channels
List Integrations
Get the social accounts your team has connected for publishing videos
GET
/
v1
/
integration
/
list
curl -X GET "https://api.hooked.so/v1/integration/list" \
-H "x-api-key: your_api_key_here"
const response = await fetch('https://api.hooked.so/v1/integration/list', {
headers: { 'x-api-key': process.env.HOOKED_API_KEY }
});
const { data } = await response.json();
console.log(data.total, data.integrations);
import requests
response = requests.get(
'https://api.hooked.so/v1/integration/list',
params={'limit': 50, 'offset': 0},
headers={'x-api-key': 'your_api_key_here'}
)
print(response.json()['data']['integrations'])
{
"success": true,
"message": "Integrations fetched successfully",
"data": {
"integrations": [
{
"id": "cm3c4d5e6f7g8h9i0j1k2l3m4",
"type": "youtube",
"identifier": "UC1234567890",
"account": {
"id": "UC1234567890",
"name": "My YouTube Channel",
"username": "mychannel",
"avatarUrl": "https://yt3.ggpht.com/..."
}
},
{
"id": "cm4d5e6f7g8h9i0j1k2l3m4n5",
"type": "tiktok",
"identifier": "myaccount",
"account": {
"id": null,
"name": "My TikTok",
"username": "myaccount",
"avatarUrl": "https://p16-sign.tiktokcdn.com/..."
}
}
],
"total": 2,
"limit": 50,
"offset": 0
}
}
{
"code": "not_authenticated",
"message": "Not authenticated",
"errorCode": "NOT_AUTHENTICATED",
"details": { "x-api-key": "Header not provided or API Key invalid" }
}
Overview
Lists the social accounts (integrations) your team has connected. You need an integration’sid to schedule a post. The order is stable (oldest connection first), so limit/offset pages neither repeat nor skip accounts.
Accounts are connected in the Hooked dashboard (Studio → Channels) through each platform’s sign-in flow; the API cannot connect them.
curl -X GET "https://api.hooked.so/v1/integration/list" \
-H "x-api-key: your_api_key_here"
const response = await fetch('https://api.hooked.so/v1/integration/list', {
headers: { 'x-api-key': process.env.HOOKED_API_KEY }
});
const { data } = await response.json();
console.log(data.total, data.integrations);
import requests
response = requests.get(
'https://api.hooked.so/v1/integration/list',
params={'limit': 50, 'offset': 0},
headers={'x-api-key': 'your_api_key_here'}
)
print(response.json()['data']['integrations'])
{
"success": true,
"message": "Integrations fetched successfully",
"data": {
"integrations": [
{
"id": "cm3c4d5e6f7g8h9i0j1k2l3m4",
"type": "youtube",
"identifier": "UC1234567890",
"account": {
"id": "UC1234567890",
"name": "My YouTube Channel",
"username": "mychannel",
"avatarUrl": "https://yt3.ggpht.com/..."
}
},
{
"id": "cm4d5e6f7g8h9i0j1k2l3m4n5",
"type": "tiktok",
"identifier": "myaccount",
"account": {
"id": null,
"name": "My TikTok",
"username": "myaccount",
"avatarUrl": "https://p16-sign.tiktokcdn.com/..."
}
}
],
"total": 2,
"limit": 50,
"offset": 0
}
}
{
"code": "not_authenticated",
"message": "Not authenticated",
"errorCode": "NOT_AUTHENTICATED",
"details": { "x-api-key": "Header not provided or API Key invalid" }
}
Errors
| Status | When |
|---|---|
| 401 | Missing or invalid API key |
| 403 | The team does not have the Hooked app product (code: "entitlement_required") |
| 500 | { "success": false, "message": "Failed to fetch integrations", "error": "..." } |
Next Steps
Get Integration
Check whether a connection is still valid
Schedule Post
Publish a video to a connected account
Authorizations
Query Parameters
Page size (1-100). Invalid values fall back to the default.
Required range:
1 <= x <= 100Rows to skip. Invalid values fall back to 0.
Required range:
x >= 0