# Create milestone

`POST /api/milestone`

URL: https://repsona.com/api/post-milestone

Creates a new milestone for the project.

## Request body

| name | in | type | required | description |
| --- | --- | --- | --- | --- |
| `projectId` | body | integer | required | The ID of the project the milestone belongs to. |
| `name` | body | string | required | Name of the milestone (1 to 50 characters). |
| `dueDate` | body | integer \| null |  | Due date in epoch milliseconds. `null` (default) means no due date. |

## Request

```sh
curl -X POST "https://<space>.repsona.com/api/milestone" \
  -H "Authorization: Bearer $REPSONA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "projectId": 253,
    "name": "Beta release",
    "dueDate": 1797292800000
  }'
```

## Responses

- 200: Created milestone
- 400: Invalid request payload
- 401: Authentication is required
- 403: Project membership is required

## Example response

```json
{
  "id": 30,
  "name": "Beta release",
  "dueDate": 1797292800000,
  "isClosed": false,
  "projectId": 253
}
```
