Skip to content

Add Bulk IP Processing API #15

Description

@Ricky-G

Description

Implement a bulk IP processing API to handle multiple IP addresses in a single request, enabling efficient processing of large IP datasets.

Requirements

  1. Batch IP lookup endpoint: /api/ip/bulk - Process multiple IPs in a single request
  2. Multiple input formats: Support JSON array, CSV, and plain text formats
  3. File upload support: Accept file uploads for bulk processing (CSV/JSON/TXT)
  4. Async processing: Handle large batches asynchronously with job tracking
  5. Result aggregation: Return consolidated results in structured format
  6. Rate limiting: Implement different rate limits for bulk vs single requests
  7. Progress tracking: Provide status updates for long-running batch jobs
  8. Error handling: Handle individual IP failures gracefully without stopping the entire batch

API Endpoints

  • POST /api/ip/bulk - Submit bulk IP processing job
  • GET /api/ip/bulk/{jobId} - Check processing status
  • GET /api/ip/bulk/{jobId}/results - Download results

Example Request

{
  "ips": [
    "203.0.113.1",
    "2001:db8::1",
    "192.168.1.1"
  ],
  "includeGeolocation": true,
  "includeSecurity": false,
  "format": "json"
}

Example Response

{
  "jobId": "bulk-12345",
  "status": "completed",
  "totalIps": 3,
  "processedIps": 3,
  "failedIps": 0,
  "results": [
    {
      "ip": "203.0.113.1",
      "ipv4": "203.0.113.1",
      "geolocation": { ... }
    }
  ]
}

Implementation Notes

  • Support processing up to 10,000 IPs per batch
  • Implement job queuing with Redis or similar
  • Add webhook notifications for job completion
  • Include comprehensive error reporting
  • Ensure high performance for large datasets

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions