---
title: "Changes to Create School Contract"
method: POST
path: "/admin/schools/{school_id}/contracts"
---

# Changes to Create School Contract

`POST /admin/schools/{school_id}/contracts`

> Every recorded change to this operation, newest first.
> 55 revisions in range; 1 not diffed.

## Timeline

Changed in 2 of 55 revisions.

- **2026-10-11** `271be6884523`: 3 breaking, 5 info
- **2026-10-06** `59dba414f8ae`: 4 info

## Changes

- **2026-10-11** `271be6884523`: 3 breaking, 5 info
  - request property `free_months` list-of-types was narrowed by removing types `integer` from media type `application/json`
  - response property `free_months` list-of-types was widened by adding types `number` to media type `application/json` of response `200`
  - the `free_months/anyOf[subschema #1]/` response's property type changed from `integer` to `number` for status `200`
  - added the new optional request property `launch_guarantee`
  - added the new optional request property `launch_guarantee_end_date`
  - the `free_months/anyOf[subschema #1]/` request property type was generalized from `integer` to `number`
  - added the optional property `launch_guarantee` to the response with the `200` status
  - added the optional property `launch_guarantee_end_date` to the response with the `200` status
- **2026-10-06** `59dba414f8ae`: 4 info
  - added the new optional request property `billing_rhythm`
  - added the new optional request property `levels`
  - added the optional property `billing_rhythm` to the response with the `200` status
  - added the optional property `levels` to the response with the `200` status

---

[Operation](https://skmtc.dev/excellence-ai/apis/excellence-learning/docs/admin/schools/:school_id/contracts/post.md) - [API](https://skmtc.dev/excellence-ai/apis/excellence-learning.md) - [Page](https://skmtc.dev/excellence-ai/apis/excellence-learning/changes/admin/schools/:school_id/contracts/post)
