Skip to main content
PATCH
Update a pay rate policy

Authorizations

Authorization
string
header
required

Organization-scoped bearer credential: a customer API key (1club_sk_live_...) or an MCP OAuth access token.

Path Parameters

id
string<uuid>
required

Pay rate policy id

Body

application/json

Fields accepted when updating a pay rate policy. Send only what changes; an omitted field is left alone, and any list that IS sent replaces the whole set. earnings.kind must match the policy's existing kind.

name
string
Maximum string length: 255
earnings
object

What the coach earns, and for what unit of work. kind decides which of the rate fields apply and which are rejected: an individual policy takes perSession and sessionRevenuePercentage, a class policy takes perClass, perBooking and classRevenuePercentage. At least one of the applicable rates must be greater than zero, and kind cannot be changed once the policy exists.

requirePaidBooking
boolean
default:false

When true, attendance that was never paid for earns the coach nothing.

instructorIds
integer[]

Coaches this policy covers. An empty list makes it the organization default, applying to every coach with no policy of their own.

classTypeIds
integer[]

Class types it covers, from GET /v1/platform/class-types. Empty covers every class type. Rejected on an individual policy, which has no classes to scope.

entranceScopes
object[]

How the attendee got in. Empty covers every route in.

Response

The updated pay rate policy

A rule for what the club pays a coach. Not an instructor's hourlyRate, which is what a member pays for an hour of their time. Each coverage list means "everything" when empty: no instructors makes it the organization default, no classTypes covers every class type, no entranceScopes covers every way in.

policyId
string<uuid>
name
string
kind
enum<string>
Available options:
individual,
class
earnings
object

What the coach earns, and for what unit of work. kind decides which of the rate fields apply and which are rejected: an individual policy takes perSession and sessionRevenuePercentage, a class policy takes perClass, perBooking and classRevenuePercentage. At least one of the applicable rates must be greater than zero, and kind cannot be changed once the policy exists.

requirePaidBooking
boolean
instructors
object[]

Coaches this policy covers. Empty means every coach with no policy of their own.

classTypes
object[]

Class types it covers. Empty means every class type.

entranceScopes
object[]

How the attendee got in. Empty means every route in.

createdAt
string<date-time>
updatedAt
string<date-time>