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 1 source API 1 provider
View Spec View on GitHub Anti MalwareBlacklistCyber SecurityIP 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
reportIp
Submit a new abuse report for the IP using the supplied categories, comment, and optional timestamp.
2
verifyCheck
checkIp
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

abuseipdb-report-then-verify-workflow.yml 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: abuseipdbApi
  url: ../openapi/abuseipdb-apiv2-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