openapi: 3.1.0
info:
title: Web3 Partner API v3 account domains API
version: 3.0.0
contact:
name: Unstoppable Domains (Partner Engineering)
email: partnerengineering@unstoppabledomains.com
description: "# Feature Overview\nThe Web3 Partner API v3 provides you with the ability to lookup, register and manage Web3 domains. The API exposes a RESTful interface for interacting with Web3 domains and the Unstoppable Domains registry.\n- Lookup Domains: Search for specific domains or find suggested alternatives, to determine pricing, availability and on-chain details\n- Registering Domains: Secure domains into your dedicated Custody wallets to maintain the domains on the blockchain\n- Manage Domains: Update records on the blockchain or transfer the domain to external owners, all through a simple API interface\n\n## Custody Solution\nThe API takes the hassle of Web3 out of the equation. Unstoppable Domains will handle all blockchain interactions and concepts, while Partners simply use a RESTful API for managing domains.\n\nSince the domains will be in custody of the Partner, through Unstoppable Domains, the Partner is empowered to make any and all changes to the domains on behalf of their users.\n\nUnder the hood, Unstoppable Domains will manage dedicated custodial wallets for Partner-owned domains. These wallets are not shared between Partners and will uniquely identify the Partner on the various supported blockchains.\n\nShould the need arise to remove domains from custody, this is supported by changing the owner of domains to external owners.\n\n## Payments\nThe API will keep track of a running balance of charges and Unstoppable Domains will periodically invoice Partners to settle that balance. This empowers Partners to build payment processing in a way that works best for them.\n\n\n## Blockchain Support\nDomain details can be viewed across all of our supported blockchains:\n- Ethereum (ETH)\n- Polygon PoS (MATIC)\n- Base (BASE)\n\nDomains can **only be managed on Polygon PoS (MATIC) and Base (BASE)**. Domains on Ethereum (ETH) are readonly, but management support is coming soon.\n\n# Important Concepts\nThe API has some important concepts, in addition to Web3 Domains, that provide added utility, consistency and information.\n\n## Domain Ownership Type\nWeb3 domains exist on the supported Blockchains, and are owned by wallet addresses associated with those Blockchains. \nWe take ownership a step further, to provide improved security and reliability, by including an owner `type` in our ownership data.\nThe result is that a Domain's owner is defined by two values: `address` and `type`\n\nThe owner `type` can be one of the following:\n- `NONE`: Either the domain has never been owned or belongs to a \"burn\" address\n- `UD`: Owned by Unstoppable Domains\n- `SELF`: Domain belongs to a wallet addressed associated with your account, indicating you are able to manage it via the API\n- `EXTERNAL`: Owner doesn't qualify as any of the above. Changing to an `EXTERNAL` owner will result in the domain belonging to an address outside of the management of Unstoppable Domains and we will have no way to recover it.\n\nBy defining an owner in two parts (`address` and `type`) we ensure any irreversible action, such as transferring ownership, is deliberate and intended by requiring both the `address` and `type` in the request.\n\n## Operations\nAll interactions with the API that initiate changes will create an Operation for tracking that change.\nOperations can complete immediately or run in the background over the course of several minutes, depending on the Operation type and current conditions on the Blockchain.\n\nOperations include dependencies that represent the smaller units of work associated with the overall operation. These dependencies can also be tracked through the API and each have their own status and metadata.\n\nYour integration should properly handle and anticipate all of the following possible statuses for Operations and their dependencies:\n- `QUEUED` : The Operation has not started processing yet, but should be started shortly\n- `PROCESSING` : The Operation has started, often involving sending transactions to the Blockchain\n- `SIGNATURE_REQUIRED`: The operation is awaiting a signature in order to continue processing. This is only relevant to Self-Custody domain management.\n- `COMPLETED` : The Operation has finished processing successfully\n- `FAILED` : The Operation has finished processing and has either fully or partially failed\n- `CANCELLED` : The Operation has been cancelled, usually due to a failure with a sibling dependency\n\nSee the [Operations](/openapi/partner/v3/#tag/operations) API for additional information.\n\n## Wallets\nDomains ownership on the Blockchain is handled by associating a Domain with an \"address\". These addresses are typically managed by Wallets (usually in the form of an application on your computer or mobile device) that manage the private key for the public \"address\".\n\nThe API provides endpoints for creating/managing Wallets within your account to enable you to handle Domain ownership distribution in whatever way works for you. Any Domain that is owned by one of your account's Wallets is fully in your control to manage.\n\nSee the [Wallets](/openapi/partner/v3/#tag/wallets) API for additional information.\n\n# Get Access\nSee our quickstart guide for getting your Partner API key: [Set up Partner API Access](https://docs.unstoppabledomains.com/domain-distribution-and-management/quickstart/retrieve-an-api-key/)\n\nIf you have any questions, contact our [Partner Engineering Team](mailto:partnerengineering@unstoppabledomains.com?subject=Partner%20API%20v3%20Inquiry) to help with API access or learn more.\n"
servers:
- url: https://api.unstoppabledomains.com/partner/v3
description: Production
- url: https://api.ud-sandbox.com/partner/v3
description: Sandbox
security:
- bearer: []
tags:
- name: domains
x-displayName: Custody Domains
description: Manage your custody domains.
paths:
/domains/{name}:
patch:
operationId: updateDomainPatch
summary: Update a domain (partial update)
description: "Perform Domain updates while preserving the existing records.\n\n### Change Owner with Records Preserved\n```\n{\n \"owner\": {\n \"type\": \"EXTERNAL\",\n \"address\": \"0x123\"\n }\n}\n```\nChanges owner to the new owner address without modifying the domain records.\n\n#### Owner Types\nWhen changing owner of a domain, you must provide both a `type` and an `address` to clearly indicate the intent of the change.\n- `NONE`: Used when changing the owner to a \"burn\" address, which will result in nobody owning the domain\n - Valid \"burn\" addresses are `0x0000000000000000000000000000000000000000` and `0x000000000000000000000000000000000000dEaD`\n- `UD`: Used when changing the owner to an addressed owned by Unstoppable Domains\n- `SELF`: Used when changing the owner to another address that belongs to your account\n- `EXTERNAL`: Used when changing the owner to address that doesn't qualify as any of the above. \n - _WARNING_: This will result in the domain belonging to an address outside of the management of Unstoppable Domains and we will have no way to recover it.\n\n### Update Records with existing Records Preserved\n```\n{\n \"records\": {\n \"key2\": \"value2\"\n }\n}\n```\nWhen applied to a domain with existing records, or with an existing `key2`, will result in only the `key2` value being set to the new value.\n\nSee [our documentation](https://docs.unstoppabledomains.com/resolution/guides/records-reference/) for more information on standardized keys.\n"
parameters:
- name: name
required: true
in: path
schema:
$ref: '#/components/schemas/DomainName'
- name: $preview
in: query
schema:
$ref: '#/components/schemas/OperationPreviewParameter'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DomainUpdateRequestBody'
responses:
200:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DomainOperationResponse'
400:
description: Validation error or bad request due to domain custody, unsupported blockchain, etc.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
ValidationError:
$ref: '#/components/examples/ValidationError'
NoChange:
$ref: '#/components/examples/NoChange'
ConcurrentOperation:
$ref: '#/components/examples/ConcurrentOperation'
CustodyRequired:
$ref: '#/components/examples/CustodyRequired'
UnsupportedBlockchain:
$ref: '#/components/examples/UnsupportedBlockchain'
BadRequest:
$ref: '#/components/examples/BadRequest'
502:
$ref: '#/components/responses/502BadGateway'
tags:
- domains
put:
operationId: updateDomainPut
summary: Update a domain (overwriting update)
description: "Perform Domain updates while doing full resets of the records.\n\n### Change Owner with Record Reset\n```\n{\n \"owner\": {\n \"type\": \"EXTERNAL\",\n \"address\": \"0x123\"\n },\n \"records\": {}\n}\n```\nClears all records from the domain, then changes owner to the new owner address.\n\nNOTE: You must include `\"records\": {}` to indicate the intent to clear records.\n\n#### Owner Types\nWhen changing owner of a domain, you must provide both a `type` and an `address` to clearly indicate the intent of the change.\n- `NONE`: Used when changing the owner to a \"burn\" address, which will result in nobody owning the domain\n - Valid \"burn\" addresses are `0x0000000000000000000000000000000000000000` and `0x000000000000000000000000000000000000dEaD`\n- `UD`: Used when changing the owner to an addressed owned by Unstoppable Domains\n- `SELF`: Used when changing the owner to another address that belongs to your account\n- `EXTERNAL`: Used when changing the owner to address that doesn't qualify as any of the above.\n - _WARNING_: This will result in the domain belonging to an address outside of the management of Unstoppable Domains and we will have no way to recover it.\n\n### Update Records with Record Reset\n```\n{\n \"records\": {\n \"key2\": \"value2\"\n }\n}\n```\nWhen applied to a domain with existing records, only `key2` will remain after the update is complete.\n\nSee [our documentation](https://docs.unstoppabledomains.com/resolution/guides/records-reference/) for more information on standardized keys.\n"
parameters:
- name: name
required: true
in: path
schema:
$ref: '#/components/schemas/DomainName'
- name: $preview
in: query
schema:
$ref: '#/components/schemas/OperationPreviewParameter'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DomainUpdateRequestBody'
responses:
200:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DomainOperationResponse'
400:
description: Validation error or bad request due to domain custody, unsupported blockchain, etc.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
ValidationError:
$ref: '#/components/examples/ValidationError'
NoChange:
$ref: '#/components/examples/NoChange'
ConcurrentOperation:
$ref: '#/components/examples/ConcurrentOperation'
CustodyRequired:
$ref: '#/components/examples/CustodyRequired'
UnsupportedBlockchain:
$ref: '#/components/examples/UnsupportedBlockchain'
BadRequest:
$ref: '#/components/examples/BadRequest'
502:
$ref: '#/components/responses/502BadGateway'
tags:
- domains
delete:
operationId: returnDomain
summary: Return and refund a domain
description: 'Return the domain to Unstoppable Domains so it is once again considered available for registering. The amount previously added to your running balance will be removed after successfully returning a domain.
Returns are only allowed within 14 days of the original registration date, per our return policy.
'
parameters:
- name: name
required: true
in: path
schema:
type: string
- name: $preview
in: query
schema:
$ref: '#/components/schemas/OperationPreviewParameter'
responses:
200:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DomainOperationResponse'
400:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
ValidationError:
$ref: '#/components/examples/ValidationError'
tags:
- domains
/domains/{domainName}:
get:
operationId: DomainsController.getDomain
parameters:
- in: path
name: domainName
required: true
schema:
pattern: '[^\/#\?]+?'
type: string
description: A domain name registered by Unstoppable Domains
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DomainResponse'
description: ''
summary: Get domain
tags:
- domains
description: '**Get Records for a Domain**<br/>**Note:** The API should be used in a backend system. If you need the data in client apps, please build a proxy backend to hide the API key.'
/domains:
get:
operationId: DomainsController.getDomainsList
parameters:
- in: query
name: resolution
required: false
schema:
type: object
properties:
data:
type: array
items:
type: string
description: See this [list](https://github.com/unstoppabledomains/uns/blob/main/uns-config.json) for all the resolution keys supported
style: deepObject
- in: query
name: owners
schema:
items:
minLength: 1
type: string
type: object
properties:
data:
type: array
items:
type: string
description: Wallet addresses of the owners of domains
- in: query
name: tlds
schema:
items:
type: string
type: object
properties:
data:
type: array
items:
enum:
- x
- polygon
- nft
- crypto
- blockchain
- bitcoin
- dao
- '888'
- wallet
- binanceus
- hi
- klever
- kresus
- anime
- manga
- go
- zil
- eth
description: Domain ending supported such as `crypto`, `x`, or `polygon`. See [supported tlds](https://api.unstoppabledomains.com/resolve/supported_tlds) for the full list
- in: query
name: sortBy
schema:
type: string
enum:
- id
- name
- created_at
description: Sort key to specify how the returned domain list is sorted
- in: query
name: sortDirection
schema:
type: string
enum:
- ASC
- DESC
description: Sort order of the returned domain list
- in: query
name: startingAfter
schema:
maximum: 200
type: string
minimum: 1
description: 'Query offset to skip a number of record, example: 100'
- in: query
name: perPage
schema:
type: number
description: 'Number of domains returned in the list, example: 50'
responses:
'200':
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/DomainResponse'
meta:
type: object
items:
$ref: '#/components/schemas/DomainsListMeta'
description: Successful response
summary: Get domains list
tags:
- domains
description: "\n **Get Records for Multiple Domains**\n <br/>\n \nThe API only supports Unstoppable Domains' naming services for backward compatibility. A new API version is coming soon for other naming services\n<ul>\n <li>\n <p>Unstoppable Domain's <a href=\"https://docs.unstoppabledomains.com/smart-contracts/overview/uns-architecture-overview\" target=\"_blank\">UNS</a> and <a href=\"https://docs.unstoppabledomains.com/smart-contracts/overview/cns-architecture-overview\" target=\"_blank\">CNS</a> with TLDs:\n<strong>.x</strong>, <strong>.polygon</strong>, <strong>.nft</strong>, <strong>.crypto</strong>, <strong>.blockchain</strong>, <strong>.bitcoin</strong>, <strong>.dao</strong>, <strong>.888</strong>, <strong>.wallet</strong>, <strong>.binanceus</strong>, <strong>.hi</strong>, <strong>.klever</strong>, <strong>.kresus</strong>, <strong>.anime</strong>, <strong>.manga</strong>, <strong>.go</strong>, <strong>.zil</strong></p>\n </li>\n <li>\n <p>Unstoppable Domain's <a href=\"https://unstoppabledomains.com/blog/categories/announcements/article/zilliqa-naming-service\" target=\"_blank\">Zilliqa</a> with TLDs:\n<strong>zil</strong></p>\n </li>\n</ul>\n\n <br/>\n **Note:** The API should be used in a backend system. If you need the data in client apps, please build a proxy backend to hide the API key."
/domains/{domainName}/transfers/latest:
get:
operationId: DomainsController.getDomainsLastTransfer
parameters:
- in: path
name: domainName
required: true
schema:
pattern: '[^\/#\?]+?'
type: string
description: A domain name registered by Unstoppable Domains
responses:
'200':
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/DomainLatestTransfer'
description: Successful response
summary: Get domains last transfer
tags:
- domains
description: '**Get Domain Transfer Events**<br/>**Note:** The API should be used in a backend system. If you need the data in client apps, please build a proxy backend to hide the API key.'
/records:
get:
operationId: DomainsController.getDomainsRecords
parameters:
- in: query
name: domains
required: true
schema:
items:
minLength: 1
type: string
maxItems: 50
type: object
properties:
data:
type: array
items:
type: string
description: Domain names registered by Unstoppable Domains. At least 1 domain must be passed in
- in: query
name: key
required: false
schema:
type: string
description: Filtered resolution key. See above to see the supported keys on different naming services
responses:
'200':
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/DomainRecords_2'
description: Successful response
summary: Get domains records
tags:
- domains
description: "\n **Get Records for Multiple Domains**\n <br/>\n It's recommended to use this API on different naming services as they support different record keys\n <ul>\n <li>\n <p>Unstoppable Domain's <a href=\"https://docs.unstoppabledomains.com/smart-contracts/overview/uns-architecture-overview\" target=\"_blank\">UNS</a> and <a href=\"https://docs.unstoppabledomains.com/smart-contracts/overview/cns-architecture-overview\" target=\"_blank\">CNS</a> with TLDs:\n<strong>.x</strong>, <strong>.polygon</strong>, <strong>.nft</strong>, <strong>.crypto</strong>, <strong>.blockchain</strong>, <strong>.bitcoin</strong>, <strong>.dao</strong>, <strong>.888</strong>, <strong>.wallet</strong>, <strong>.binanceus</strong>, <strong>.hi</strong>, <strong>.klever</strong>, <strong>.kresus</strong>, <strong>.anime</strong>, <strong>.manga</strong>, <strong>.go</strong>, <strong>.zil</strong><br/>See this <a href=\"https://github.com/unstoppabledomains/uns/blob/main/uns-config.json\" target=\"_blank\">list</a> for all the resolution keys supported</p>\n </li>\n <li>\n <p>\n Ethereum Naming Service - <a href=\"https://docs.ens.domains/\" target=\"_blank\">ENS</a> with TLDs:\n<strong>.eth</strong>\n <br/>See Ens' <a href=\"https://docs.ens.domains/ens-improvement-proposals\" target=\"_blank\">document</a> for all the resolution keys supported\n </p>\n </li>\n </ul>\n <br/>**Note:** The API should be used in a backend system. If you need the data in client apps, please build a proxy backend to hide the API key."
components:
schemas:
UpdateRecordsParametersResponse:
type: object
properties:
recordUpdates:
$ref: '#/components/schemas/DomainRecords'
resetRecords:
type: boolean
required:
- recordUpdates
- resetRecords
WebhookCreateParametersResponse:
type: object
properties:
type:
$ref: '#/components/schemas/WebhookType'
url:
type: string
format: uri
required:
- type
- url
WebhookDeleteParametersResponse:
type: object
properties:
id:
type: string
required:
- id
DomainLatestTransfer:
properties:
domain:
type: string
from:
minLength: 1
type: string
to:
minLength: 1
type: string
networkId:
minLength: 1
type: integer
blockNumber:
minLength: 1
type: integer
blockchain:
minLength: 1
type: string
type: object
required:
- domain
- from
- to
- networkId
- blockNumber
- blockchain
DomainUpdateRequestBody:
type: object
properties:
owner:
$ref: '#/components/schemas/DomainUpdateRequestBodyOwner'
records:
$ref: '#/components/schemas/UpdateDomainRecords'
DomainResponse:
properties:
meta:
$ref: '#/components/schemas/DomainMetadata'
records:
type: object
type: object
required:
- meta
- records
OperationType:
type: string
enum:
- DOMAIN_CLAIM
- DOMAIN_UPDATE
- DOMAIN_RETURN
- WALLET_CREATE
- WALLET_UPDATE
- WALLET_VERIFY
- ACCOUNT_UPDATE
WalletCreateSubOperationResponse:
allOf:
- $ref: '#/components/schemas/PlatformSubOperationResponse'
- type: object
properties:
result:
$ref: '#/components/schemas/WalletCreateResultResponse'
type:
type: string
enum:
- WALLET_CREATE
required:
- type
UpdateDomainRecords:
allOf:
- $ref: '#/components/schemas/DomainRecords'
- type: object
maxProperties: 500
SubOperationTransactionResponse:
type: object
properties:
hash:
type: string
blockchain:
$ref: '#/components/schemas/BlockchainType'
required:
- blockchain
PlatformSubOperationResponse:
allOf:
- $ref: '#/components/schemas/SubOperationResponse'
- type: object
properties:
'@type':
type: string
enum:
- unstoppabledomains.com/partner.v3.PlatformOperation
required:
- '@type'
OwnerType:
type: string
enum:
- NONE
- UD
- SELF
- EXTERNAL
description: '- `NONE`: Domain is not currently owned by anyone
- `UD`: Domain is owned by a wallet/contract that belongs to Unstoppable Domains
- `SELF`: Domain is owned by your account. You can manage this domains through the API
- `EXTERNAL`: Owner doesn''t qualify as any of the above.
'
EvmOwnerAddress:
type: string
example: '0xb4783AeF93923a2d4eEA29C84f347F26E62e4321'
pattern: ^0x[a-fA-F0-9]{40}$
DomainRecords_2:
properties:
domain:
type: string
records:
type: object
type: object
required:
- domain
- records
TransferSubOperationResponse:
allOf:
- $ref: '#/components/schemas/BlockchainSubOperationResponse'
- type: object
properties:
type:
type: string
enum:
- TRANSFER
parameters:
$ref: '#/components/schemas/TransferParametersResponse'
required:
- type
- parameters
SubOperationResponse:
type: object
properties:
id:
type: string
example: bc-2db427bd-5613-40c7-85b1-ab38beed0ed0
status:
$ref: '#/components/schemas/OperationStatus'
required:
- status
- id
MintParametersResponse:
type: object
properties:
initialRecords:
$ref: '#/components/schemas/DomainRecords'
toAddress:
$ref: '#/components/schemas/OwnerAddress'
required:
- toAddress
WebhookCreateSubOperationResponse:
allOf:
- $ref: '#/components/schemas/PlatformSubOperationResponse'
- type: object
properties:
parameters:
$ref: '#/components/schemas/WebhookCreateParametersResponse'
result:
$ref: '#/components/schemas/WebhookCreateResultResponse'
type:
type: string
enum:
- WEBHOOK_CREATE
required:
- parameters
- type
OwnerAddress:
oneOf:
- $ref: '#/components/schemas/EvmOwnerAddress'
OperationStatus:
type: string
enum:
- QUEUED
- SIGNATURE_REQUIRED
- PROCESSING
- COMPLETED
- FAILED
- CANCELLED
UpdateRecordsSubOperationResponse:
allOf:
- $ref: '#/components/schemas/BlockchainSubOperationResponse'
- type: object
properties:
type:
type: string
enum:
- UPDATE_RECORDS
parameters:
$ref: '#/components/schemas/UpdateRecordsParametersResponse'
required:
- type
- parameters
WalletSetDefaultSubOperationResponse:
allOf:
- $ref: '#/components/schemas/PlatformSubOperationResponse'
- type: object
properties:
parameters:
$ref: '#/components/schemas/WalletSetDefaultParametersResponse'
type:
type: string
enum:
- WALLET_SET_DEFAULT
required:
- parameters
- type
ErrorResponse:
oneOf:
- $ref: '#/components/schemas/ErrorResponseSingle'
- $ref: '#/components/schemas/ErrorResponseMulti'
ErrorResponseContextEntityMulti:
type: object
properties:
type:
type: string
enum:
- MULTI_VALUE
values:
type: array
items:
$ref: '#/components/schemas/ErrorResponseContextEntitySingle'
required:
- type
- values
BlockchainSubOperationResponse:
allOf:
- $ref: '#/components/schemas/SubOperationResponse'
- type: object
properties:
'@type':
type: string
enum:
- unstoppabledomains.com/partner.v3.BlockchainOperation
transaction:
$ref: '#/components/schemas/SubOperationTransactionResponse'
required:
- '@type'
ErrorResponseSingle:
type: object
properties:
code:
type: string
message:
type: string
context:
$ref: '#/components/schemas/ErrorResponseContext'
DomainsListMeta:
properties:
nextStartingAfter:
type: string
minLength: 1
sortBy:
type: string
minLength: 1
sortDirection:
type: string
minLength: 1
perPage:
maximum: 200
type: string
minimum: 1
minLength: 1
hasMore:
type: string
minLength: 1
type: object
required:
- nextStartingAfter
- sortBy
- sortDirection
- perPage
- hasMore
DomainName:
type: string
example: matt.crypto
ErrorResponseContextEntitySingle:
type: object
properties:
type:
type: string
value:
type: string
required:
- type
- value
DomainRecords:
type: object
additionalProperties:
type: string
example:
crypto.ETH.address: '0xb4783AeF93923a2d4eEA29C84f347F26E62e4321'
crypto.MATIC.version.MATIC.address: '0xb4783AeF93923a2d4eEA29C84f347F26E62e5678'
crypto.MATIC.version.ERC20.address: '0xb4783AeF93923a2d4eEA29C84f347F26E62e0921'
ErrorResponseContext:
type: object
properties:
entities:
type: array
items:
$ref: '#/components/schemas/ErrorResponseContextEntity'
required:
- entities
WalletCreateResultResponse:
type: object
properties:
address:
$ref: '#/components/schemas/OwnerAddress'
required:
- address
OperationCheckResponse:
type: object
properties:
id:
type: string
example: op-4abb409c-9283-4589-bd36-d27a757a2165
'@type':
type: string
enum:
- unstoppabledomains.com/partner.v3.Operation
status:
$ref: '#/components/schemas/OperationStatus'
type:
$ref: '#/components/schemas/OperationType'
domain:
$ref: '#/components/schemas/DomainName'
lastUpdatedTimestamp:
type: number
example: 1684356429790
dependencies:
type: array
items:
anyOf:
- $ref: '#/components/schemas/MintSubOperationResponse'
- $ref: '#/components/schemas/UpdateRecordsSubOperationResponse'
- $ref: '#/components/schemas/TransferSubOperationResponse'
- $ref: '#/components/schemas/ReturnSubOperationResponse'
- $ref: '#/components/schemas/WalletCreateSubOperationResponse'
- $ref: '#/components/schemas/WalletSetDefaultSubOperationResponse'
- $ref: '#/components/schemas/WebhookCreateSubOperationResponse'
- $ref: '#/components/schemas/WebhookDeleteSubOperationResponse'
required:
- id
- status
- type
- dependencies
- '@type'
- lastUpdatedTimestamp
OperationPreviewParameter:
type: boolean
default: false
description: 'Allows simulating the operation creation (when set to `true`), without actually starting any processing. This can be used to validate the operation will be permitted and get a preview of the initial outcome.
# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/unstoppable-domains/refs/heads/main/openapi/unstoppable-domains-domains-api-openapi.yml