Skip to main content
GET
/
pictoryapis
/
v1
/
vimeo-connections
/
{connectionid}
Get Vimeo Connection by ID
curl --request GET \
  --url https://api.pictory.ai/pictoryapis/v1/vimeo-connections/{connectionid} \
  --header 'Authorization: <authorization>'
import requests

url = "https://api.pictory.ai/pictoryapis/v1/vimeo-connections/{connectionid}"

headers = {"Authorization": "<authorization>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: '<authorization>'}};

fetch('https://api.pictory.ai/pictoryapis/v1/vimeo-connections/{connectionid}', 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.pictory.ai/pictoryapis/v1/vimeo-connections/{connectionid}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.pictory.ai/pictoryapis/v1/vimeo-connections/{connectionid}"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "<authorization>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.pictory.ai/pictoryapis/v1/vimeo-connections/{connectionid}")
.header("Authorization", "<authorization>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.pictory.ai/pictoryapis/v1/vimeo-connections/{connectionid}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'

response = http.request(request)
puts response.read_body
{
  "connectionId": "20251222155613307xv0nodhitf9cd0f",
  "name": "Test Vimeo Connection",
  "description": "Testing Vimeo connection via API",
  "clientIdentifier": "test_client_id_123",
  "type": "VIMEO",
  "enabled": true,
  "createdDate": "2025-12-22T15:56:12.309Z",
  "updatedDate": "2025-12-22T15:56:12.309Z",
  "version": 1
}
{
  "message": "Unauthorized"
}
{
  "message": "Connection not found"
}
{
  "error": {
    "code": "INTERNAL_ERROR",
    "message": "An unexpected error occurred"
  }
}

Overview

Retrieve detailed information about a specific Vimeo connection using its unique identifier. For security, sensitive credentials (client secret and access token) are excluded from the response. The connection must belong to your account.
You need a valid API key to use this endpoint. Get your API key from the API Access page in your Pictory dashboard.

API Endpoint

GET https://api.pictory.ai/pictoryapis/v1/vimeo-connections/{connectionid}

Request Parameters

Headers

Authorization
string
required
API key for authentication (starts with pictai_)
Authorization: YOUR_API_KEY

Path Parameters

connectionid
string
required
The unique identifier of the Vimeo connection to retrieveExample: "20251222155613307xv0nodhitf9cd0f"

Response

Returns the Vimeo connection object with all configuration details including connectionId, name, description, clientIdentifier, type, enabled status, createdDate, updatedDate, and version number. For security, sensitive credentials (clientSecret and accessToken) are never returned in API responses.

Response Examples

{
  "connectionId": "20251222155613307xv0nodhitf9cd0f",
  "name": "Test Vimeo Connection",
  "description": "Testing Vimeo connection via API",
  "clientIdentifier": "test_client_id_123",
  "type": "VIMEO",
  "enabled": true,
  "createdDate": "2025-12-22T15:56:12.309Z",
  "updatedDate": "2025-12-22T15:56:12.309Z",
  "version": 1
}
{
  "message": "Unauthorized"
}
{
  "message": "Connection not found"
}
{
  "error": {
    "code": "INTERNAL_ERROR",
    "message": "An unexpected error occurred"
  }
}

Code Examples

Replace YOUR_API_KEY with your actual API key that starts with pictai_
# Retrieve a specific Vimeo connection by ID
# Replace YOUR_API_KEY with your actual API key
# Replace CONNECTION_ID with the actual connection ID

curl --request GET \
  --url https://api.pictory.ai/pictoryapis/v1/vimeo-connections/CONNECTION_ID \
  --header 'Authorization: YOUR_API_KEY' | python -m json.tool
// Replace 'YOUR_API_KEY' with your actual API key

const getVimeoConnectionById = async (apiKey, connectionId) => {
  const response = await fetch(`https://api.pictory.ai/pictoryapis/v1/vimeo-connections/${connectionId}`, {
    method: 'GET',
    headers: {
      'Authorization': `${apiKey}`
    }
  });

  if (!response.ok) {
    const error = await response.json();
    throw new Error(`Failed: ${error.message}`);
  }

  return await response.json();
};

// Usage
try {
  const connectionId = '20251222155613307xv0nodhitf9cd0f';
  const connection = await getVimeoConnectionById('YOUR_API_KEY', connectionId);
  console.log('Connection Details:', connection);
  console.log('Connection Name:', connection.name);
  console.log('Is Enabled:', connection.enabled);
  console.log('Version:', connection.version);
} catch (error) {
  console.error('Error:', error.message);
}
# Replace 'YOUR_API_KEY' with your actual API key

import requests

def get_vimeo_connection_by_id(api_key, connection_id):
    """Retrieve a specific Vimeo connection by ID"""
    url = f"https://api.pictory.ai/pictoryapis/v1/vimeo-connections/{connection_id}"

    headers = {
        "Authorization": api_key
    }

    response = requests.get(url, headers=headers)
    response.raise_for_status()

    return response.json()

# Usage
try:
    connection_id = "20251222155613307xv0nodhitf9cd0f"
    connection = get_vimeo_connection_by_id("YOUR_API_KEY", connection_id)
    print(f"Connection Details: {connection}")
    print(f"Connection Name: {connection['name']}")
    print(f"Is Enabled: {connection['enabled']}")
    print(f"Version: {connection['version']}")
except requests.exceptions.HTTPError as e:
    error = e.response.json()
    print(f"Error: {error.get('message', 'Request failed')}")
<?php
// Replace 'YOUR_API_KEY' with your actual API key

function getVimeoConnectionById($apiKey, $connectionId) {
    $url = "https://api.pictory.ai/pictoryapis/v1/vimeo-connections/{$connectionId}";

    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Authorization: ' . $apiKey
    ]);

    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);

    if ($httpCode !== 200) {
        $error = json_decode($response, true);
        throw new Exception($error['message'] ?? 'Request failed');
    }

    return json_decode($response, true);
}

