Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.ai-stats.phaseo.app/llms.txt

Use this file to discover all available pages before exploring further.

Methods: create_batch, retrieve_batch, cancel_batch, get_async_job_websocket_url, batch_websocket_url, async_jobs.websocket_url.

Example

require 'ai_stats_sdk'

client = AIStatsSdk::AIStats.new(api_key: ENV.fetch('AI_STATS_API_KEY'))

batch = client.create_batch(
  endpoint: 'responses',
  input_file_id: 'file_123',
  completion_window: '24h',
  session_id: 'agent-run-42'
)

status = client.retrieve_batch(batch["id"])
cancelling = client.cancel_batch(batch["id"])
websocket_url = client.batch_websocket_url(batch["id"], interval_ms: 1500)

Key parameters

  • endpoint (required): Target endpoint for batch items (e.g., responses).
  • input_file_id (required): File id uploaded via /files.
  • completion_window: e.g., 24h.
  • session_id: Optional AI Stats grouping id for logs, sessions, and investigate tooling.
  • webhook: Optional webhook configuration for async lifecycle notifications.
  • metadata: Optional object stored with the batch.

Returns

BatchResponse Batch responses also surface gateway observability fields such as request_id, provider, echoed session_id / webhook, and terminal billing / pricing_lines when available. Use client.batch_websocket_url(...) when you want to subscribe to the documented /v1/async/batch/{id}/ws lifecycle stream instead of polling only. Use client.async_jobs.websocket_url("batch", batch["id"], ...) when you want the generic async-jobs resource helper. Use client.get_async_job_websocket_url("batch", batch["id"], ...) when you want the same generic helper without going through the resource object.
Last modified on May 6, 2026