pretick.
Developer documentation

From history to forecast.
In one request.

Send ordered numeric time-series data. Receive the next set of numbers, with quantile estimates for uncertainty.

Interactive API reference ↗OpenAPI specification

1. Get a key

Request a free key at the playground, or call POST /v1/trial with {"email":"you@example.com"}. Retrieve the key from your email. It includes 5 free forecasts. Top up at pricing using that same email. An AI agent can request a trial and run inference when you provide the emailed key; a human completes any paid Stripe checkout.

2. Send a forecast request

Keep your key on your server. Use Authorization: Bearer pretick_live_…. Every documented API URL uses https://pretick.ai.

curl https://pretick.ai/v1/timeseries/forecast \
  -H "Authorization: Bearer $PRETICK_API_KEY" \
  -H "Content-Type: application/json" \
  --data @history.json

Save this working sample as history.json:

{
  "model": "pretick-default",
  "history": {
    "columns": [
      "demand",
      "temperature"
    ],
    "values": [
      [
        102,
        18
      ],
      [
        108,
        19
      ],
      [
        111,
        20
      ],
      [
        104,
        18
      ],
      [
        99,
        17
      ],
      [
        106,
        19
      ],
      [
        115,
        22
      ],
      [
        120,
        24
      ],
      [
        118,
        23
      ],
      [
        114,
        21
      ],
      [
        109,
        20
      ],
      [
        112,
        21
      ],
      [
        121,
        24
      ],
      [
        125,
        25
      ],
      [
        119,
        23
      ],
      [
        116,
        22
      ]
    ]
  },
  "frequency": "1d",
  "targets": [
    "demand"
  ],
  "horizon": 7,
  "quantiles": [
    0.1,
    0.5,
    0.9
  ]
}

Understand your input

FieldMeaning and limits
history.columns1–8 unique names, up to 64 characters each.
history.values16–2,048 rows, oldest first, one value per column. Finite JSON numbers only, absolute value ≤ 1e12. No nulls.
frequencyEqual spacing between rows: 1s, 15min, 1h, 1d, or 1w, for example. This is interval metadata, not a calendar feature.
targetsOne or more column names to forecast jointly. Other columns become past-only covariates.
horizon1–64 future time steps.
quantiles1–9 unique ascending levels from 0.1 to 0.9. Default: [0.1, 0.5, 0.9].
modelOptional. Currently pretick-default (pretrained Chronos-2).

Resample irregular observations and align your columns before calling the API. The service does not infer timestamps, fill missing values, or accept known future covariates in this release.

Read the response

forecasts has one entry per target: a median array and a quantiles object mapping each requested level to its array. Every array has exactly horizon numbers. The response also includes model_version, request_id, usage dimensions, cost_cents, and remaining balance_cents.

Quantiles describe the model's estimated distribution, not a guaranteed coverage interval. This release uses pretrained weights and does not learn new permanent weights from your requests. Measure accuracy on chronologically held-out examples from your domain.

Check usage and add credit

curl https://pretick.ai/v1/usage \
  -H "Authorization: Bearer $PRETICK_API_KEY"

Usage returns your balance and the latest 100 request accounting records. Successful forecasts cost $0.02. Trial credit covers the first five. Failed inference is refunded. If you receive refund_pending or accounting_pending, retain the request ID and contact support before retrying.

StatusWhat to do
400Fix the JSON, dimensions, target names, or numeric limits.
401Check the Pretick key and bearer authorization.
402Top up the same email account.
413Reduce the request to at most 400,000 bytes.
429Trial signup limit reached; retry later or contact support.
503Service busy or unavailable. Check the error and refund state, then retry after a delay.

Requests are synchronous and may take up to 45 seconds. Start with one request at a time; the launch worker rejects excess concurrent work. Client retries are separate requests and successful retries are billable. Do not blindly retry after a network timeout.

For AI agents

Use llms.txt, the full guide, and OpenAPI. The complete loop is trial → emailed key → forecast → usage → human-approved checkout → same key.