> For the complete documentation index, see [llms.txt](https://docs.tryterra.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tryterra.co/planned-workouts-api/pricing.md).

# Pricing & Access

Planned Workouts is a paid add-on to your Terra plan, with usage measured in credits.

## The add-on

Planned Workouts is available as an add-on to any Terra base plan for **$99/month**. Activate it from the dashboard, either on the Planned Workouts page itself or under **Settings → Plans → Additional Products**.

Without the add-on active:

* Pushing or rescheduling a workout returns `403 Forbidden`.
* `GET /plannedWorkouts` still returns `200` with the workouts you scheduled through Terra, but it does not read live from the connected provider, so workouts created on the provider's side are left out. Those responses carry `X-Terra-Provider-Fetch: skipped` and `X-Terra-Provider-Data-Truncated: true`.
* Reading, deleting, and managing workout templates remain available, so you keep access to everything you previously pushed.

## Credits

Usage is measured in **credits**. Your subscription includes **20,000 credits per month**. Beyond that, credits are billed at **$0.005 each** (10 credits = $0.05) at the end of each billing cycle, with volume discounts at high usage.

| Action                                                                                                                                 | Credits              |
| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------- |
| **Push**: `POST /workouts/{workout_id}/plan` (sync a workout to a user's calendar)                                                     | 10 credits ($0.05)   |
| **Push**: `PATCH /plannedWorkouts/{planned_workout_id}` (reschedule, re-syncs to the provider)                                         | 10 credits ($0.05)   |
| **Pull**: `GET /plannedWorkouts?user_id=...` (one live read of the user's calendar, including workouts created on the provider's side) | 1 credit per request |
| Reads of Terra-stored workouts, deletes, template management, SDK sync polling                                                         | Free                 |

The 20,000 included credits cover 2,000 pushes per month, or any mix of pushes and pulls.

Which of the two you can use depends on the provider. Intervals.icu is read-only for planned workouts, so an Intervals.icu connection only ever spends pull credits. See [Provider Compatibility](/planned-workouts-api/provider-compatibility.md) for what each provider supports.

{% hint style="info" %}
Only successful operations are billed. A push the provider rejects costs nothing. A pull is billed once the live provider read completes. If the provider cannot be read, the response still returns your Terra-scheduled workouts with `X-Terra-Provider-Data-Truncated: true` and is free.
{% endhint %}
