---
title: "Create a cost period"
method: POST
path: "/cost-periods"
tags: ["Cost Periods"]
---

# Create a cost period

`POST /cost-periods`

## Request

- Base URL: `https://www.ruddr.io/api/workspace`
- URL: `https://www.ruddr.io/api/workspace/cost-periods`
- Auth: HTTP bearer

## Request body

- object
  - `start` string, date, required: The start date for the period. Will be in the form YYYY-MM-DD.
  - `memberId` string, required: The unique identifier of the member this cost period applies to.
  - `currency` string: The currency code for the cost period. Defaults to the workspace currency if not supplied.
  - `costMethodId` 'hourly' | 'fixed_hourly' | 'fixed_monthly': The cost method used for this period. One of `hourly`, `fixed_hourly`, or `fixed_monthly`.
  - `costPerHour` number, nullable: The labor cost per hour.
  - `overheadCostPerHour` number, nullable: The overhead cost per hour.
  - `costPerMonth` number, nullable: The labor cost per month.
  - `overheadCostPerMonth` number, nullable: The overhead cost per month.

## Response `200`

200

- CostPeriod
  - `id` string: The unique identifier for the object.
  - `isDefault` boolean: Whether this is the default cost period for the member.
  - `start` string, date: The start date for the period. Will be in the form YYYY-MM-DD.
  - `end` string, date, nullable: The end date for the period. Will be in the form YYYY-MM-DD. `null` if this is the most recent period.
  - `currency` string: The currency code for the cost period.
  - `costMethodId` 'hourly' | 'fixed_hourly' | 'fixed_monthly': The cost method used for this period.
  - `costPerHour` number, nullable: The labor cost per hour. `null` when `costMethodId` is `fixed_monthly`.
  - `overheadCostPerHour` number, nullable: The overhead cost per hour. `null` when `costMethodId` is `fixed_monthly`.
  - `totalCostPerHour` number, nullable: The sum of `costPerHour` and `overheadCostPerHour`. `null` when `costMethodId` is `fixed_monthly`.
  - `costPerMonth` number, nullable: The labor cost per month. `null` when `costMethodId` is `hourly` or `fixed_hourly`.
  - `overheadCostPerMonth` number, nullable: The overhead cost per month. `null` when `costMethodId` is `hourly` or `fixed_hourly`.
  - `totalCostPerMonth` number, nullable: The sum of `costPerMonth` and `overheadCostPerMonth`. `null` when `costMethodId` is `hourly` or `fixed_hourly`.
  - `createdAt` string, date-time: The timestamp when the object was created.

## Other responses

- `400`: 400
- `409`: 409

---

[API](https://skmtc.dev/ruddr/apis/ruddr-api.md) · [All operations](https://skmtc.dev/ruddr/apis/ruddr-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ruddr/apis/ruddr-api/revisions/01c3f2a969ba?raw)
