naftiko: 1.0.0-alpha2 info: label: Abuse API — v1 description: 'Abuse API — v1. 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 - v1 created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: GODADDY_API_KEY: GODADDY_API_KEY capability: consumes: - type: http namespace: abuse-v1 baseUri: https://api.ote-godaddy.com description: Abuse API — v1 business capability. Self-contained, no shared references. resources: - name: v1-abuse-tickets path: /v1/abuse/tickets operations: - name: gettickets 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: createticket 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: v1-abuse-tickets-ticketId path: /v1/abuse/tickets/{ticketId} operations: - name: getticketinfo 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-v1-rest port: 8080 description: REST adapter for Abuse API — v1. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/abuse/tickets name: v1-abuse-tickets description: REST surface for v1-abuse-tickets. operations: - method: GET name: gettickets description: List all abuse tickets ids that match user provided filters call: abuse-v1.gettickets 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: createticket description: Create a new abuse ticket call: abuse-v1.createticket with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/abuse/tickets/{ticketid} name: v1-abuse-tickets-ticketid description: REST surface for v1-abuse-tickets-ticketId. operations: - method: GET name: getticketinfo description: Return the abuse ticket data for a given ticket id call: abuse-v1.getticketinfo with: ticketId: rest.ticketId outputParameters: - type: object mapping: $. - type: mcp namespace: abuse-v1-mcp port: 9090 transport: http description: MCP adapter for Abuse API — v1. 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-v1.gettickets 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-v1.createticket 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-v1.getticketinfo with: ticketId: tools.ticketId outputParameters: - type: object mapping: $.