Short.io Domain DNS API
The Domain DNS API from Short.io — 1 operation(s) for domain dns.
The Domain DNS API from Short.io — 1 operation(s) for domain dns.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/short-io:short-io-domain-dns-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Short.io Domain DNS API
version: 1.0.0
x-scalar-sdk-installation:
- lang: Node
description: 'Install the official **Short.io Node.js SDK** from npm:'
source: npm install @short.io/client-node
servers:
- url: https://api.short.io
description: API server
security:
- apiKey: []
tags:
- name: Domain DNS
paths:
/domains/dnsRecord:
get:
summary: List DNS records
tags:
- Domain DNS
description: Returns the customer-managed DNS records for a domain registered through Short.io.
parameters:
- schema:
type: string
format: fqdn
example: example.com
in: query
name: hostname
required: true
description: Domain hostname
responses:
'200':
description: Default Response
operationId: listDnsrecord
x-codeSamples:
- lang: JavaScript
label: '@short.io/client-node'
source: "const { data } = await listDnsrecord({\n \"query\": {\n \"hostname\": \"example.com\"\n }\n});\n"
post:
summary: Create DNS records
tags:
- Domain DNS
description: Creates one or more DNS records for a domain registered through Short.io.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- hostname
- records
properties:
hostname:
type: string
format: fqdn
description: Domain hostname
example: example.com
records:
type: array
items:
type: object
required:
- name
- type
- value
- ttl
properties:
name:
type: string
description: DNS record name
example: mail.example.com
type:
enum:
- MX
- TXT
description: DNS record type
value:
type: string
description: DNS record value
example: 10 mail.example.com
ttl:
type: integer
minimum: 60
maximum: 7200
description: DNS record TTL in seconds
example: 3600
description: DNS records to create
responses:
'200':
description: Default Response
operationId: createDnsrecord
x-codeSamples:
- lang: JavaScript
label: '@short.io/client-node'
source: "const { data } = await createDnsrecord({\n \"body\": {\n \"hostname\": \"example.com\",\n \"records\": [\n {\n \"name\": \"mail.example.com\",\n \"type\": \"MX\",\n \"value\": \"10 mail.example.com\",\n \"ttl\": 3600\n }\n ]\n }\n});\n"
delete:
summary: Delete DNS records
tags:
- Domain DNS
description: Deletes DNS records of the given name and type. Omit `value` to remove every matching record.
parameters:
- schema:
type: string
format: fqdn
example: example.com
in: query
name: hostname
required: true
description: Domain hostname
- schema:
type: string
example: mail.example.com
in: query
name: name
required: true
description: DNS record name
- schema:
enum:
- MX
- TXT
in: query
name: type
required: true
description: DNS record type
- schema:
type: string
example: 10 mail.example.com
in: query
name: value
required: false
description: Specific value to delete, otherwise all matching are removed
responses:
'200':
description: Default Response
operationId: deleteDnsrecord
x-codeSamples:
- lang: JavaScript
label: '@short.io/client-node'
source: "const { data } = await deleteDnsrecord({\n \"query\": {\n \"hostname\": \"example.com\",\n \"name\": \"mail.example.com\",\n \"type\": \"MX\",\n \"value\": \"10 mail.example.com\"\n }\n});\n"
components:
securitySchemes:
apiKey:
type: apiKey
name: Authorization
in: header