# Create Membership Policy

Creates a new membership policy for the requesting practice group.

Endpoint: POST /v1/invoicing/membership-policies
Version: 1.0.0
Security: apiKeyAuth, practiceGroupId

## Security:

  - `apiKeyAuth` (unknown)
    apiKey in header x-api-key

  - `practiceGroupId` (unknown)
    apiKey in header x-practice-group-id

## Request fields (application/json):

  - `membership_scheme_id` (string, required)

  - `customer` (string, required)

  - `price` (string, required)

  - `quantity` (number, required)

  - `starts_on` (number, required)

  - `billing_cycle_anchor` (number, required)

  - `discounts` (array, required)

  - `discounts.coupon` (string, required)

  - `members` (array, required)

  - `members.patient_id` (string, required)

  - `collection_method` (string, required)
    Enum: "charge_automatically"

  - `payment_method` (string, required)

  - `days_until_due` (number, required)

## Response 200:

  - `200` (unknown)
    Ok

## Response 200 fields (application/json):

  - `id` (string)

  - `practice_group_id` (string)

  - `membership_scheme_id` (string)

## Response 400:

  - `400` (unknown)
    Validation error

## Response 400 fields (application/json):

  - `error` (boolean, required)
    Example: true

  - `statusCode` (number, required)
    Example: 400

  - `message` (array, required)

  - `message.code` (string, required)
    Example: invalid_type

  - `message.expected` (string, required)
    Example: string

  - `message.path` (array, required)
    Example: ["patient_id"]

  - `message.message` (string, required)
    Example: Required

## Response 401:

  - `401` (unknown)
    Unauthorised

## Response 404:

  - `404` (unknown)
    Not found

## Response 429:

  - `429` (unknown)
    Too Many Requests

## Response 500:

  - `500` (unknown)
    Unknown error

