mirror of
https://github.com/google/nomulus
synced 2026-01-03 11:45:39 +00:00
We've moved these over to the User class, so we should remove these for clarity. In addition, we should make it clear (in Java at least) that the field in the RegistryLock object refers to the email address used for the lock in question.
609 lines
21 KiB
JSON
609 lines
21 KiB
JSON
{
|
|
"swagger": "2.0",
|
|
"info": {
|
|
"version": "1.0.0",
|
|
"title": "Console API",
|
|
"description": "API for managing registrars, user data, registry locks, domain lists, users, and contact settings."
|
|
},
|
|
"basePath": "/console-api",
|
|
"schemes": [
|
|
"https"
|
|
],
|
|
"paths": {
|
|
"/registrars": {
|
|
"get": {
|
|
"summary": "Retrieve a list of registrars",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Successful retrieval of registrars.",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/Registrar"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/userdata": {
|
|
"get": {
|
|
"summary": "Retrieve user data",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Successful retrieval of user data.",
|
|
"schema": {
|
|
"$ref": "#/definitions/UserData"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/registry-lock": {
|
|
"get": {
|
|
"summary": "Retrieve registry lock information",
|
|
"parameters": [
|
|
{
|
|
"name": "registrarId",
|
|
"in": "query",
|
|
"description": "Unique identifier for the registrar.",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Successful retrieval of registry lock information.",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/RegistryLock"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/domain-list": {
|
|
"get": {
|
|
"summary": "Retrieve a list of domains",
|
|
"parameters": [
|
|
{
|
|
"name": "registrarId",
|
|
"in": "query",
|
|
"description": "Unique identifier for the registrar.",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "resultsPerPage",
|
|
"in": "query",
|
|
"description": "Number of results per page.",
|
|
"required": true,
|
|
"type": "integer"
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Successful retrieval of domain list.",
|
|
"schema": {
|
|
"$ref": "#/definitions/DomainList"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users": {
|
|
"get": {
|
|
"summary": "Retrieve a list of users",
|
|
"parameters": [
|
|
{
|
|
"name": "registrarId",
|
|
"in": "query",
|
|
"description": "Unique identifier for the registrar.",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Successful retrieval of users.",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/User"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/settings/contacts": {
|
|
"get": {
|
|
"summary": "Retrieve contact settings",
|
|
"parameters": [
|
|
{
|
|
"name": "registrarId",
|
|
"in": "query",
|
|
"description": "Unique identifier for the registrar.",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Successful retrieval of contact settings.",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/ContactSetting"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"summary": "Update contact settings",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "body",
|
|
"in": "body",
|
|
"description": "Contact settings to update.",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/ContactSetting"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Contact settings updated successfully."
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/settings/whois-fields": {
|
|
"post": {
|
|
"summary": "Update WHOIS fields",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "body",
|
|
"in": "body",
|
|
"description": "WHOIS fields to update.",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/Registrar"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "WHOIS fields updated successfully."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"definitions": {
|
|
"Registrar": {
|
|
"type": "object",
|
|
"properties": {
|
|
"registrarId": {
|
|
"type": "string",
|
|
"description": "Unique identifier for the registrar."
|
|
},
|
|
"registrarName": {
|
|
"type": "string",
|
|
"description": "Name of the registrar."
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"description": "Type of registrar (e.g., OTE, REAL)."
|
|
},
|
|
"allowedTlds": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "List of allowed Top-Level Domains."
|
|
},
|
|
"ipAddressAllowList": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "List of allowed IP addresses."
|
|
},
|
|
"localizedAddress": {
|
|
"type": "object",
|
|
"properties": {
|
|
"street": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Street address."
|
|
},
|
|
"city": {
|
|
"type": "string",
|
|
"description": "City."
|
|
},
|
|
"state": {
|
|
"type": "string",
|
|
"description": "State."
|
|
},
|
|
"zip": {
|
|
"type": "string",
|
|
"description": "Zip code."
|
|
},
|
|
"countryCode": {
|
|
"type": "string",
|
|
"description": "Country code."
|
|
}
|
|
},
|
|
"required": [
|
|
"street",
|
|
"city",
|
|
"state",
|
|
"zip",
|
|
"countryCode"
|
|
]
|
|
},
|
|
"phoneNumber": {
|
|
"type": "string",
|
|
"description": "Phone number."
|
|
},
|
|
"faxNumber": {
|
|
"type": "string",
|
|
"description": "Fax number."
|
|
},
|
|
"emailAddress": {
|
|
"type": "string",
|
|
"description": "Email address."
|
|
},
|
|
"icannReferralEmail": {
|
|
"type": "string",
|
|
"description": "ICANN referral email address."
|
|
},
|
|
"registryLockAllowed": {
|
|
"type": "boolean",
|
|
"description": "Whether registry lock is allowed."
|
|
},
|
|
"clientCertificate": {
|
|
"type": "string",
|
|
"description": "Client certificate (if applicable)."
|
|
},
|
|
"failoverClientCertificate": {
|
|
"type": "string",
|
|
"description": "Failover client certificate (if applicable)."
|
|
},
|
|
"whoisServer": {
|
|
"type": "string",
|
|
"description": "WHOIS server (if applicable)."
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"description": "URL (if applicable)."
|
|
},
|
|
"ianaIdentifier": {
|
|
"type": "integer",
|
|
"description": "IANA identifier (if applicable)."
|
|
},
|
|
"billingAccountMap": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"description": "Mapping of billing accounts."
|
|
},
|
|
"driveFolderId": {
|
|
"type": "string",
|
|
"description": "Google Drive folder ID (if applicable)."
|
|
}
|
|
},
|
|
"required": [
|
|
"registrarId",
|
|
"registrarName",
|
|
"type",
|
|
"allowedTlds",
|
|
"localizedAddress",
|
|
"emailAddress",
|
|
"icannReferralEmail",
|
|
"registryLockAllowed"
|
|
]
|
|
},
|
|
"UserData": {
|
|
"type": "object",
|
|
"properties": {
|
|
"userRoles": {
|
|
"type": "object",
|
|
"description": "User roles (currently empty)."
|
|
},
|
|
"supportEmail": {
|
|
"type": "string",
|
|
"description": "Support email address."
|
|
},
|
|
"supportPhoneNumber": {
|
|
"type": "string",
|
|
"description": "Support phone number."
|
|
},
|
|
"globalRole": {
|
|
"type": "string",
|
|
"description": "Global role of the user."
|
|
},
|
|
"isAdmin": {
|
|
"type": "boolean",
|
|
"description": "Whether the user is an admin."
|
|
},
|
|
"productName": {
|
|
"type": "string",
|
|
"description": "Name of the product."
|
|
},
|
|
"technicalDocsUrl": {
|
|
"type": "string",
|
|
"description": "URL for technical documentation."
|
|
}
|
|
}
|
|
},
|
|
"RegistryLock": {
|
|
"type": "object",
|
|
"properties": {
|
|
"domainName": {
|
|
"type": "string",
|
|
"description": "Name of the domain."
|
|
},
|
|
"registryLockEmail": {
|
|
"type": "string",
|
|
"description": "Email address of the requester."
|
|
},
|
|
"lockRequestTime": {
|
|
"type": "object",
|
|
"properties": {
|
|
"creationTime": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "Time of lock request."
|
|
}
|
|
}
|
|
},
|
|
"unlockRequestTime": {
|
|
"type": "null",
|
|
"description": "Time of unlock request (null if not requested)."
|
|
},
|
|
"lockCompletionTime": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "Time of lock completion."
|
|
},
|
|
"unlockCompletionTime": {
|
|
"type": "null",
|
|
"description": "Time of unlock completion (null if not completed)."
|
|
},
|
|
"isSuperuser": {
|
|
"type": "boolean",
|
|
"description": "Whether the user is a superuser."
|
|
}
|
|
}
|
|
},
|
|
"DomainList": {
|
|
"type": "object",
|
|
"properties": {
|
|
"domains": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/Domain"
|
|
},
|
|
"description": "List of domains."
|
|
},
|
|
"checkpointTime": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "Checkpoint time for the domain list."
|
|
},
|
|
"totalResults": {
|
|
"type": "integer",
|
|
"description": "Total number of results."
|
|
}
|
|
}
|
|
},
|
|
"Domain": {
|
|
"type": "object",
|
|
"properties": {
|
|
"domainName": {
|
|
"type": "string",
|
|
"description": "Name of the domain."
|
|
},
|
|
"adminContact": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string",
|
|
"description": "Key for the admin contact."
|
|
},
|
|
"kind": {
|
|
"type": "string",
|
|
"description": "Kind of admin contact."
|
|
}
|
|
}
|
|
},
|
|
"techContact": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string",
|
|
"description": "Key for the tech contact."
|
|
},
|
|
"kind": {
|
|
"type": "string",
|
|
"description": "Kind of tech contact."
|
|
}
|
|
}
|
|
},
|
|
"registrantContact": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string",
|
|
"description": "Key for the registrant contact."
|
|
},
|
|
"kind": {
|
|
"type": "string",
|
|
"description": "Kind of registrant contact."
|
|
}
|
|
}
|
|
},
|
|
"registrationExpirationTime": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "Expiration time for domain registration."
|
|
},
|
|
"lastTransferTime": {
|
|
"type": "null",
|
|
"description": "Time of last transfer (null if not transferred)."
|
|
},
|
|
"repoId": {
|
|
"type": "string",
|
|
"description": "Repository ID."
|
|
},
|
|
"currentSponsorRegistrarId": {
|
|
"type": "string",
|
|
"description": "Current sponsor registrar ID."
|
|
},
|
|
"creationRegistrarId": {
|
|
"type": "string",
|
|
"description": "Creation registrar ID."
|
|
},
|
|
"lastEppUpdateRegistrarId": {
|
|
"type": "string",
|
|
"description": "Last EPP update registrar ID."
|
|
},
|
|
"creationTime": {
|
|
"type": "object",
|
|
"properties": {
|
|
"creationTime": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "Creation time."
|
|
}
|
|
}
|
|
},
|
|
"lastEppUpdateTime": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "Last EPP update time."
|
|
},
|
|
"statuses": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Domain statuses."
|
|
},
|
|
"nsHosts": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string",
|
|
"description": "Key for the name server host."
|
|
},
|
|
"kind": {
|
|
"type": "string",
|
|
"description": "Kind of name server host."
|
|
}
|
|
}
|
|
},
|
|
"description": "Name server hosts."
|
|
}
|
|
}
|
|
},
|
|
"User": {
|
|
"type": "object",
|
|
"properties": {
|
|
"emailAddress": {
|
|
"type": "string",
|
|
"description": "Email address of the user."
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"description": "Role of the user."
|
|
}
|
|
}
|
|
},
|
|
"ContactSetting": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Name of the contact."
|
|
},
|
|
"emailAddress": {
|
|
"type": "string",
|
|
"description": "Email address of the contact."
|
|
},
|
|
"registrarId": {
|
|
"type": "string",
|
|
"description": "Registrar ID."
|
|
},
|
|
"phoneNumber": {
|
|
"type": "string",
|
|
"description": "Phone number of the contact."
|
|
},
|
|
"types": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Contact types."
|
|
},
|
|
"visibleInWhoisAsAdmin": {
|
|
"type": "boolean",
|
|
"description": "Whether the contact is visible in WHOIS as admin."
|
|
},
|
|
"visibleInWhoisAsTech": {
|
|
"type": "boolean",
|
|
"description": "Whether the contact is visible in WHOIS as tech."
|
|
},
|
|
"visibleInDomainWhoisAsAbuse": {
|
|
"type": "boolean",
|
|
"description": "Whether the contact is visible in domain WHOIS as abuse."
|
|
},
|
|
"userFriendlyTypes": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "User-friendly contact types."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |