naftiko: 1.0.0-alpha2 info: label: Domains API — v1 description: 'Domains API — v1. 25 operations. Lead operation: Retrieve a list of Domains for the specified Shopper. Self-contained Naftiko capability covering one Godaddy business surface.' tags: - Godaddy - v1 created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: GODADDY_API_KEY: GODADDY_API_KEY capability: consumes: - type: http namespace: domains-v1 baseUri: https://api.ote-godaddy.com description: Domains API — v1 business capability. Self-contained, no shared references. resources: - name: v1-domains path: /v1/domains operations: - name: list method: GET description: Retrieve a list of Domains for the specified Shopper outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Shopper-Id in: header type: string description: Shopper ID whose domains are to be retrieved - name: statuses in: query type: array description: Only include results with `status` value in the specified set - name: statusGroups in: query type: array description: Only include results with `status` value in any of the specified groups - name: limit in: query type: integer description: Maximum number of domains to return - name: marker in: query type: string description: Marker Domain to use as the offset in results - name: includes in: query type: array description: Optional details to be included in the response - name: modifiedDate in: query type: string description: Only include results that have been modified since the specified date - name: v1-domains-agreements path: /v1/domains/agreements operations: - name: getagreement method: GET description: Retrieve the legal agreement(s) required to purchase the specified TLD and add-ons outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Market-Id in: header type: string description: Unique identifier of the Market used to retrieve/translate Legal Agreements - name: tlds in: query type: array description: list of TLDs whose legal agreements are to be retrieved required: true - name: privacy in: query type: boolean description: Whether or not privacy has been requested required: true - name: forTransfer in: query type: boolean description: Whether or not domain tranfer has been requested - name: v1-domains-available path: /v1/domains/available operations: - name: available method: GET description: Determine whether or not the specified domain is available for purchase outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: domain in: query type: string description: Domain name whose availability is to be checked required: true - name: checkType in: query type: string description: Optimize for time ('FAST') or accuracy ('FULL') - name: forTransfer in: query type: boolean description: Whether or not to include domains available for transfer. If set to True, checkType is ignored - name: availablebulk method: POST description: Determine whether or not the specified domains are available for purchase outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: domains in: body type: array description: Domain names for which to check availability required: true - name: checkType in: query type: string description: Optimize for time ('FAST') or accuracy ('FULL') - name: v1-domains-contacts-validate path: /v1/domains/contacts/validate operations: - name: contactsvalidate method: POST description: Validate the request body using the Domain Contact Validation Schema for specified domains. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Private-Label-Id in: header type: integer description: PrivateLabelId to operate as, if different from JWT - name: marketId in: query type: string description: MarketId in which the request is being made, and for which responses should be localized - name: body in: body type: string description: An instance document expected for domains contacts validation required: true - name: v1-domains-purchase path: /v1/domains/purchase operations: - name: purchase method: POST description: Purchase and register the specified Domain outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Shopper-Id in: header type: string description: The Shopper for whom the domain should be purchased - name: body in: body type: string description: An instance document expected to match the JSON schema returned by `./schema/{tld}` required: true - name: v1-domains-purchase-schema-tld path: /v1/domains/purchase/schema/{tld} operations: - name: schema method: GET description: Retrieve the schema to be submitted when registering a Domain for the specified TLD outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: tld in: path type: string description: The Top-Level Domain whose schema should be retrieved required: true - name: v1-domains-purchase-validate path: /v1/domains/purchase/validate operations: - name: validate method: POST description: Validate the request body using the Domain Purchase Schema for the specified TLD outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: string description: An instance document expected to match the JSON schema returned by `./schema/{tld}` required: true - name: v1-domains-suggest path: /v1/domains/suggest operations: - name: suggest method: GET description: Suggest alternate Domain names based on a seed Domain, a set of keywords, or the shopper's purchase history outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Shopper-Id in: header type: string description: Shopper ID for which the suggestions are being generated - name: query in: query type: string description: Domain name or set of keywords for which alternative domain names will be suggested - name: country in: query type: string description: Two-letter ISO country code to be used as a hint for target region

- name: city in: query type: string description: Name of city to be used as a hint for target region - name: sources in: query type: array description: Sources to be queried