AbuseIPDB · Arazzo Workflow

AbuseIPDB Report Then Verify

Version 1.0.0

Submit an abuse report for an IP and immediately re-check it to confirm the updated score.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub Anti MalwareBlacklistCybersecurityIP ReputationNetwork SecurityPublic APIsThreat IntelligenceArazzoWorkflows

Provider

abuseipdb

Workflows

report-then-verify
Report an abusive IP, then check it to verify the report landed.
Submits an abuse report for the target IP and then performs a single-IP check against the same address to confirm the report was accepted and to read back the current abuse confidence score and total report count.
2 steps inputs: apiKey, categories, comment, ipAddress, maxAgeInDays, timestamp outputs: abuseConfidenceScore, reportedIp, totalReports
1
reportIp
Submit a new abuse report for the IP using the supplied categories, comment, and optional timestamp.
2
verifyCheck
Re-check the same IP to confirm the report was recorded and to read the current abuse confidence score and total report count.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: AbuseIPDB Report Then Verify
  summary: Submit an abuse report for an IP and immediately re-check it to confirm the updated score.
  description: >-
    A closed-loop reporting pattern. The workflow files a fresh abuse report for
    an IP address with the supplied categories and comment, then immediately
    re-checks that same IP so the caller can confirm the report was recorded and
    observe the resulting abuse confidence score. Every step spells out its
    request inline so the flow can be read and executed without opening the
    underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: reportsApi
  url: ../openapi/abuseipdb-reports-api-openapi.yml
  type: openapi
- name: reputationApi
  url: ../openapi/abuseipdb-reputation-api-openapi.yml
  type: openapi
workflows:
- workflowId: report-then-verify
  summary: Report an abusive IP, then check it to verify the report landed.
  description: >-
    Submits an abuse report for the target IP and then performs a single-IP check
    against the same address to confirm the report was accepted and to read back
    the current abuse confidence score and total report count.
  inputs:
    type: object
    required:
    - apiKey
    - ipAddress
    - categories
    properties:
      apiKey:
        type: string
        description: AbuseIPDB API key supplied via the Key header.
      ipAddress:
        type: string
        description: The IPv4 or IPv6 address to report and then verify.
      categories:
        type: string
        description: Comma-separated abuse category IDs to file the report under (up to 30).
      comment:
        type: string
        description: Optional description and supporting log evidence for the report.
      timestamp:
        type: string
        description: Optional ISO 8601 timestamp for when the abuse occurred.
      maxAgeInDays:
        type: integer
        description: Restrict the reports considered on the verifying check to the last N days (1-365).
        default: 30
  steps:
  - stepId: reportIp
    description: >-
      Submit a new abuse report for the IP using the supplied categories, comment,
      and optional timestamp.
    operationId: reportIp
    parameters:
    - name: Key
      in: header
      value: $inputs.apiKey
    requestBody:
      contentType: application/x-www-form-urlencoded
      payload:
        ip: $inputs.ipAddress
        categories: $inputs.categories
        comment: $inputs.comment
        timestamp: $inputs.timestamp
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      reportedIp: $response.body#/data/ipAddress
      scoreAfterReport: $response.body#/data/abuseConfidenceScore
  - stepId: verifyCheck
    description: >-
      Re-check the same IP to confirm the report was recorded and to read the
      current abuse confidence score and total report count.
    operationId: checkIp
    parameters:
    - name: Key
      in: header
      value: $inputs.apiKey
    - name: ipAddress
      in: query
      value: $steps.reportIp.outputs.reportedIp
    - name: maxAgeInDays
      in: query
      value: $inputs.maxAgeInDays
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      abuseConfidenceScore: $response.body#/data/abuseConfidenceScore
      totalReports: $response.body#/data/totalReports
      lastReportedAt: $response.body#/data/lastReportedAt
  outputs:
    reportedIp: $steps.reportIp.outputs.reportedIp
    abuseConfidenceScore: $steps.verifyCheck.outputs.abuseConfidenceScore
    totalReports: $steps.verifyCheck.outputs.totalReports

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/abuseipdb-report-then-verify-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.