curl --request DELETE \
--url https://flows.super.ai/api/integrations/credentials/{credential_id} \
--header 'Authorization: Bearer <token>' \
--header 'X-API-Key: <api-key>'import requests
url = "https://flows.super.ai/api/integrations/credentials/{credential_id}"
headers = {
"X-API-Key": "<api-key>",
"Authorization": "Bearer <token>"
}
response = requests.delete(url, headers=headers)
print(response.text)const options = {
method: 'DELETE',
headers: {'X-API-Key': '<api-key>', Authorization: 'Bearer <token>'}
};
fetch('https://flows.super.ai/api/integrations/credentials/{credential_id}', 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://flows.super.ai/api/integrations/credentials/{credential_id}",
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: Bearer <token>",
"X-API-Key: <api-key>"
],
]);
$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://flows.super.ai/api/integrations/credentials/{credential_id}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://flows.super.ai/api/integrations/credentials/{credential_id}")
.header("X-API-Key", "<api-key>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://flows.super.ai/api/integrations/credentials/{credential_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["X-API-Key"] = '<api-key>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyDelete credential
Soft-delete an integration credential.
Marks the credential as deleted without physically removing it from the database. Deleted credentials are excluded from list queries and cannot be used in workflows.
Context: This endpoint safely removes credentials while preserving audit trail. Common scenarios:
- User disconnects an integration from settings UI
- Credential compromise detected (delete and recreate)
- Integration no longer needed for workflows
- OAuth token revoked by provider
Soft deletion allows recovery if needed and maintains historical records for compliance.
Use Cases: User clicks “Disconnect” button for SharePoint integration in settings UI.
Remove compromised SFTP credentials before creating new ones with rotated password.
Clean up unused credentials to reduce organization’s attack surface. Related Endpoints:
- GET /integrations/credentials - List active credentials (excludes deleted)
- GET /integrations/credentials/ - Verify credential before deletion
- POST /integrations/credentials - Create new credential to replace deleted one
Security:
- Soft deletion preserves audit trail for compliance
- Encrypted credential data remains in database but inaccessible
- Consider automatic credential rotation policies for sensitive environments
- Deleted credentials cannot be restored via API (database admin required)
Notes:
- Deletion is immediate and cannot be undone via API
- Workflows using this credential will fail after deletion
- Check for dependent workflows before deleting credentials
- OAuth tokens are not revoked at provider (user must revoke separately)
curl --request DELETE \
--url https://flows.super.ai/api/integrations/credentials/{credential_id} \
--header 'Authorization: Bearer <token>' \
--header 'X-API-Key: <api-key>'import requests
url = "https://flows.super.ai/api/integrations/credentials/{credential_id}"
headers = {
"X-API-Key": "<api-key>",
"Authorization": "Bearer <token>"
}
response = requests.delete(url, headers=headers)
print(response.text)const options = {
method: 'DELETE',
headers: {'X-API-Key': '<api-key>', Authorization: 'Bearer <token>'}
};
fetch('https://flows.super.ai/api/integrations/credentials/{credential_id}', 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://flows.super.ai/api/integrations/credentials/{credential_id}",
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: Bearer <token>",
"X-API-Key: <api-key>"
],
]);
$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://flows.super.ai/api/integrations/credentials/{credential_id}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://flows.super.ai/api/integrations/credentials/{credential_id}")
.header("X-API-Key", "<api-key>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://flows.super.ai/api/integrations/credentials/{credential_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["X-API-Key"] = '<api-key>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyAuthorizations
API key authentication. Include your API key in the X-API-Key header as: X-API-Key YOUR_API_KEY
Example:
X-API-Key: saf_1234567890
JWT Bearer token authentication. Include your access token in the Authorization header as: Bearer YOUR_ACCESS_TOKEN
Example:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Path Parameters
UUID of the credential to delete. Must belong to the authenticated user's organization.
Response
Credential deleted successfully