{ "swagger": "2.0", "info": { "title": "Aftermarket API", "version": "1.0.0", "description": "" }, "tags": [ { "name": "Expiry Auctions: Registrar Partners", "description": "API for auction-related actions exclusive to whitelisted partners." } ], "paths": { "/v1/customers/{customerId}/auctions/listings": { "get": { "tags": ["Expiry Auctions: Registrar Partners"], "consumes": ["application/json"], "produces": ["application/json"], "parameters": [ { "name": "customerId", "required": true, "in": "path", "description": "An identifier for a customer.", "type": "string" }, { "name": "domains", "required": false, "in": "query", "description": "Only include results for the specified domains. Use comma-separated string to include more than one domain. For example, `one.com,two.info,three.biz`", "type": "string" }, { "name": "listingStatus", "required": false, "in": "query", "description": "Only include results for the specified listing status.", "type": "string", "enum": ["FULFILLED"] }, { "name": "transferBefore", "required": false, "in": "query", "description": "Domain transfer time before this time, ISO 8601, in UTC. Defaults to last day of the previous month if not provided. Applicable only for listings in `FULFILLED` listingStatus.", "type": "string", "format": "iso-datetime" }, { "name": "transferAfter", "required": false, "in": "query", "description": "Domain transfer time after this time, ISO 8601, in UTC. Defaults to first day of the previous month if not provided. Applicable only for listings in `FULFILLED` listingStatus.", "type": "string", "format": "iso-datetime" }, { "name": "limit", "required": false, "in": "query", "description": "Maximum number of items to return.", "type": "integer", "format": "integer-positive" }, { "name": "offset", "required": false, "in": "query", "description": "Number of results to skip for pagination.", "type": "integer", "format": "integer-positive" } ], "responses": { "200": { "description": "Request was successful", "schema": { "$ref": "#/definitions/Listings" } }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Required parameters must be specified in correct format", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "getListings", "summary": "Get listings from GoDaddy Auctions" } }, "/v1/aftermarket/listings": { "delete": { "tags": ["Expiry Auctions: Registrar Partners"], "consumes": ["application/json", "application/xml", "text/xml"], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "parameters": [ { "description": "A comma separated list of domain names", "in": "query", "items": { "type": "string" }, "name": "domains", "required": true, "type": "array" } ], "responses": { "200": { "description": "Request was successful", "schema": { "$ref": "#/definitions/AftermarketListingAction" } }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "\tRequired parameters must be specified in correct format", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "deleteListings", "summary": "Remove listings from GoDaddy Auction" } }, "/v1/aftermarket/listings/expiry": { "post": { "tags": ["Expiry Auctions: Registrar Partners"], "consumes": ["application/json", "application/xml", "text/xml"], "produces": [ "application/json", "application/javascript", "application/xml", "text/javascript", "text/xml" ], "parameters": [ { "description": "An array of expiry listings to be loaded", "in": "body", "name": "expiryListings", "required": true, "schema": { "items": { "$ref": "#/definitions/AftermarketListingExpiryCreate" }, "type": "array" } } ], "responses": { "200": { "description": "Request was successful", "schema": { "$ref": "#/definitions/AftermarketListingAction" } }, "400": { "description": "Request was malformed", "schema": { "$ref": "#/definitions/Error" } }, "401": { "description": "Authentication info not sent or invalid", "schema": { "$ref": "#/definitions/Error" } }, "403": { "description": "Authenticated user is not allowed access", "schema": { "$ref": "#/definitions/Error" } }, "422": { "description": "Required parameters must be specified in correct format
Too many Listings provided
Invalid Losing Registrar Id", "schema": { "$ref": "#/definitions/Error" } }, "429": { "description": "Too many requests received within interval", "schema": { "$ref": "#/definitions/ErrorLimit" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/Error" } } }, "operationId": "addExpiryListings", "summary": "Add expiry listings into GoDaddy Auction" } } }, "definitions": { "Listings": { "type": "object", "properties": { "listings": { "description": "Array of listings", "type": "array", "items": { "$ref": "#/definitions/Listing" } }, "pagination": { "$ref": "#/definitions/Pagination" } } }, "Listing": { "type": "object", "required": ["domainName"], "properties": { "listingId": { "description": "An identifier for the listing.", "type": "integer", "format": "integer-positive" }, "domainName": { "description": "The domain name for the listing.", "type": "string", "format": "domain-name" }, "domainCreatedAt": { "description": "Date when the domain was first registered in ISO-8601 format", "format": "iso-datetime", "type": "string" }, "domainExpiresAt": { "description": "Date when the domain expires in ISO-8601 format", "format": "iso-datetime", "type": "string" }, "domainRegistrarIanaId": { "description": "Source registrar IANA id for the domain name. Reference - https://www.iana.org/assignments/registrar-ids/registrar-ids.xhtml", "type": "integer", "format": "integer-positive" }, "pageViewsMonthly": { "description": "Monthly traffic page view for the domain", "type": "integer", "format": "integer-positive" }, "revenueMonthly": { "description": "Monthly parking revenue (in USD micro unit) for the domain", "type": "integer", "format": "currency-micro-unit-positive" }, "auctionStartAt": { "description": "The UTC date and time, in RFC 3339 format, that the auction starts.", "format": "iso-datetime", "type": "string", "example": "2022-04-01T02:07:14Z" }, "auctionEndAt": { "description": "The UTC date and time, in RFC 3339 format, that the auction ends.", "format": "iso-datetime", "type": "string", "example": "2022-04-10T02:07:14Z" }, "auctionTransferAt": { "description": "The UTC date and time, in RFC 3339 format, that the auction domain is transferred. Applicable only for listings in `FULFILLED` status.", "format": "iso-datetime", "type": "string", "example": "2022-04-15T02:07:14Z" }, "auctionSoldAt": { "description": "The UTC date and time, in RFC 3339 format, that the auction domain is sold. Applicable only for listings in `FULFILLED` status.", "format": "iso-datetime", "type": "string", "example": "2022-04-20T02:07:14Z" }, "auctionBookingAmountUsd": { "description": "The booking amount (in USD micro units) for the auction domain. Applicable only for listings in `FULFILLED` status.", "type": "integer", "format": "currency-micro-unit-positive" }, "createdAt":{ "type": "string", "format": "iso-datetime" }, "updatedAt": { "type": "string", "format": "iso-datetime" } } }, "listingStatus": { "description": "Listing status", "type": "string", "enum": ["FULFILLED"] }, "AftermarketListingAction": { "properties": { "listingActionId": { "description": "Action Id", "type": "integer" } }, "required": ["listingActionId"] }, "AftermarketListingExpiryCreate": { "properties": { "domain": { "description": "Domain name", "type": "string" }, "expiresAt": { "description": "Date when the domain expires", "format": "iso-datetime", "type": "string" }, "losingRegistrarId": { "default": 1, "description": "Losing registrar id for the domain", "minimum": 1, "type": "integer" }, "pageViewsMonthly": { "description": "Monthly traffic page view for the domain", "type": "integer" }, "revenueMonthly": { "description": "Monthly parking revenue (in USD micro unit) for the domain", "type": "integer" } }, "required": ["domain", "expiresAt", "losingRegistrarId"] }, "Pagination": { "type": "object", "properties": { "first": { "type": "string", "description": "URI to access the first page" }, "previous": { "type": "string", "description": "URI to access the previous page" }, "next": { "type": "string", "description": "URI to access the next page" }, "last": { "type": "string", "description": "URI to access the last page" }, "total": { "type": "integer", "description": "Number of records available" } } }, "Error": { "properties": { "code": { "description": "Short identifier for the error, suitable for indicating the specific error within client code", "format": "constant", "type": "string" }, "fields": { "description": "List of the specific fields, and the errors found with their contents", "items": { "$ref": "#/definitions/ErrorField" }, "type": "array" }, "message": { "description": "Human-readable, English description of the error", "type": "string" } }, "required": ["code"] }, "ErrorField": { "properties": { "code": { "description": "Short identifier for the error, suitable for indicating the specific error within client code", "format": "constant", "type": "string" }, "message": { "description": "Human-readable, English description of the problem with the contents of the field", "type": "string" }, "path": { "description": "", "format": "json-path", "type": "string" }, "pathRelated": { "description": "JSONPath referring to a field containing an error, which is referenced by `path`", "format": "json-path", "type": "string" } }, "required": ["path", "code"] }, "ErrorLimit": { "properties": { "code": { "description": "Short identifier for the error, suitable for indicating the specific error within client code", "format": "constant", "type": "string" }, "fields": { "description": "List of the specific fields, and the errors found with their contents", "items": { "$ref": "#/definitions/ErrorField" }, "type": "array" }, "message": { "description": "Human-readable, English description of the error", "type": "string" }, "retryAfterSec": { "description": "Number of seconds to wait before attempting a similar request", "format": "integer-positive", "type": "integer" } }, "required": ["retryAfterSec", "code"] } } }