Skip to content

Pagination and Filters

The Integration API uses query-string parameters for list pagination, sorting, and filtering.

Common pagination pattern

  • skip: zero-based offset
  • limit: maximum number of records to return

Projects

GET /api/v1/projects

Supported query parameters:

  • skip
  • limit
  • sort_by

Example:

curl -sS "https://app.vulnetic.ai/api/v1/projects?skip=0&limit=20&sort_by=created_at" \
  -H "<AUTH_HEADER_NAME>: YOUR_API_CREDENTIAL"

Sessions

GET /api/v1/sessions

Supported query parameters:

  • skip
  • limit
  • status
  • project_id
  • since
  • include_total

Example:

curl -sS "https://app.vulnetic.ai/api/v1/sessions?status=active_auto&status=queued&include_total=false" \
  -H "<AUTH_HEADER_NAME>: YOUR_API_CREDENTIAL"

Notes:

  • status may be provided multiple times
  • since is a date-time filter on updated_at
  • include_total=false lets clients skip the count query when they want faster responses

Documents

GET /api/v1/documents

Supported query parameters:

  • skip
  • limit
  • sort_by
  • sort_order
  • document_type

Example:

curl -sS "https://app.vulnetic.ai/api/v1/documents?document_type=note&sort_by=updated_at&sort_order=desc" \
  -H "<AUTH_HEADER_NAME>: YOUR_API_CREDENTIAL"

Paginated response shape

Project, session list, and document list endpoints all use the same top-level structure:

{
  "items": [],
  "total": 0,
  "skip": 0,
  "limit": 20
}

Implementation guidance

  • Treat limit as caller-controlled, but stay within documented server bounds
  • Use skip + limit pagination until the API publishes cursor-based semantics
  • When polling frequently, prefer filters such as since and include_total=false