# 期間内に予定のあるタスク一覧

`GET /api/project/{projectId}/task/upcoming`

URL: https://repsona.com/ja/api/get-project-projectid-task-upcoming

開始日から期限までの範囲が、指定した期間に重なるタスクを返します。

## パラメーター

| name | in | type | required | description |
| --- | --- | --- | --- | --- |
| `projectId` | path | "@all" \| integer | 必須 | プロジェクト ID。`@all` を渡すと、参加中の終了していないプロジェクトすべてが対象になります。 |
| `start` | query | integer | 必須 | 期間の開始です (エポックミリ秒)。期限がこの時刻以降のタスクが対象です。 |
| `end` | query | integer | 必須 | 期間の終了です (エポックミリ秒)。開始日がこの時刻以前のタスクが対象です。 |
| `page` | query | integer |  | ページ番号 (1 から)。1 ページあたり最大 30 件のタスクです。 |

## リクエスト

```sh
curl -X GET "https://<space>.repsona.com/api/project/{projectId}/task/upcoming" \
  -H "Authorization: Bearer $REPSONA_API_KEY"
```

## レスポンス

- 200: Tasks whose start/due range overlaps the given range
- 400: Invalid range
- 401: Authentication is required
- 403: Not a project member
- 404: Project not found

## レスポンスの例

```json
{
  "tasks": [
    {
      "id": 100388,
      "name": "Design the new top page",
      "projectName": "Website renewal",
      "project": {
        "id": 253,
        "name": "WEB",
        "avatarUrl": ""
      },
      "ancestorNames": [],
      "status": {
        "id": 166,
        "name": "To do",
        "color": "#64748b",
        "isClosed": false
      },
      "owner": {
        "id": 988,
        "name": "reon.walls",
        "fullName": "Reon Walls",
        "avatarUrl": null,
        "color": null
      },
      "tags": [
        {
          "id": 75,
          "name": "Design",
          "color": "#3b82f6"
        }
      ],
      "dueDate": 1794009600000,
      "priority": null
    },
    {
      "id": 100390,
      "name": "Fix broken links on the pricing page",
      "projectName": "Website renewal",
      "project": {
        "id": 253,
        "name": "WEB",
        "avatarUrl": ""
      },
      "ancestorNames": [],
      "status": {
        "id": 172,
        "name": "In review",
        "color": "#f59e0b",
        "isClosed": false
      },
      "owner": {
        "id": 988,
        "name": "reon.walls",
        "fullName": "Reon Walls",
        "avatarUrl": null,
        "color": null
      },
      "tags": [
        {
          "id": 76,
          "name": "Bug",
          "color": "#dc2626"
        }
      ],
      "dueDate": 1793750400000,
      "priority": null
    }
  ],
  "hasMore": false
}
```
