---
title: "Create a delegation signer record"
method: POST
path: "/{account}/domains/{domain}/ds_records"
tags: ["domain dnssec"]
---

# Create a delegation signer record

`POST /{account}/domains/{domain}/ds_records`

## Request

- Base URL: `https://api.dnsimple.com/v2`
- URL: `https://api.dnsimple.com/v2/{account}/domains/{domain}/ds_records`
- Auth: one of:
  - HTTP basic
  - HTTP bearer
- TypeScript: <https://skmtc.dev/dnsimple/apis/dnsimple-api/docs/:account/domains/:domain/ds_records/post.ts> (a function with typed inputs; its response is checked against the schema)

Adds a DS record to the domain.

## Path parameters

- `account` integer, required
- `domain` string, required

## Request body

- object
  - `algorithm` string
  - `digest` string
  - `digest_type` string
  - `keytag` string
  - `public_key` string

## Response `201`

Successfully added delegation signer record

- object
  - `data` DelegationSigner, required
    - `id` integer, required
    - `domain_id` integer, required
    - `algorithm` string, required
    - `digest` string, required
    - `digest_type` string, required
    - `keytag` string, required
    - `public_key` string, required
    - `created_at` string, date-time, required: A date-time value, representing when the entry was created, formatted as ISO 8601.
    - `updated_at` string, date-time, required: A date-time value, representing when the entry was last updated, formatted as ISO 8601.

## Other responses

- `400`: A required parameter is missing or the request is invalid.
- `404`: The requested resource doesn't exist.

## Changes

- **2025-07-11** (v2) `06780be0ef17`: 13 info
  - the response property `data` became required for the status `201`
  - the response property `data/algorithm` became required for the status `201`
  - the response property `data/created_at` became required for the status `201`
  - the response property `data/digest` became required for the status `201`
  - …9 more
- **2023-07-18** (v2) `c8591dcf8c29`: 13 breaking
  - the response property `data` became optional for the status `201`
  - the response property `data/algorithm` became optional for the status `201`
  - the response property `data/created_at` became optional for the status `201`
  - the response property `data/digest` became optional for the status `201`
  - …9 more

[Operation history](https://skmtc.dev/dnsimple/apis/dnsimple-api/changes/:account/domains/:domain/ds_records/post.md)

---

[API](https://skmtc.dev/dnsimple/apis/dnsimple-api.md) - [All operations](https://skmtc.dev/dnsimple/apis/dnsimple-api/llms.txt) - [OpenAPI document](https://skmtc.dev/dnsimple/apis/dnsimple-api/revisions/2d2e7a8fb60a?raw)
