---
search:
  tags:
    - Operations
    - POST
seo:
  description: >-
    Session-gated; requires app:write. Schedules a declared op to run on…
    Reference for the POST /api/v1/apps/{appId}/routines endpoint in the
    Charming API API.
sidebar:
  badge: POST
  label: Schedule a Routine on an app
title: Schedule a Routine on an app
type: openapi-operation
---
Session-gated; requires `app:write`. Schedules a declared op to run on its own, on a timer (`hourly` | `daily` | `weekly`). The op is invoked with empty input, so it must declare no required input fields. Rejects a duplicate (app, op) pair, and enforces a 3-per-app / 25-per-user cap.

<Operation source="reference" id="create-routine" />

Found a bug or need a feature? [Tell us](/docs/capabilities/feedback) with `submit_feedback` or `POST /app/{id}/feedback`. Your feedback shapes what we build next.
