GoDaddy · Capability

Abuse API — v2

Abuse API — v2. 3 operations. Lead operation: List all abuse tickets ids that match user provided filters. Self-contained Naftiko capability covering one Godaddy business surface.

Run with Naftiko Godaddyv2

What You Can Do

GET
Getticketsv2 — List all abuse tickets ids that match user provided filters
/v1/v2/abuse/tickets
POST
Createticketv2 — Create a new abuse ticket
/v1/v2/abuse/tickets
GET
Getticketinfov2 — Return the abuse ticket data for a given ticket id
/v1/v2/abuse/tickets/{ticketid}

MCP Tools

list-all-abuse-tickets-ids

List all abuse tickets ids that match user provided filters

read-only idempotent
create-new-abuse-ticket

Create a new abuse ticket

return-abuse-ticket-data-given

Return the abuse ticket data for a given ticket id

read-only idempotent

Capability Spec

abuse-v2.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Abuse API — v2
  description: 'Abuse API — v2. 3 operations. Lead operation: List all abuse tickets ids that match user provided filters.
    Self-contained Naftiko capability covering one Godaddy business surface.'
  tags:
  - Godaddy
  - v2
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GODADDY_API_KEY: GODADDY_API_KEY
capability:
  consumes:
  - type: http
    namespace: abuse-v2
    baseUri: https://api.ote-godaddy.com
    description: Abuse API — v2 business capability. Self-contained, no shared references.
    resources:
    - name: v2-abuse-tickets
      path: /v2/abuse/tickets
      operations:
      - name: getticketsv2
        method: GET
        description: List all abuse tickets ids that match user provided filters
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: query
          type: string
          description: The type of abuse.
        - name: closed
          in: query
          type: boolean
          description: Is this abuse ticket closed?
        - name: sourceDomainOrIp
          in: query
          type: string
          description: The domain name or ip address the abuse originated from
        - name: target
          in: query
          type: string
          description: 'The brand/company the abuse is targeting. ie: brand name/bank name'
        - name: createdStart
          in: query
          type: string
          description: The earliest abuse ticket creation date to pull abuse tickets for
        - name: createdEnd
          in: query
          type: string
          description: The latest abuse ticket creation date to pull abuse tickets for
        - name: limit
          in: query
          type: integer
          description: Number of abuse ticket numbers to return.
        - name: offset
          in: query
          type: integer
          description: The earliest result set record number to pull abuse tickets for
      - name: createticketv2
        method: POST
        description: Create a new abuse ticket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: string
          description: The endpoint which allows the Reporter to create a new abuse ticket
          required: true
    - name: v2-abuse-tickets-ticketId
      path: /v2/abuse/tickets/{ticketId}
      operations:
      - name: getticketinfov2
        method: GET
        description: Return the abuse ticket data for a given ticket id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ticketId
          in: path
          type: string
          description: A unique abuse ticket identifier
          required: true
  exposes:
  - type: rest
    namespace: abuse-v2-rest
    port: 8080
    description: REST adapter for Abuse API — v2. One Spectral-compliant resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/v2/abuse/tickets
      name: v2-abuse-tickets
      description: REST surface for v2-abuse-tickets.
      operations:
      - method: GET
        name: getticketsv2
        description: List all abuse tickets ids that match user provided filters
        call: abuse-v2.getticketsv2
        with:
          type: rest.type
          closed: rest.closed
          sourceDomainOrIp: rest.sourceDomainOrIp
          target: rest.target
          createdStart: rest.createdStart
          createdEnd: rest.createdEnd
          limit: rest.limit
          offset: rest.offset
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createticketv2
        description: Create a new abuse ticket
        call: abuse-v2.createticketv2
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/abuse/tickets/{ticketid}
      name: v2-abuse-tickets-ticketid
      description: REST surface for v2-abuse-tickets-ticketId.
      operations:
      - method: GET
        name: getticketinfov2
        description: Return the abuse ticket data for a given ticket id
        call: abuse-v2.getticketinfov2
        with:
          ticketId: rest.ticketId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: abuse-v2-mcp
    port: 9090
    transport: http
    description: MCP adapter for Abuse API — v2. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-all-abuse-tickets-ids
      description: List all abuse tickets ids that match user provided filters
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: abuse-v2.getticketsv2
      with:
        type: tools.type
        closed: tools.closed
        sourceDomainOrIp: tools.sourceDomainOrIp
        target: tools.target
        createdStart: tools.createdStart
        createdEnd: tools.createdEnd
        limit: tools.limit
        offset: tools.offset
      outputParameters:
      - type: object
        mapping: $.
    - name: create-new-abuse-ticket
      description: Create a new abuse ticket
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: abuse-v2.createticketv2
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: return-abuse-ticket-data-given
      description: Return the abuse ticket data for a given ticket id
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: abuse-v2.getticketinfov2
      with:
        ticketId: tools.ticketId
      outputParameters:
      - type: object
        mapping: $.