---
title: "Estimate learning's cost"
method: GET
path: "/api/v1/steep/learning/estimate"
tags: ["authed"]
---

# Estimate learning's cost

`GET /api/v1/steep/learning/estimate`

## Request

- Base URL: `https://api.teaflask.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.teaflask.com/api/v1/steep/learning/estimate`
- Auth: none declared

What learning would cost at each cadence, scaled from the last 30 days
of journeys and conversations: a typical and a highest cost per run, a
typical cost per month, and when the first run would start.

## Query parameters

- `timezone` string, required: The IANA time zone runs would be timed in.

## Response `200`

Successful Response

- LearningCostEstimateResponse: What learning would cost at each cadence, from the last 30 days.
  - `basis` LearningEstimateBasis, required
    - `days` integer, required: How many recent days the estimate looked at.
    - `journeys` integer, required: Journeys captured in those days.
    - `conversations` integer, required: Conversations held in those days.
  - `options` LearningCadenceEstimate[], required: One estimate per cadence.
    - `cadence` 'daily' | 'weekly' | 'monthly', required
    - `typical_cost_per_run_microusd` integer, required: What one run typically costs. In microusd: millionths of a US dollar (1,000,000 = $1.00).
    - `ceiling_cost_per_run_microusd` integer, required: What one run may cost at most. In microusd: millionths of a US dollar (1,000,000 = $1.00).
    - `typical_monthly_cost_microusd` integer, required: What a month of runs typically costs. In microusd: millionths of a US dollar (1,000,000 = $1.00).
    - `next_run_at` string, date-time, required: The earliest the first scheduled run would start; it would start within the hour after this time.
    - `first_run_now` boolean, required: Whether turning learning on now also starts a run at once, which happens when the first scheduled run is more than 6 hours away.

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `405`: Method not allowed
- `422`: Validation error
- `500`: Internal server error

## Changes

- **2026-11-03** `c6ac9fd6657f`: 6 info
  - removed the `STEEP_LEARNING_DISABLED` enum value from the `error/code` response property for the response status `401`
  - removed the `STEEP_LEARNING_DISABLED` enum value from the `error/code` response property for the response status `403`
  - removed the `STEEP_LEARNING_DISABLED` enum value from the `error/code` response property for the response status `404`
  - removed the `STEEP_LEARNING_DISABLED` enum value from the `error/code` response property for the response status `405`
  - …2 more

[Operation history](https://skmtc.dev/teaflask/apis/teaflask-api/changes/api/v1/steep/learning/estimate/get.md)

---

[API](https://skmtc.dev/teaflask/apis/teaflask-api.md) - [All operations](https://skmtc.dev/teaflask/apis/teaflask-api/llms.txt) - [OpenAPI document](https://skmtc.dev/teaflask/apis/teaflask-api/revisions/c6ac9fd6657f?raw)