// Usage
try {
    $connectionId = '20251222155613307xv0nodhitf9cd0f';
    $connection = getVimeoConnectionById('YOUR_API_KEY', $connectionId);
    echo "Connection Details:\n";
    print_r($connection);
    echo "Connection Name: " . $connection['name'] . "\n";
    echo "Is Enabled: " . ($connection['enabled'] ? 'Yes' : 'No') . "\n";
    echo "Version: " . $connection['version'] . "\n";
} catch (Exception $e) {
    echo "Error: " . $e->getMessage() . "\n";
}
?>
// Replace "YOUR_API_KEY" with your actual API key

package main

import (
    "encoding/json"
    "fmt"
    "io"
    "net/http"
)

type VimeoConnection struct {
    ConnectionID     string `json:"connectionId"`
    Name             string `json:"name"`
    Description      string `json:"description"`
    ClientIdentifier string `json:"clientIdentifier"`
    Type             string `json:"type"`
    Enabled          bool   `json:"enabled"`
    CreatedDate      string `json:"createdDate"`
    UpdatedDate      string `json:"updatedDate"`
    Version          int    `json:"version"`
}

func getVimeoConnectionById(apiKey string, connectionId string) (*VimeoConnection, error) {
    url := fmt.Sprintf("https://api.pictory.ai/pictoryapis/v1/vimeo-connections/%s", connectionId)

    req, err := http.NewRequest("GET", url, nil)
    if err != nil {
        return nil, err
    }

    req.Header.Set("Authorization", apiKey)

    client := &http.Client{}
    resp, err := client.Do(req)
    if err != nil {
        return nil, err
    }
    defer resp.Body.Close()

    body, err := io.ReadAll(resp.Body)
    if err != nil {
        return nil, err
    }

    if resp.StatusCode != http.StatusOK {
        return nil, fmt.Errorf("request failed (status %d): %s", resp.StatusCode, string(body))
    }

    var result VimeoConnection
    if err := json.Unmarshal(body, &result); err != nil {
        return nil, err
    }

    return &result, nil
}

// Usage
func main() {
    connectionId := "20251222155613307xv0nodhitf9cd0f"
    connection, err := getVimeoConnectionById("YOUR_API_KEY", connectionId)
    if err != nil {
        panic(err)
    }

    fmt.Printf("Connection Details: %+v\n", connection)
    fmt.Printf("Connection Name: %s\n", connection.Name)
    fmt.Printf("Is Enabled: %t\n", connection.Enabled)
    fmt.Printf("Version: %d\n", connection.Version)
}

Error Handling

Cause: Invalid or missing API keySolution:
  • Verify your API key is correct and starts with pictai_
  • Check the Authorization header is properly formatted: YOUR_API_KEY
  • Ensure your API key hasn’t expired
  • Get a new API key from the API Access page
Cause: The connection ID does not exist or you do not have access to itSolution:
  • Verify the connection ID is correct and complete
  • Ensure the connection belongs to your account
  • Check if the connection has been deleted
  • Connection IDs are case-sensitive - confirm the exact casing
  • Use the Get Vimeo Connections endpoint to list all your connections
Cause: The returned connection details do not match expectationsSolution:
  • Double-check the connection ID in the URL path
  • Verify you are using the correct API key for the account that owns the connection
  • Ensure you have not confused this connection with another one
  • Check if the connection was recently updated by someone else