prontoai
BUILD ON PRONTO

A small API.
A world of possibilities.

Define the task once. Send your data. Get structured results.

Quick start

  1. Create a workspace and describe a service.
  2. Define an output JSON Schema and add separate training and test examples.
  3. Build the service. An administrator reviews its evaluation and marks it Done.
  4. Create an API key and copy the endpoint from your service’s API integration tab.
curl -X POST 'https://YOUR_DOMAIN/api/v1/services/SERVICE_ID/invoke' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: order-123' \
  -d '{"input":"Your task-specific data"}'
{
  "request_id": "uuid",
  "version": 1,
  "output": {
    "result": "Your schema-defined result"
  },
  "latency_ms": 420
}

The response above is illustrative. Actual outputs and timing depend on your service.

Authentication

Sign in to manage your workspace. API clients use a workspace key in the Authorization header. Keys are shown once, stored as hashes, and can be revoked from the console.

On a private deployment, machine clients also need the platform’s OAI-Sites-Authorization credential. It authorizes access to the site, while your Pronto key authorizes service execution. Never put either secret in browser code.

Inputs and outputs

Text inputs are strings. JSON inputs are objects or arrays. Image inputs reference an image uploaded to your own workspace.

curl -X POST 'https://YOUR_DOMAIN/api/v1/files' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -F 'file=@receipt.png'
{
  "input": {
    "file_id": "ID_FROM_UPLOAD"
  }
}

Upload PNG, JPEG, or WebP files up to 5 MB. Text and JSON inputs are limited to 50 KB. Output schemas support object, array, string, number, integer, boolean, null, and enum. Objects require all properties and additionalProperties: false. Unsupported schema keywords are rejected rather than ignored.

Service lifecycle

Draft → Examples → Build → Review → Done

Production calls require Done status. Playground tests are available after a build completes, including before administrator approval. Once a version is in review or live, its examples and contract are locked.

Current builds create an inference recipe using up to three training examples and evaluate up to five held-out examples by exact JSON equality. They do not train model weights. Administrator review is required even if every test passes.

Errors and retries

400
Invalid input or JSON contract
401
Missing or revoked credentials
403
Insufficient permissions
404
Resource unavailable to this workspace
409
Service not ready, locked state, or idempotency conflict
413
Input exceeds size limit
429
Rate limit reached; check Retry-After
502 / 504
Provider failed or timed out
503
Provider or storage is not configured

Use a unique Idempotency-Key per logical production request. Successful repeats return the saved result without another model call. Reusing a key with different input returns 409. A previously failed attempt also returns 409; choose a new key for an intentional retry. Requests that are still running return 409.

Data and feedback

Request inputs, outputs, timings, and feedback are saved in your workspace. Mark results as useful or provide corrected JSON in Activity. Corrections do not silently change an approved service.

“Help improve Pronto AI” is off by default. It records your workspace’s preference for shared platform improvement. This release does not run a shared-training pipeline. Turning it off does not stop the data processing needed to operate your own services.

Platform administrator access is separately configured and inspections are audited. Retention automation, account deletion, and external provider data policies must be configured before onboarding production customer data.