Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: Abuse API
version: 2.0.0
description: 'GoDaddy Abuse API Terms of Use:
GoDaddy’s Abuse API is provided to simplify and standardize the abuse reporting experience. To help us streamline the review of abuse reports, you acknowledge and agree that your use of GoDaddy’s Abuse API is subject to the following quality metrics and terms of use.
GoDaddy may, in its sole and absolute discretion, change or modify these terms, and such changes or modifications shall be effective immediately upon notice to you. Your use of GoDaddy’s Abuse API after such changes or modifications shall constitute your acceptance of these terms as last revised. If you do not agree to be bound by these terms as last revised, do not use (or continue to use) our Abuse API.
As an Abuse API user, you must only submit abuse reports via the API portal and cease all email submissions, including but not limited, to phishing@godaddy.com, netabuse@godaddy.com, malware@godaddy.com, or spam@godaddy.com, etc. Any additional or duplicate submission outside of the API portal will be deprioritized for review. Submissions related to trademark, copyright or content issues may still be sent to trademarkclaims@godaddy.com, coyprightclaims@godaddy.com, and contentcomplaints@godaddy.com, respectively. Our Front of Site also describes other scenarios not covered by the API.
When you submit abuse reports via GoDaddy’s Abuse API, you must ensure that you accurately categorize the abuse type of each report to match our definitions in the API documentations provided to you. Any submission that fails to match our definitions or is miscategorized will be marked as a false positive. Examples include, but are not limited to, submissions of trademark complaints marked as phishing or malware, or submissions of copyright complaints marked as phishing or malware, etc.
If, at any time, the false positive rate of submissions exceeds 40% of your total submissions, as determined by GoDaddy, GoDaddy may in its sole discretion deprioritize any subsequent reports submitted by you and/or your organization.
You acknowledge and agree that submitting every URL for a single domain is not necessary and will not expedite the review process. If your submissions exceed five (5) URLs for a single domain, your report will be marked as a duplicate submission taking into account that the final outcome of such submissions would yield the same result as the original report. GoDaddy may in its sole discretion deprioritize reports submitted by you and/or your organization in the event more than 20% of your submissions are classified as duplicate submissions.
You further acknowledge and agree that our Customer Support lines are not intended to address abuse reporting matters or your use of GoDaddy’s Abuse API. Contacting Customer Support will not expedite the review process and may result in abuse reports being deprioritized, to be determined in our sole discretion.
Should you have any questions about GoDaddy’s Abuse API or any of the terms and conditions set forth above, please contact abuseapisupport@godaddy.com.'
servers:
- url: https://api.ote-godaddy.com
tags:
- name: Abuse
paths:
/v1/abuse/tickets:
get:
tags:
- Abuse
parameters:
- description: The type of abuse.
in: query
name: type
required: false
schema:
type: string
enum:
- A_RECORD
- CHILD_ABUSE
- CONTENT
- FRAUD_WIRE
- IP_BLOCK
- MALWARE
- NETWORK_ABUSE
- PHISHING
- SPAM
- description: Is this abuse ticket closed?
in: query
name: closed
required: false
schema:
type: boolean
default: false
- description: The domain name or ip address the abuse originated from
in: query
name: sourceDomainOrIp
required: false
schema:
type: string
format: host-name-or-ip-address
- description: 'The brand/company the abuse is targeting. ie: brand name/bank name'
in: query
name: target
required: false
schema:
type: string
- description: The earliest abuse ticket creation date to pull abuse tickets for
in: query
name: createdStart
required: false
schema:
type: string
format: iso-datetime
- description: The latest abuse ticket creation date to pull abuse tickets for
in: query
name: createdEnd
required: false
schema:
type: string
format: iso-datetime
- description: Number of abuse ticket numbers to return.
in: query
name: limit
required: false
schema:
type: integer
format: integer-positive
default: 100
maximum: 100
- description: The earliest result set record number to pull abuse tickets for
in: query
name: offset
required: false
schema:
type: integer
format: integer-positive
default: 0
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AbuseTicketList'
'401':
description: Authentication info not sent or invalid
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Authenticated user is not allowed access
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'422':
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
operationId: getTickets
summary: List all abuse tickets ids that match user provided filters
post:
tags:
- Abuse
responses:
'201':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AbuseTicketId'
'401':
description: Authentication info not sent or invalid
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Authenticated user is not allowed access
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'422':
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
operationId: createTicket
summary: Create a new abuse ticket
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AbuseTicketCreateLegacy'
description: The endpoint which allows the Reporter to create a new abuse ticket
required: true
/v1/abuse/tickets/{ticketId}:
get:
tags:
- Abuse
parameters:
- description: A unique abuse ticket identifier
in: path
name: ticketId
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AbuseTicketLegacy'
'401':
description: Authentication info not sent or invalid
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Authenticated user is not allowed access
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Invalid ticket id provided
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
operationId: getTicketInfo
summary: Return the abuse ticket data for a given ticket id
/v2/abuse/tickets:
get:
tags:
- Abuse
parameters:
- description: The type of abuse.
in: query
name: type
required: false
schema:
type: string
enum:
- A_RECORD
- CHILD_ABUSE
- CONTENT
- FRAUD_WIRE
- IP_BLOCK
- MALWARE
- NETWORK_ABUSE
- PHISHING
- SPAM
- description: Is this abuse ticket closed?
in: query
name: closed
required: false
schema:
type: boolean
default: false
- description: The domain name or ip address the abuse originated from
in: query
name: sourceDomainOrIp
required: false
schema:
type: string
format: host-name-or-ip-address
- description: 'The brand/company the abuse is targeting. ie: brand name/bank name'
in: query
name: target
required: false
schema:
type: string
- description: The earliest abuse ticket creation date to pull abuse tickets for
in: query
name: createdStart
required: false
schema:
type: string
format: iso-datetime
- description: The latest abuse ticket creation date to pull abuse tickets for
in: query
name: createdEnd
required: false
schema:
type: string
format: iso-datetime
- description: Number of abuse ticket numbers to return.
in: query
name: limit
required: false
schema:
type: integer
format: integer-positive
default: 100
maximum: 100
- description: The earliest result set record number to pull abuse tickets for
in: query
name: offset
required: false
schema:
type: integer
format: integer-positive
default: 0
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AbuseTicketList'
'401':
description: Authentication info not sent or invalid
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Authenticated user is not allowed access
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'422':
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
operationId: getTicketsV2
summary: List all abuse tickets ids that match user provided filters
post:
tags:
- Abuse
responses:
'201':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AbuseTicketId'
'401':
description: Authentication info not sent or invalid
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Authenticated user is not allowed access
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'422':
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
operationId: createTicketV2
summary: Create a new abuse ticket
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AbuseTicketCreate'
description: The endpoint which allows the Reporter to create a new abuse ticket
required: true
/v2/abuse/tickets/{ticketId}:
get:
tags:
- Abuse
parameters:
- description: A unique abuse ticket identifier
in: path
name: ticketId
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AbuseTicket'
'401':
description: Authentication info not sent or invalid
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Authenticated user is not allowed access
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Invalid ticket id provided
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
operationId: getTicketInfoV2
summary: Return the abuse ticket data for a given ticket id
components:
schemas:
AbuseTicketLegacy:
description: The associated fields returned, given a unique abuse ticket id
properties:
closed:
default: false
description: Is this abuse ticket closed?
type: boolean
closedAt:
description: The date the abuse ticket was closed
format: iso-datetime
type: string
createdAt:
description: The date the abuse ticket was created
format: iso-datetime
type: string
domainIp:
description: The domain or IP the suspected abuse was reported against
type: string
reporter:
description: The shopper id of the person who reported the suspected abuse
type: string
source:
description: The single URL or IP the suspected abuse was reported against
type: string
target:
description: The company the suspected abuse is targeting
type: string
ticketId:
description: Abuse ticket ID
type: string
type:
description: The type of abuse being reported
enum:
- A_RECORD
- CHILD_ABUSE
- CONTENT
- FRAUD_WIRE
- IP_BLOCK
- MALWARE
- NETWORK_ABUSE
- PHISHING
- SPAM
type: string
required:
- ticketId
- reporter
- domainIp
- closed
- type
- target
- source
- createdAt
- closedAt
AbuseTicketCreateBase:
required:
- source
properties:
info:
description: 'Additional information that may assist the abuse investigator. ie: server logs or email headers/body for SPAM'
type: string
infoUrl:
description: Reporter URL if housing additional information that may assist the abuse investigator
format: url
type: string
source:
description: 'The URL or IP where live abuse content is located at. ie: https://www.example.com/bad_stuff/bad.php'
type: string
target:
description: 'The brand/company the abuse is targeting. ie: brand name/bank name'
type: string
AbuseTicketCreateLegacy:
required:
- type
allOf:
- $ref: '#/components/schemas/AbuseTicketCreateBase'
- type: object
properties:
intentional:
default: false
description: Do you believe this is intentional abuse by the domain holder?
type: boolean
proxy:
description: 'The Proxy information required to view the abuse being reported. ie: Specific IP used, or country of IP viewing from'
type: string
type:
description: The type of abuse being reported.
enum:
- A_RECORD
- CHILD_ABUSE
- CONTENT
- FRAUD_WIRE
- IP_BLOCK
- MALWARE
- NETWORK_ABUSE
- PHISHING
- SPAM
type: string
AbuseTicketCreate:
required:
- type
allOf:
- $ref: '#/components/schemas/AbuseTicketCreateBase'
- type: object
properties:
type:
description: The type of abuse being reported.
enum:
- CHILD_ABUSE
- MALWARE
- PHISHING
type: string
proxy:
description: The regional location that the content needs to be viewed from.<br/>Here is a mapping of the regional codes to common countries.<br/>ARE - Pakistan, Israel, Turkey, Azerbaijan<br/>SGP - Japan, Tokyo, AU, Australia, Sydney, Singapore, India, Mumbai, New Zealand, Philippines, Korea, Indonesia, China, Malaysia, Taiwan, India<br/>ZAF - South Africa<br/>USA - Canada, United States<br/>BRA - Brazil, Argentina, Ecuador, Mexico, Peru, South America, Colombia, Chile, Guatemala, Panama<br/>DEU - Germany, France, United Kingdom, London, Italy, Belgium, Netherlands, Spain, Ukraine, Austria, Switzerland, Frankfurt, Denmark, Norway, Sweden, Finland, Iceland, Slovakia, Romania, Luxembourg, Poland, Ireland, Portugal, Moldova, Bulgaria, Slovenia, Serbia, Hungary, Lithuania, Malta, Morocco, Latvia, Estonia, Russian Federation, Sweden
enum:
- ARE
- SGP
- ZAF
- USA
- BRA
- DEU
- OTHER
- NOT_APPLICABLE
type: string
useragent:
description: The user-agent required to view the content.
enum:
- DESKTOP
- MOBILE
- OTHER
- NOT_APPLICABLE
type: string
AbuseTicket:
allOf:
- $ref: '#/components/schemas/AbuseTicketLegacy'
- type: object
properties:
closeReason:
description: 'The reason that the ticket was closed.<br/><br/>RECLASSIFIED: False Positive - Reclassified to different abuse type.<br/>NOT_REGISTERED_HOSTED_HERE: Not Registered or Hosted with GoDaddy brand(s).<br/>FORWARDED_COMPLAINT: Forwarded Complaint to proper channel.<br/>FALSE_POSITIVE: Not Actionable by DCU.<br/>ACTIONED: Domain or Content Actioned'
enum:
- ACTIONED
- FALSE_POSITIVE
- FORWARDED_COMPLAINT
- RECLASSIFIED
- NOT_REGISTERED_HOSTED_HERE
type: string
AbuseTicketId:
description: The primary key of a newly created abuse ticket
properties:
u_number:
description: Abuse ticket ID
type: string
required:
- u_number
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: 1) JSONPath referring to the field within the data containing an error<br/>or<br/>2) JSONPath referring to an object containing an error
format: json-path
type: string
pathRelated:
description: JSONPath referring to the field on the object referenced by `path` containing an error
format: json-path
type: string
required:
- path
- code
Pagination:
properties:
first:
description: Optional link to first list of results
type: string
last:
description: Optional link to last list of results
type: string
next:
description: Optional link to next list of results
type: string
previous:
description: Optional link to previous list of results
type: string
total:
description: Number of records available
type: integer
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: '#/components/schemas/ErrorField'
type: array
message:
description: Human-readable, English description of the error
type: string
stack:
description: 'Stack trace indicating where the error occurred.<br/> NOTE: This attribute <strong>MAY</strong> be included for Development and Test environments. However, it <strong>MUST NOT</strong> be exposed from OTE nor Production systems.'
items:
type: string
type: array
required:
- code
AbuseTicketList:
properties:
pagination:
$ref: '#/components/schemas/Pagination'
ticketIds:
description: A list of abuse ticket ids originated by this reporter.
items:
type: string
type: array
required:
- ticketIds