Delete Vimeo Connection
curl --request DELETE \
--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.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', 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 => "DELETE",
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("DELETE", 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.delete("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::Delete.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_bodyNo content returned. The connection has been successfully deleted.
{
"message": "Unauthorized"
}
{
"error": {
"code": "INTERNAL_ERROR",
"message": "An unexpected error occurred"
}
}
Vimeo Integration
Delete Vimeo Connection
Permanently delete a Vimeo connection
DELETE
/
pictoryapis
/
v1
/
vimeo-connections
/
{connectionid}
Delete Vimeo Connection
curl --request DELETE \
--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.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', 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 => "DELETE",
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("DELETE", 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.delete("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::Delete.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_bodyNo content returned. The connection has been successfully deleted.
{
"message": "Unauthorized"
}
{
"error": {
"code": "INTERNAL_ERROR",
"message": "An unexpected error occurred"
}
}
Overview
Permanently delete a Vimeo connection and all its associated configuration data. This action cannot be undone. After deletion, any integrations or workflows using this connection will no longer function. Only the connection owner can delete it.Permanent Action: Deleting a connection is irreversible. Ensure you no longer need this connection before proceeding. Consider disabling it instead if you might need it again later.
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
DELETE https://api.pictory.ai/pictoryapis/v1/vimeo-connections/{connectionid}
Request Parameters
Headers
string
required
API key for authentication (starts with
pictai_)Authorization: YOUR_API_KEY
Path Parameters
string
required
The unique identifier of the Vimeo connection to deleteExample:
"20251222155613307xv0nodhitf9cd0f"Response
Returns HTTP 204 (No Content) on successful deletion. The response body is empty as the connection no longer exists. This endpoint is idempotent - deleting an already-deleted or non-existent connection also returns 204. If authentication fails, an error response is returned with details.Response Examples
No content returned. The connection has been successfully deleted.
{
"message": "Unauthorized"
}
{
"error": {
"code": "INTERNAL_ERROR",
"message": "An unexpected error occurred"
}
}
Code Examples
Replace
YOUR_API_KEY with your actual API key that starts with pictai_# Delete a Vimeo connection
# Replace YOUR_API_KEY with your actual API key
# Replace CONNECTION_ID with the actual connection ID
curl --request DELETE \
--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 deleteVimeoConnection = async (apiKey, connectionId) => {
const response = await fetch(`https://api.pictory.ai/pictoryapis/v1/vimeo-connections/${connectionId}`, {
method: 'DELETE',
headers: {
'Authorization': `${apiKey}`
}
});
if (!response.ok) {
const error = await response.json();
throw new Error(`Failed: ${error.message}`);
}
// 204 responses have no content
return { success: true, message: 'Connection deleted successfully' };
};
// Usage
try {
const connectionId = '20251222155613307xv0nodhitf9cd0f';
const result = await deleteVimeoConnection('YOUR_API_KEY', connectionId);
console.log(result.message);
console.log(`Connection ${connectionId} has been permanently deleted`);
} catch (error) {
console.error('Error:', error.message);
}
# Replace 'YOUR_API_KEY' with your actual API key
import requests
def delete_vimeo_connection(api_key, connection_id):
"""Delete a Vimeo connection"""
url = f"https://api.pictory.ai/pictoryapis/v1/vimeo-connections/{connection_id}"
headers = {
"Authorization": api_key
}
response = requests.delete(url, headers=headers)
response.raise_for_status()
# 204 responses have no content
return {"success": True, "message": "Connection deleted successfully"}
# Usage
try:
connection_id = "20251222155613307xv0nodhitf9cd0f"
result = delete_vimeo_connection("YOUR_API_KEY", connection_id)
print(result["message"])
print(f"Connection {connection_id} has been permanently deleted")
except requests.exceptions.HTTPError as e:
if e.response.status_code == 404:
print("Error: Connection not found or already deleted")
else:
error = e.response.json()
print(f"Error: {error.get('message', 'Request failed')}")
<?php
// Replace 'YOUR_API_KEY' with your actual API key
function deleteVimeoConnection($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_CUSTOMREQUEST, 'DELETE');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: ' . $apiKey
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode !== 204) {
$error = json_decode($response, true);
throw new Exception($error['message'] ?? 'Request failed');
}
// 204 responses have no content
return [
'success' => true,
'message' => 'Connection deleted successfully'
];
}
// Usage
try {
$connectionId = '20251222155613307xv0nodhitf9cd0f';
$result = deleteVimeoConnection('YOUR_API_KEY', $connectionId);
echo $result['message'] . "\n";
echo "Connection {$connectionId} has been permanently deleted\n";
} catch (Exception $e) {
echo "Error: " . $e->getMessage() . "\n";
}
?>
// Replace "YOUR_API_KEY" with your actual API key
package main
import (
"fmt"
"io"
"net/http"
)
func deleteVimeoConnection(apiKey string, connectionId string) error {
url := fmt.Sprintf("https://api.pictory.ai/pictoryapis/v1/vimeo-connections/%s", connectionId)
req, err := http.NewRequest("DELETE", url, nil)
if err != nil {
return err
}
req.Header.Set("Authorization", apiKey)
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
return err
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusNoContent {
body, _ := io.ReadAll(resp.Body)
return fmt.Errorf("request failed (status %d): %s", resp.StatusCode, string(body))
}
// 204 responses have no content
return nil
}
// Usage
func main() {
connectionId := "20251222155613307xv0nodhitf9cd0f"
err := deleteVimeoConnection("YOUR_API_KEY", connectionId)
if err != nil {
panic(err)
}
fmt.Println("Connection deleted successfully")
fmt.Printf("Connection %s has been permanently deleted\n", connectionId)
}
Error Handling
401 Unauthorized
401 Unauthorized
Cause: Invalid or missing API keySolution:
- Verify your API key is correct and starts with
pictai_ - Check the
Authorizationheader is properly formatted:YOUR_API_KEY - Ensure your API key hasn’t expired
- Get a new API key from the API Access page
Idempotent Behavior
Idempotent Behavior
Behavior: This endpoint is idempotent and always returns 204 (No Content) on successWhat This Means:
- Deleting an already-deleted connection returns 204 (success)
- Deleting a non-existent connection returns 204 (success)
- Multiple delete requests for the same connection are safe
- You can delete without checking if the connection exists first
- This follows REST API best practices for DELETE operations
Best Practices
Before Deleting a Connection
- Verify Dependencies: Check if any active workflows or integrations are using this connection
- Export Configuration: Note down the connection settings if you might need to recreate it later
- Consider Disabling: If you are unsure, use the Update Vimeo Connection endpoint to set
enabled: falseinstead of deleting - Confirm Identity: Double-check the connection ID to ensure you are deleting the correct connection
Idempotent Operation: This endpoint is safe to call multiple times. If you are unsure whether a connection exists, you can simply delete it without checking first - the operation will succeed either way.
Alternative to Deletion
Instead of permanently deleting a connection, you can disable it:PUT /v1/vimeo-connections/{connectionid}
{
"enabled": false,
"version": 1
}
Safe Deletion Workflow
// Example: Safe deletion workflow with confirmation
const safeDeleteConnection = async (apiKey, connectionId) => {
// Step 1: Get connection details
const connection = await getVimeoConnectionById(apiKey, connectionId);
console.log(`About to delete: ${connection.name}`);
// Step 2: Confirm (in production, get user confirmation)
const confirmed = true; // Replace with actual confirmation logic
if (!confirmed) {
return { cancelled: true };
}
// Step 3: Delete the connection
await deleteVimeoConnection(apiKey, connectionId);
console.log('Connection deleted successfully');
return { success: true };
};
Impact on Videos: Deleting a Vimeo connection does not affect videos that were previously uploaded using this connection. Those videos remain in your Vimeo account. However, you will not be able to upload new videos through this connection.
Was this page helpful?
