Delete API Key
curl --request DELETE \
--url https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/api-keys/{id}import requests
url = "https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/api-keys/{id}"
response = requests.delete(url)
print(response.text)const options = {method: 'DELETE'};
fetch('https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/api-keys/{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://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/api-keys/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
]);
$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.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/api-keys/{id}"
req, _ := http.NewRequest("DELETE", url, nil)
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.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/api-keys/{id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/api-keys/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
response = http.request(request)
puts response.read_bodyAPI Keys
Delete API Key
Permanently delete an API key
DELETE
/
app
/
v1
/
organizations
/
{organizationId}
/
projects
/
{projectId}
/
api-keys
/
{id}
Delete API Key
curl --request DELETE \
--url https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/api-keys/{id}import requests
url = "https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/api-keys/{id}"
response = requests.delete(url)
print(response.text)const options = {method: 'DELETE'};
fetch('https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/api-keys/{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://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/api-keys/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
]);
$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.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/api-keys/{id}"
req, _ := http.NewRequest("DELETE", url, nil)
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.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/api-keys/{id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/api-keys/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
response = http.request(request)
puts response.read_bodyPath Parameters
Organization ID
Project ID
API Key ID
Response
{
"message": "API key successfully deleted",
"id": "afd8012b-d81e-41c6-92cd-eed0c6cb3676"
}
Deleting an API key is permanent and cannot be undone. Any applications using this key will immediately lose access. Consider revoking the key first (setting status to
revoked) if you need time to migrate applications to a new key.Error Responses
API Key Not Found
{
"error": {
"code": "APIKEY_NOT_FOUND",
"message": "API key not found"
}
}
Code Examples
curl -X DELETE "https://api.metabind.ai/app/v1/organizations/org123/projects/proj456/api-keys/key123" \
-H "Authorization: Bearer YOUR_JWT"
const response = await fetch(
'https://api.metabind.ai/app/v1/organizations/org123/projects/proj456/api-keys/key123',
{
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_JWT'
}
}
);
const result = await response.json();
console.log(result.message);
var request = URLRequest(url: URL(string: "https://api.metabind.ai/app/v1/organizations/org123/projects/proj456/api-keys/key123")!)
request.httpMethod = "DELETE"
request.setValue("Bearer YOUR_JWT", forHTTPHeaderField: "Authorization")
let (data, _) = try await URLSession.shared.data(for: request)
val response = client.delete("https://api.metabind.ai/app/v1/organizations/org123/projects/proj456/api-keys/key123") {
header("Authorization", "Bearer YOUR_JWT")
}
println("Deleted API key")
⌘I