Dashboard
API Reference

API reference

Policy Endpoints

All endpoints are relative to https://policifyai.com/api/v1. All requests require a valid Bearer token. See Authentication.

Generate a policy

POST/policies/generate

Generates a new policy using AI. This is an asynchronous operation — the response includes a policy_id and status of processing. Poll the retrieve endpoint or use webhooks to know when generation is complete.

Request body

FieldTypeRequiredDescription
policy_typestringSlug of the policy type, e.g. privacy-policy
business_namestringName of the business
domainstringWebsite URL, e.g. https://example.com
jurisdictionstringISO 3166-1 country code, e.g. GB, US, DE
industrystringBusiness sector, e.g. ecommerce, saas, healthcare
languagestringISO 639-1 language code, e.g. en, de, fr (default: en)
contextstringAdditional context to improve accuracy
client_idstringAssociate with an agency client

Example request

curl -X POST https://policifyai.com/api/v1/policies/generate \
  -H "Authorization: Bearer pak_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "policy_type": "privacy-policy",
    "business_name": "Acme Ltd",
    "domain": "https://acme.com",
    "jurisdiction": "GB",
    "language": "en"
  }'

Response

{
  "policy_id": "pol_abc123",
  "status": "processing",
  "estimated_seconds": 45
}

List policies

GET/policies

Returns a paginated list of all policies in your workspace.

Query parameters

page

Page number (default: 1)

limit

Results per page, max 100 (default: 20)

client_id

Filter by client ID

policy_type

Filter by policy type slug

status

Filter by status: processing | ready | failed

Retrieve a policy

GET/policies/{id}

Returns a single policy including its full HTML content when status is ready.

{
  "policy_id": "pol_abc123",
  "status": "ready",
  "policy_type": "privacy-policy",
  "business_name": "Acme Ltd",
  "domain": "https://acme.com",
  "jurisdiction": "GB",
  "language": "en",
  "content_html": "<h1>Privacy Policy</h1>...",
  "created_at": "2025-01-01T12:00:00Z",
  "updated_at": "2025-01-01T12:01:30Z"
}

Update a policy

PATCH/policies/{id}

Update a policy's metadata or content. Only the fields you include are changed.

{
  "content_html": "<h1>Updated Privacy Policy</h1>..."
}

Delete a policy

DELETE/policies/{id}

Permanently deletes a policy. This action cannot be undone. Returns 204 No Content on success.

Policy type slugs

Common slugs for the policy_type field:

privacy-policycookie-policyterms-of-serviceterms-and-conditionsgdpr-complianceccpa-noticedata-processing-agreementhipaa-policyrefund-policyreturn-policyshipping-policydisclaimeracceptable-use-policyeulandasla

For the full list of 120+ slugs see Policy types.