Status tags

Status tags are system-managed labels that OpusDNS assigns automatically based on the state of a domain. Unlike user tags, you cannot create, modify, or remove status tags through the API — they are controlled entirely by the system and reflect conditions that may require your attention.

How status tags work

When a domain enters a state that requires action or awareness, OpusDNS assigns the corresponding status tag automatically via a background process. Once the condition is resolved, the tag is removed. No API calls are needed on your part to manage these tags.

Available status tags

Tag type Label Description
VERIFICATION_REQUIRED VERIFICATION REQUIRED The domain requires identity verification from the registrant. Assigned when a registry mandates holder verification and removed once verification is completed.
CREATE_REQUESTED CREATE REQUESTED The registration was accepted but the domain does not exist at the registry yet, because it is waiting on an out-of-band step — the signed applicant declaration for a .no registration, for example. The domain cannot be updated while this tag is set. Removed once the registry create succeeds.
INBOUND_TRANSFER_PENDING INBOUND TRANSFER PENDING A transfer of the domain into your account is in progress at the registry.
OUTBOUND_TRANSFER_PENDING OUTBOUND TRANSFER PENDING A transfer of the domain away from your account is pending. Removed when the transfer completes or is rejected.
EXTERNAL EXTERNAL The domain is mirrored from a connected external registrar rather than sponsored by OpusDNS. See Read-only domains.
IMPORT_REQUESTED IMPORT REQUESTED The domain was bulk-imported and is awaiting its initial registry synchronization.
IMPORT_PENDING IMPORT PENDING The initial registry synchronization for an imported domain has been queued and is awaiting execution.
DNSSEC_PENDING DNSSEC PENDING The zone is signed, but the registry has not yet accepted the DS record and the submission is being retried. See Domain DNSSEC.

Additional status tag types may be introduced over time. Your integration should handle unknown tag_type values gracefully.

Status tag response format

When you request include=tags on a domain endpoint, each domain includes a status_tags array alongside the user tags array:

{
  "domain_id": "domain_01h45ytscbebyvny4gc8cr8ma2",
  "name": "example.com",
  "tags": [],
  "status_tags": [
    {
      "tag_type": "VERIFICATION_REQUIRED",
      "label": "VERIFICATION REQUIRED",
      "color": "color-1"
    }
  ]
}
Field Type Description
tag_type string The status tag type identifier (e.g. VERIFICATION_REQUIRED). Use this for programmatic checks.
label string Human-readable display label.
description string Optional description of the status condition.
color string Display color for UI rendering. Colors are intentionally generic (e.g. color-1) so that API consumers can map them to values that fit their own branding.

Include status tags in responses

Status tags are returned together with user tags when you add include=tags to a domain request:

curl "$OPUSDNS_API_BASE/v1/domains?include=tags" \
  --header "X-Api-Key: $OPUSDNS_API_KEY"

This works on both the domain list and single-domain endpoints:

curl "$OPUSDNS_API_BASE/v1/domains/example.com?include=tags" \
  --header "X-Api-Key: $OPUSDNS_API_KEY"

Filter domains by status tags

Use the status_tags parameter to find domains with specific status conditions:

curl "$OPUSDNS_API_BASE/v1/domains?status_tags=VERIFICATION_REQUIRED&include=tags" \
  --header "X-Api-Key: $OPUSDNS_API_KEY"

Filter mode

When filtering by multiple status tags, control the matching behavior with status_tag_mode:

Mode Behavior
match_any Domain matches if it has at least one of the specified status tags. This is the default.
match_all Domain matches only if it has all of the specified status tags.
match_none Domain matches only if it has none of the specified status tags. Domains carrying no status tags at all are included.
curl "$OPUSDNS_API_BASE/v1/domains?status_tags=VERIFICATION_REQUIRED&status_tag_mode=match_all&include=tags" \
  --header "X-Api-Key: $OPUSDNS_API_KEY"

Status tags vs. registry statuses

Status tags and registry statuses serve different purposes:

Status tags Registry statuses
Source Assigned by OpusDNS based on internal processes Set by the domain registry (e.g. Verisign, EURid)
Purpose Indicate conditions that may need your attention Control what operations are allowed on the domain
Management Automatic — no API calls needed Can be managed via PATCH /v1/domains/{domain_reference}
Examples VERIFICATION_REQUIRED clientTransferProhibited, ok, pendingTransfer

Both are visible in the domain response but in separate fields: status_tags for OpusDNS status tags and registry_statuses for EPP status codes.