Skip to main content

Execution Model

Phonefarm exposes a process-oriented public API, but the underlying runtime is a layered system.

The Public Model

For callers, the lifecycle is:
  1. Submit a request.
  2. Receive an accepted response.
  3. Observe process.updated callbacks.
  4. Poll the process record for current state.
  5. Cancel with a process-aware endpoint if needed.

The Internal Flow

Under the hood, the flow is:

Key Objects

Primary Public Entrypoints

Use these for new integrations:
  • POST /capability-requests/enqueue
  • POST /maintenance/requests
  • GET /processes/{process_id}
  • POST /processes/{process_id}/cancel

Compatibility Entrypoints

These older endpoints work directly with queue items:
  • POST /ingest
  • POST /cancel
Use them only if you need direct post-video queue-item behavior.

Routing Modes

Capability requests accept a target with one routing mode: Not every capability supports every routing mode. See Capability Registry.

Run Modes

Important: fyp_warmup is live-verified for unattended watch-only use, but only when like_probability, save_probability, and comment_probability are each explicitly 0. fyp_comment_growth and maintenance remain manual-only.

Callbacks Versus Polling

Callbacks are useful for event-driven systems, but they are not the source of truth:
  • callbacks are best-effort
  • callback failure does not fail the originating API request
  • polling GET /processes/{process_id} is the authoritative view