> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hooked.so/llms.txt
> Use this file to discover all available pages before exploring further.

# List Integrations

> Get all connected social media platforms for publishing videos

<Note>
  **Try it out!** Use the API playground on the right to test the List Integrations endpoint directly.
</Note>

## 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.

<Info>
  Integrations are configured in your [Hooked Dashboard](https://hooked.so/settings/integrations). Each integration represents a connected social media account.
</Info>

***

## Endpoint

```
GET /v1/integration/list
```

***

## Headers

<ParamField header="x-api-key" type="string" required>
  Your API key from [API Settings](https://hooked.so/settings/api)
</ParamField>

***

## Response

<ResponseField name="success" type="boolean">
  Whether the request was successful
</ResponseField>

<ResponseField name="message" type="string">
  Status message
</ResponseField>

<ResponseField name="data" type="object">
  <Expandable title="Data Object">
    <ResponseField name="integrations" type="array">
      Array of connected integrations

      <Expandable title="Integration Object">
        <ResponseField name="id" type="string">
          Unique integration ID. Use this when scheduling videos.
        </ResponseField>

        <ResponseField name="type" type="string">
          Platform type: `youtube`, `tiktok`, or `instagram`
        </ResponseField>

        <ResponseField name="identifier" type="string">
          Platform-specific identifier (channel ID, username, etc.)
        </ResponseField>

        <ResponseField name="account" type="object">
          Connected account information

          <Expandable title="Account Object">
            <ResponseField name="id" type="string">
              Platform account ID
            </ResponseField>

            <ResponseField name="name" type="string">
              Display name of the account
            </ResponseField>

            <ResponseField name="username" type="string">
              Username or handle
            </ResponseField>

            <ResponseField name="avatarUrl" type="string">
              Profile picture URL
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="total" type="number">
      Total number of integrations
    </ResponseField>
  </Expandable>
</ResponseField>

***

## Request Example

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://api.hooked.so/v1/integration/list" \
    -H "x-api-key: your_api_key_here"
  ```

  ```javascript Node.js theme={null}
  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);
  ```

  ```python Python theme={null}
  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'])
  ```

  ```php PHP theme={null}
  $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']);
  ```

  ```go Go theme={null}
  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))
  }
  ```
</RequestExample>

***

## Response Examples

<ResponseExample>
  ```json Success Response theme={null}
  {
    "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
    }
  }
  ```

  ```json No Integrations theme={null}
  {
    "success": true,
    "message": "Integrations fetched successfully",
    "data": {
      "integrations": [],
      "total": 0
    }
  }
  ```

  ```json Error Response theme={null}
  {
    "code": "not_authenticated",
    "message": "Not authenticated",
    "details": {
      "x-api-key": "Header not provided or API Key invalid"
    }
  }
  ```
</ResponseExample>

***

## Supported Platforms

| Platform  | Type        | Features                                   |
| --------- | ----------- | ------------------------------------------ |
| YouTube   | `youtube`   | Shorts, Long-form videos, Privacy settings |
| TikTok    | `tiktok`    | Short videos, Direct publishing            |
| Instagram | `instagram` | Reels, Posts, Stories                      |

***

## Connecting Integrations

To connect a new social platform:

1. Go to [Hooked Dashboard](https://hooked.so)
2. Navigate to **Settings** > **Integrations**
3. Click **Connect** on the platform you want to add
4. Complete the OAuth authorization flow

<Warning>
  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
</Warning>

***

## Next Steps

<CardGroup cols={2}>
  <Card title="Schedule Video" icon="calendar" href="/api-reference/schedule/create">
    Schedule a video for publishing
  </Card>

  <Card title="List Scheduled Posts" icon="list" href="/api-reference/schedule/list">
    View all scheduled posts
  </Card>

  <Card title="Create Videos" icon="video" href="/api-reference/video/script-to-video">
    Create videos to schedule
  </Card>

  <Card title="Webhooks Guide" icon="webhook" href="/guides/webhooks">
    Get notified when posts are published
  </Card>
</CardGroup>


## OpenAPI

````yaml GET /v1/integration/list
openapi: 3.0.0
info:
  title: Hooked API
  version: 1.0.0
  description: AI Video Generation API
servers:
  - url: https://api.hooked.so
security:
  - ApiKeyAuth: []
paths:
  /v1/integration/list:
    get:
      tags:
        - Integrations
      summary: List Integrations
      description: Get all connected social media platforms for publishing videos
      operationId: listIntegrations
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  data:
                    type: object
                    properties:
                      integrations:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              description: Integration ID
                            type:
                              type: string
                              enum:
                                - youtube
                                - tiktok
                                - instagram
                              description: Platform type
                            identifier:
                              type: string
                              description: Platform-specific identifier
                            account:
                              type: object
                              properties:
                                id:
                                  type: string
                                name:
                                  type: string
                                username:
                                  type: string
                                avatarUrl:
                                  type: string
                      total:
                        type: integer
      security:
        - ApiKeyAuth: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````