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', {
method: 'GET',
headers: {
'x-api-key': process.env.HOOKED_API_KEY
}
});
const data = await response.json();
console.log('Integrations:', data.data.integrations);
import requests
response = requests.get(
'https://api.hooked.so/v1/integration/list',
headers={'x-api-key': 'your_api_key_here'}
)
data = response.json()
print('Integrations:', data['data']['integrations'])
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => 'https://api.hooked.so/v1/integration/list',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'x-api-key: your_api_key_here'
]
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
print_r($data['data']['integrations']);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.hooked.so/v1/integration/list", nil)
req.Header.Set("x-api-key", "your_api_key_here")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
{
"success": true,
"message": "Integrations fetched successfully",
"data": {
"integrations": [
{
"id": "int_yt_abc123",
"type": "youtube",
"identifier": "UC1234567890",
"account": {
"id": "UC1234567890",
"name": "My YouTube Channel",
"username": "mychannel",
"avatarUrl": "https://yt3.ggpht.com/..."
}
},
{
"id": "int_tt_xyz789",
"type": "tiktok",
"identifier": "@myaccount",
"account": {
"id": "6912345678901234567",
"name": "My TikTok",
"username": "myaccount",
"avatarUrl": "https://p16-sign.tiktokcdn.com/..."
}
},
{
"id": "int_ig_def456",
"type": "instagram",
"identifier": "myinstagram",
"account": {
"id": "12345678901234567",
"name": "My Instagram",
"username": "myinstagram",
"avatarUrl": "https://instagram.com/..."
}
}
],
"total": 3
}
}
{
"success": true,
"message": "Integrations fetched successfully",
"data": {
"integrations": [],
"total": 0
}
}
{
"code": "not_authenticated",
"message": "Not authenticated",
"details": {
"x-api-key": "Header not provided or API Key invalid"
}
}
Resources
List Integrations
Get all connected social media platforms 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', {
method: 'GET',
headers: {
'x-api-key': process.env.HOOKED_API_KEY
}
});
const data = await response.json();
console.log('Integrations:', data.data.integrations);
import requests
response = requests.get(
'https://api.hooked.so/v1/integration/list',
headers={'x-api-key': 'your_api_key_here'}
)
data = response.json()
print('Integrations:', data['data']['integrations'])
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => 'https://api.hooked.so/v1/integration/list',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'x-api-key: your_api_key_here'
]
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
print_r($data['data']['integrations']);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.hooked.so/v1/integration/list", nil)
req.Header.Set("x-api-key", "your_api_key_here")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
{
"success": true,
"message": "Integrations fetched successfully",
"data": {
"integrations": [
{
"id": "int_yt_abc123",
"type": "youtube",
"identifier": "UC1234567890",
"account": {
"id": "UC1234567890",
"name": "My YouTube Channel",
"username": "mychannel",
"avatarUrl": "https://yt3.ggpht.com/..."
}
},
{
"id": "int_tt_xyz789",
"type": "tiktok",
"identifier": "@myaccount",
"account": {
"id": "6912345678901234567",
"name": "My TikTok",
"username": "myaccount",
"avatarUrl": "https://p16-sign.tiktokcdn.com/..."
}
},
{
"id": "int_ig_def456",
"type": "instagram",
"identifier": "myinstagram",
"account": {
"id": "12345678901234567",
"name": "My Instagram",
"username": "myinstagram",
"avatarUrl": "https://instagram.com/..."
}
}
],
"total": 3
}
}
{
"success": true,
"message": "Integrations fetched successfully",
"data": {
"integrations": [],
"total": 0
}
}
{
"code": "not_authenticated",
"message": "Not authenticated",
"details": {
"x-api-key": "Header not provided or API Key invalid"
}
}
Try it out! Use the API playground on the right to test the List Integrations endpoint directly.
Overview
List all social media integrations connected to your account. These integrations are used to schedule and publish videos to platforms like YouTube, TikTok, and Instagram. Before scheduling a video, you need to connect at least one social platform through the Hooked dashboard.Integrations are configured in your Hooked Dashboard. Each integration represents a connected social media account.
Endpoint
GET /v1/integration/list
Headers
string
required
Your API key from API Settings
Response
boolean
Whether the request was successful
string
Status message
object
Show Data Object
Show Data Object
array
Array of connected integrations
Show Integration Object
Show Integration Object
string
Unique integration ID. Use this when scheduling videos.
string
Platform type:
youtube, tiktok, or instagramstring
Platform-specific identifier (channel ID, username, etc.)
number
Total number of integrations
Request Example
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', {
method: 'GET',
headers: {
'x-api-key': process.env.HOOKED_API_KEY
}
});
const data = await response.json();
console.log('Integrations:', data.data.integrations);
import requests
response = requests.get(
'https://api.hooked.so/v1/integration/list',
headers={'x-api-key': 'your_api_key_here'}
)
data = response.json()
print('Integrations:', data['data']['integrations'])
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => 'https://api.hooked.so/v1/integration/list',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'x-api-key: your_api_key_here'
]
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
print_r($data['data']['integrations']);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.hooked.so/v1/integration/list", nil)
req.Header.Set("x-api-key", "your_api_key_here")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
Response Examples
{
"success": true,
"message": "Integrations fetched successfully",
"data": {
"integrations": [
{
"id": "int_yt_abc123",
"type": "youtube",
"identifier": "UC1234567890",
"account": {
"id": "UC1234567890",
"name": "My YouTube Channel",
"username": "mychannel",
"avatarUrl": "https://yt3.ggpht.com/..."
}
},
{
"id": "int_tt_xyz789",
"type": "tiktok",
"identifier": "@myaccount",
"account": {
"id": "6912345678901234567",
"name": "My TikTok",
"username": "myaccount",
"avatarUrl": "https://p16-sign.tiktokcdn.com/..."
}
},
{
"id": "int_ig_def456",
"type": "instagram",
"identifier": "myinstagram",
"account": {
"id": "12345678901234567",
"name": "My Instagram",
"username": "myinstagram",
"avatarUrl": "https://instagram.com/..."
}
}
],
"total": 3
}
}
{
"success": true,
"message": "Integrations fetched successfully",
"data": {
"integrations": [],
"total": 0
}
}
{
"code": "not_authenticated",
"message": "Not authenticated",
"details": {
"x-api-key": "Header not provided or API Key invalid"
}
}
Supported Platforms
| Platform | Type | Features |
|---|---|---|
| YouTube | youtube | Shorts, Long-form videos, Privacy settings |
| TikTok | tiktok | Short videos, Direct publishing |
instagram | Reels, Posts, Stories |
Connecting Integrations
To connect a new social platform:- Go to Hooked Dashboard
- Navigate to Settings > Integrations
- Click Connect on the platform you want to add
- Complete the OAuth authorization flow
Each platform has specific requirements:
- YouTube: Requires a YouTube channel with uploads enabled
- TikTok: Requires a TikTok Creator or Business account
- Instagram: Requires an Instagram Business or Creator account connected to a Facebook Page
Next Steps
Schedule Video
Schedule a video for publishing
List Scheduled Posts
View all scheduled posts
Create Videos
Create videos to schedule
Webhooks Guide
Get notified when posts are published
⌘I