# Cycles

### The cycle object

| Attribute   | Type   | Description                                                |
| ----------- | ------ | ---------------------------------------------------------- |
| id          | string | Unique delivery cycle identifier                           |
| name        | string | Name of the delivery cycle                                 |
| created\_at | string | Time when the delivery cycle was created. RFC 3339 format. |

Example:

```javascript
{
  "id": "16682617-f25d-4df2-9f51-3c38298996b8",
  "name": "2019 Q1",
  "created_at": "2018-02-20T12:32:56Z"
}
```

## Create Cycle

<mark style="color:green;">`POST`</mark> `https://api.simpleokr.com/v1/cycles`

Create a new Cycle object.

#### Request Body

| Name | Type   | Description                     |
| ---- | ------ | ------------------------------- |
| name | string | Name of the Cycle. E.g. 2019 Q1 |

{% tabs %}
{% tab title="200 " %}

```javascript
{
  "id": "16682617-f25d-4df2-9f51-3c38298996b8",
  "name": "2019 Q1",
  "created_at": "2018-02-20T12:32:56Z"
}
```

{% endtab %}
{% endtabs %}

## List Cycles

<mark style="color:blue;">`GET`</mark> `https://api.simpleokr.com/v1/cycles`

Retrieve a list of available Cycles.

#### Query Parameters

| Name        | Type   | Description      |
| ----------- | ------ | ---------------- |
| page\_token | string | Page identifier. |

{% tabs %}
{% tab title="200 " %}

```javascript
{
  "next_page_token": null,
  "cycles": [
    {
      "id": "16682617-f25d-4df2-9f51-3c38298996b8",
      "name": "2019 Q1",
      "created_at": "2018-02-20T12:32:56Z"
    },
    {...},
    {...}
  ]
}
```

{% endtab %}
{% endtabs %}

## Retrieve Cycle

<mark style="color:blue;">`GET`</mark> `https://api.simpleokr.com/v1/cycles/:id`

Retrieve details about an existing Cycle.

#### Path Parameters

| Name | Type   | Description |
| ---- | ------ | ----------- |
| id   | string | Cycle ID    |

{% tabs %}
{% tab title="200 " %}

```javascript
{
  "id": "16682617-f25d-4df2-9f51-3c38298996b8",
  "name": "2019 Q1",
  "created_at": "2018-02-20T12:32:56Z"
}
```

{% endtab %}
{% endtabs %}

## Update Cycle

<mark style="color:green;">`POST`</mark> `https://api.simpleokr.com/v1/cycles/:id`

Update an existing Cycle object.

#### Path Parameters

| Name | Type   | Description |
| ---- | ------ | ----------- |
| id   | string | Cycle ID    |

#### Request Body

| Name | Type   | Description              |
| ---- | ------ | ------------------------ |
| name | string | New Cycle name to be set |

{% tabs %}
{% tab title="200 " %}

```javascript
{
  "id": "16682617-f25d-4df2-9f51-3c38298996b8",
  "name": "2019 Q1",
  "created_at": "2018-02-20T12:32:56Z"
}
```

{% endtab %}
{% endtabs %}

## Delete Cycle

<mark style="color:red;">`DELETE`</mark> `https://api.simpleokr.com/v1/cycles/:id`

Delete an existing Cycle object and all data associated with it.

#### Path Parameters

| Name | Type   | Description |
| ---- | ------ | ----------- |
| id   | string | Cycle ID    |

{% tabs %}
{% tab title="200 " %}

```
```

{% endtab %}
{% endtabs %}
