Automattic Domains API
The domains API from Automattic — 25 operation(s) for domains.
The domains API from Automattic — 25 operation(s) for domains.
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/automattic-domains-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: WordPress.com REST API — wpcom/v2 namespace Domains API
version: v2
description: Derived by API Evangelist from the WordPress.com REST API route index published at https://public-api.wordpress.com/wpcom/v2/. Paths, HTTP methods, and parameter names/types/descriptions/defaults are taken verbatim from that index. Response schemas are not published in the route index, so successful responses are described but not schematised; the error envelope was observed live on public-api.wordpress.com.
contact:
name: Automattic
url: https://developer.wordpress.com/docs/api/
x-derived-from: https://public-api.wordpress.com/wpcom/v2/
x-derived-by: API Evangelist enrichment pipeline
servers:
- url: https://public-api.wordpress.com
security:
- bearerAuth: []
tags:
- name: domains
paths:
/wpcom/v2/domains/auction/expired-domain-stats:
get:
operationId: getWpcomV2DomainsAuctionExpiredDomainStats
summary: GET /wpcom/v2/domains/auction/expired-domain-stats
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
/wpcom/v2/domains/auction/expired-list-csv:
get:
operationId: getWpcomV2DomainsAuctionExpiredListCsv
summary: GET /wpcom/v2/domains/auction/expired-list-csv
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
/wpcom/v2/domains/auction/renew:
post:
operationId: postWpcomV2DomainsAuctionRenew
summary: POST /wpcom/v2/domains/auction/renew
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
/wpcom/v2/domains/auction/transfer{query_string}:
post:
operationId: postWpcomV2DomainsAuctionTransferQueryString
summary: POST /wpcom/v2/domains/auction/transfer{query_string}
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: query_string
in: path
required: true
schema:
type: string
/wpcom/v2/domains/bulk-actions:
get:
operationId: getWpcomV2DomainsBulkActions
summary: GET /wpcom/v2/domains/bulk-actions
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
delete:
operationId: deleteWpcomV2DomainsBulkActions
summary: DELETE /wpcom/v2/domains/bulk-actions
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
/wpcom/v2/domains/bulk-actions/set-auto-renew:
post:
operationId: postWpcomV2DomainsBulkActionsSetAutoRenew
summary: POST /wpcom/v2/domains/bulk-actions/set-auto-renew
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
/wpcom/v2/domains/bulk-actions/update-contact-info:
post:
operationId: postWpcomV2DomainsBulkActionsUpdateContactInfo
summary: POST /wpcom/v2/domains/bulk-actions/update-contact-info
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
/wpcom/v2/domains/bulk-availability-check/{domain_names}:
get:
operationId: getWpcomV2DomainsBulkAvailabilityCheckbyDomainNames
summary: GET /wpcom/v2/domains/bulk-availability-check/{domain_names}
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: domain_names
in: path
required: true
schema:
type: string
/wpcom/v2/domains/bundle:
get:
operationId: getWpcomV2DomainsBundle
summary: GET /wpcom/v2/domains/bundle
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: query
in: query
required: false
schema:
type: string
default: ''
description: Domain name (e.g. "flowers.com") to build a bundle suggestion for.
/wpcom/v2/domains/diagnostics/{domain}:
get:
operationId: getWpcomV2DomainsDiagnosticsbyDomain
summary: GET /wpcom/v2/domains/diagnostics/{domain}
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: domain
in: path
required: true
schema:
type: string
/wpcom/v2/domains/dns/email/set-default-records:
post:
operationId: postWpcomV2DomainsDnsEmailSetDefaultRecords
summary: POST /wpcom/v2/domains/dns/email/set-default-records
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
requestBody:
content:
application/json:
schema:
type: object
properties:
domain:
description: The domain which default email DNS records will be restored
required:
- domain
/wpcom/v2/domains/dns/import/bind/{domain}:
post:
operationId: postWpcomV2DomainsDnsImportBindbyDomain
summary: POST /wpcom/v2/domains/dns/import/bind/{domain}
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: domain
in: path
required: true
schema:
type: string
/wpcom/v2/domains/dnssec/{domain}:
post:
operationId: postWpcomV2DomainsDnssecbyDomain
summary: POST /wpcom/v2/domains/dnssec/{domain}
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: domain
in: path
required: true
schema:
type: string
put:
operationId: putWpcomV2DomainsDnssecbyDomain
summary: PUT /wpcom/v2/domains/dnssec/{domain}
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: domain
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
data:
type: object
required:
- data
delete:
operationId: deleteWpcomV2DomainsDnssecbyDomain
summary: DELETE /wpcom/v2/domains/dnssec/{domain}
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: domain
in: path
required: true
schema:
type: string
/wpcom/v2/domains/dnssec/{domain}/nameserver:
get:
operationId: getWpcomV2DomainsDnssecbyDomainNameserver
summary: GET /wpcom/v2/domains/dnssec/{domain}/nameserver
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: domain
in: path
required: true
schema:
type: string
/wpcom/v2/domains/dnssec/{domain}/registry:
get:
operationId: getWpcomV2DomainsDnssecbyDomainRegistry
summary: GET /wpcom/v2/domains/dnssec/{domain}/registry
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: domain
in: path
required: true
schema:
type: string
/wpcom/v2/domains/glue-records:
post:
operationId: postWpcomV2DomainsGlueRecords
summary: POST /wpcom/v2/domains/glue-records
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
requestBody:
content:
application/json:
schema:
type: object
properties:
name_server:
type: string
ip_addresses:
type: array
items: {}
required:
- name_server
- ip_addresses
put:
operationId: putWpcomV2DomainsGlueRecords
summary: PUT /wpcom/v2/domains/glue-records
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
requestBody:
content:
application/json:
schema:
type: object
properties:
name_server:
type: string
ip_addresses:
type: array
items: {}
required:
- name_server
- ip_addresses
patch:
operationId: patchWpcomV2DomainsGlueRecords
summary: PATCH /wpcom/v2/domains/glue-records
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
requestBody:
content:
application/json:
schema:
type: object
properties:
name_server:
type: string
ip_addresses:
type: array
items: {}
required:
- name_server
- ip_addresses
/wpcom/v2/domains/glue-records/{domain}:
get:
operationId: getWpcomV2DomainsGlueRecordsbyDomain
summary: GET /wpcom/v2/domains/glue-records/{domain}
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: domain
in: path
required: true
schema:
type: string
/wpcom/v2/domains/glue-records/{name_server}:
delete:
operationId: deleteWpcomV2DomainsGlueRecordsbyNameServer
summary: DELETE /wpcom/v2/domains/glue-records/{name_server}
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: name_server
in: path
required: true
schema:
type: string
/wpcom/v2/domains/list/mine:
get:
operationId: getWpcomV2DomainsListMine
summary: GET /wpcom/v2/domains/list/mine
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
/wpcom/v2/domains/name-pulse/availability-check:
post:
operationId: postWpcomV2DomainsNamePulseAvailabilityCheck
summary: POST /wpcom/v2/domains/name-pulse/availability-check
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
requestBody:
content:
application/json:
schema:
type: object
properties:
domain_names:
type: array
items:
type: string
description: Domain names to check availability for (max 50)
include_pricing:
type: boolean
default: true
description: Whether to include pricing data for available domains
required:
- domain_names
/wpcom/v2/domains/name-pulse/suggestions:
get:
operationId: getWpcomV2DomainsNamePulseSuggestions
summary: GET /wpcom/v2/domains/name-pulse/suggestions
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: query
in: query
required: true
schema:
type: string
description: Search term for domain suggestions
- name: providers
in: query
required: false
schema:
type: string
description: Comma-separated provider names (donuts, verisign, domainsbot)
- name: quantity
in: query
required: false
schema:
type: integer
description: Number of suggestions to return (1-200). If omitted, returns all available suggestions.
- name: timeout
in: query
required: false
schema:
type: integer
description: Total timeout in milliseconds
- name: tlds
in: query
required: false
schema:
type: string
default: ''
description: Comma-separated TLDs to include
- name: use_ai
in: query
required: false
schema:
type: integer
enum:
- 0
- 1
default: 0
description: Enable AI suggestions (0 or 1)
- name: allow_premium
in: query
required: false
schema:
type: boolean
default: true
description: Include premium domains
- name: language
in: query
required: false
schema:
type: string
default: en
description: Language for suggestions
- name: include_pricing
in: query
required: false
schema:
type: boolean
default: true
description: Whether to include pricing data for suggestions
- name: exclude_exact_matches
in: query
required: false
schema:
type: boolean
default: true
description: Exclude suggestions whose SLD exactly matches the query with spaces removed
/wpcom/v2/domains/point-to-wpcom:
post:
operationId: postWpcomV2DomainsPointToWpcom
summary: POST /wpcom/v2/domains/point-to-wpcom
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
requestBody:
content:
application/json:
schema:
type: object
properties:
domain:
type: string
required:
- domain
/wpcom/v2/domains/propagation-status/{domain}:
get:
operationId: getWpcomV2DomainsPropagationStatusbyDomain
summary: GET /wpcom/v2/domains/propagation-status/{domain}
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: domain
in: path
required: true
schema:
type: string
/wpcom/v2/domains/secure-your-brand/{domain}:
get:
operationId: getWpcomV2DomainsSecureYourBrandbyDomain
summary: GET /wpcom/v2/domains/secure-your-brand/{domain}
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: domain
in: path
required: true
schema:
type: string
/wpcom/v2/domains/ssl/{domain}:
get:
operationId: getWpcomV2DomainsSslbyDomain
summary: GET /wpcom/v2/domains/ssl/{domain}
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: domain
in: path
required: true
schema:
type: string
post:
operationId: postWpcomV2DomainsSslbyDomain
summary: POST /wpcom/v2/domains/ssl/{domain}
tags:
- domains
responses:
'200':
description: OK
'401':
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/WPRestError'
parameters:
- name: domain
in: path
required: true
schema:
type: string
components:
schemas:
WPRestError:
type: object
description: WordPress REST API error envelope (observed on public-api.wordpress.com).
properties:
code:
type: string
example: rest_unauthorized
message:
type: string
example: Authentication required.
data:
type: object
properties:
status:
type: integer
example: 401
securitySchemes:
oauth2:
type: oauth2
description: WordPress.com OAuth 2.1, per https://public-api.wordpress.com/.well-known/openid-configuration
flows:
authorizationCode:
authorizationUrl: https://public-api.wordpress.com/oauth2-1/authorize
tokenUrl: https://public-api.wordpress.com/oauth2-1/token
refreshUrl: https://public-api.wordpress.com/oauth2-1/token
scopes:
global: ''
auth: ''
openid: ''
profile: ''
email: ''
users: ''
sites: ''
posts: ''
comments: ''
taxonomy: ''
follow: ''
sharing: ''
freshly-pressed: ''
notifications: ''
insights: ''
read: ''
stats: ''
media: ''
menus: ''
batch: ''
videos: ''
bearerAuth:
type: http
scheme: bearer