Administrators
This guide covers managing API keys in Agility CMS, including key types, security, and best practices.
This guide covers managing API keys in Agility CMS, including key types, security, and best practices.
Agility CMS provides three types of API keys:
Purpose: Access published content in production
Use Case:
Security:
Purpose: Access draft content for preview
Use Case:
Security:
Purpose: Validate webhook requests
Use Case:
Security:
API keys have different permissions:
Environment Variables:
AGILITY_API_FETCH_KEY=your-fetch-key
AGILITY_API_PREVIEW_KEY=your-preview-key
AGILITY_SECURITY_KEY=your-security-key
Never:
// Production content access
const sdk = agility.getApi({
guid: process.env.AGILITY_GUID,
apiKey: process.env.AGILITY_API_FETCH_KEY,
isPreview: false
})
// Draft content access
const sdk = agility.getApi({
guid: process.env.AGILITY_GUID,
apiKey: process.env.AGILITY_API_PREVIEW_KEY,
isPreview: true
})
// Webhook validation
const securityKey = request.headers.get("x-agility-security-key")
if (securityKey !== process.env.AGILITY_SECURITY_KEY) {
return Response.json({ error: "Unauthorized" }, { status: 401 })
}
Issue: API calls return 401 Unauthorized
Solutions:
Issue: Need to regenerate compromised key
Steps:
Next: Webhooks - Webhook configuration