# Create a DNS record > POST /api/services/cloudflare/zones/{zoneId}/dns on the Vigilbase One API. Source: https://docs.vigilbase.com/one/api/reference/services/post-services-cloudflare-zones-zone-id-dns `POST https://one.vigilbase.com/api/services/cloudflare/zones/{zoneId}/dns` > Needs a recent sign-in: renewing a token doesn't count, and MCP sessions and API keys are always refused. See [changes that need a recent sign-in](https://docs.vigilbase.com/one/api#changes-that-need-a-recent-sign-in). ## Authorizations - `Authorization` (string, header, required): Bearer access token from Vigilbase Identity (`auth.vigilbase.com`), sent as `Authorization: Bearer `. The CLI gets one with `vigilbase login`. Organisation API keys can't call this endpoint: it needs a recent sign-in by a person. ## Path parameters - `zoneId` (string, required) ## Query parameters - `customerId` (string) ## Body (application/json) - `type` (string, required): One of `A`, `AAAA`, `CNAME`, `MX`, `TXT`, `NS`, `SRV`, `CAA`, `PTR`. - `name` (string, required): Min length 1. - `content` (string, required): Min length 1. - `ttl` (integer): Default `3600`. Minimum 1, maximum 86400. - `priority` (integer): Minimum 0, maximum 65535. - `proxied` (boolean): Default `false`. - `operationId` (string, required) ## Responses ### 200 Success ### 401 Authentication required ### 403 Not permitted ## Example request ```bash # Token from `vigilbase login`. API keys can't call this. curl --request POST \ --url 'https://one.vigilbase.com/api/services/cloudflare/zones/{zoneId}/dns' \ --header "Authorization: Bearer $VIGILBASE_TOKEN" \ --header 'Content-Type: application/json' \ --data '{"type":"A","name":"","content":"","ttl":3600,"priority":123,"proxied":false,"operationId":""}' ```