API Keys
Manage your API keys programmatically.
API Keys
Manage your API keys programmatically. Create, list, and delete API keys for your account.
Create API Key
POST
/v1/keys
Create a new API key for your account.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | A descriptive name for the key |
Code Examples
curl -X POST https://api.pdfapi.dev/v1/keys \
-H "Authorization: Bearer sk_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"name": "Production Server"
}'
const response = await fetch('https://api.pdfapi.dev/v1/keys', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.PDFAPI_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'Production Server'
}),
});
const { data } = await response.json();
console.log('New API key:', data.key);
import requests
response = requests.post(
'https://api.pdfapi.dev/v1/keys',
headers={
'Authorization': f'Bearer {os.environ["PDFAPI_KEY"]}',
'Content-Type': 'application/json',
},
json={
'name': 'Production Server'
}
)
data = response.json()['data']
print(f"New API key: {data['key']}")
payload := map[string]string{"name": "Production Server"}
body, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", "https://api.pdfapi.dev/v1/keys", bytes.NewBuffer(body))
req.Header.Set("Authorization", "Bearer "+os.Getenv("PDFAPI_KEY"))
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
Response
{
"data": {
"id": "key_abc123",
"name": "Production Server",
"key": "sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"created_at": "2025-01-15T10:30:00Z"
}
}
The full API key is only returned once upon creation. Store it securely - you won't be able to see it again!
List API Keys
GET
/v1/keys
List all API keys associated with your account.
Code Examples
curl https://api.pdfapi.dev/v1/keys \
-H "Authorization: Bearer sk_live_xxx"
const response = await fetch('https://api.pdfapi.dev/v1/keys', {
headers: {
'Authorization': `Bearer ${process.env.PDFAPI_KEY}`,
},
});
const { data } = await response.json();
console.log('API keys:', data);
import requests
response = requests.get(
'https://api.pdfapi.dev/v1/keys',
headers={
'Authorization': f'Bearer {os.environ["PDFAPI_KEY"]}',
}
)
data = response.json()['data']
for key in data:
print(f"{key['name']}: {key['key_preview']}")
req, _ := http.NewRequest("GET", "https://api.pdfapi.dev/v1/keys", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("PDFAPI_KEY"))
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
Response
{
"data": [
{
"id": "key_abc123",
"name": "Production Server",
"key_preview": "sk_live_xxxx...xxxx",
"created_at": "2025-01-15T10:30:00Z",
"last_used_at": "2025-01-18T14:22:00Z"
},
{
"id": "key_def456",
"name": "Development",
"key_preview": "sk_live_yyyy...yyyy",
"created_at": "2025-01-10T08:15:00Z",
"last_used_at": null
}
]
}
Delete API Key
DELETE
/v1/keys/:id
Delete an API key. This action is immediate and cannot be undone.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | string | The API key ID (e.g., key_abc123) |
Code Examples
curl -X DELETE https://api.pdfapi.dev/v1/keys/key_abc123 \
-H "Authorization: Bearer sk_live_xxx"
const response = await fetch('https://api.pdfapi.dev/v1/keys/key_abc123', {
method: 'DELETE',
headers: {
'Authorization': `Bearer ${process.env.PDFAPI_KEY}`,
},
});
if (response.ok) {
console.log('API key deleted');
}
import requests
response = requests.delete(
'https://api.pdfapi.dev/v1/keys/key_abc123',
headers={
'Authorization': f'Bearer {os.environ["PDFAPI_KEY"]}',
}
)
if response.status_code == 200:
print('API key deleted')
req, _ := http.NewRequest("DELETE", "https://api.pdfapi.dev/v1/keys/key_abc123", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("PDFAPI_KEY"))
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
Response
{
"data": {
"deleted": true
}
}
Error Responses
Key Not Found
{
"error": {
"code": "NOT_FOUND",
"message": "API key not found"
}
}
Cannot Delete Current Key
{
"error": {
"code": "FORBIDDEN",
"message": "Cannot delete the API key used to authenticate this request"
}
}