---
title: "Start Contract"
method: POST
path: "/v1/subscription/start-contract"
tags: ["Subscription"]
---

# Start Contract

`POST /v1/subscription/start-contract`

Collect the customer's card and start the custom plan staff loaded for their org.

## Headers

- `X-API-Key` string, required

## Request body

- StartContractRequest
  - `payment_method_id` string, nullable — Stripe payment method ID; omit to reuse the org's existing default card

## Response `200`

Successful Response

- SignupResponse
  - `success` boolean, required — Whether the signup was successful
  - `message` string, required — Response message
  - `effective_at` string, nullable — When a scheduled plan change takes effect (ISO 8601); null means immediate

## Other responses

- `422` — Validation Error

## Changes

> 19 revisions in range; 16 could not be searched.

- **2026-07-26** `44d183272ce1` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/getbluejay/apis/bluejay-api/changes/v1/subscription/start-contract/post.md)

---

[API](https://skmtc.dev/getbluejay/apis/bluejay-api.md) · [All operations](https://skmtc.dev/getbluejay/apis/bluejay-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/getbluejay/bluejay-api/revisions/bf69ab7268a4/schema)
