WebAPIのレスポンスボディに含むマスターの情報はIDかIDに紐づく値か


WebAPIのレスポンスボディにマスターのデータを入れるとき、IDとIDに紐づく値のどちらを返すのがよいのでしょうか？

例えば、あるタスクを取得するGET /tasks/1
のようなWebAPIのレスポンスボディの場合、ステータスのidとnameはどちらを返すのがよいのでしょうか？

### レスポンスボディのサンプル

[code]

    {
     "id": 1,
     "status": {
      "id": 2, // どっちがよい？
      "name": "進行中" // どっちがよい？
    }
    
[/code]

### statusマスターテーブル

id | name  
---|---  
1 | 完了  
2 | 進行中  
3 | 未完了




提示された例から ToDo リストのようなものかと想像しましたが、個人的には id = 数値で返す形式は (利用する側視点で) 分かりづらいと感じます。

最終的には設計の方向性次第かと思いますが、類似の API を参考にしてみるのも一つの方法です。  
Microsoft Graph API では以下の通り、状態を表す文字列を返すようです。

[todoTask resource type - Microsoft Graph v1.0 | Microsoft
Learn](https://learn.microsoft.com/en-
us/graph/api/resources/todotask?view=graph-rest-1.0#properties)

> **Property** | **Type** | **Description**  
> ---|---|---  
> status | taskStatus | Indicates the state or progress of the task. Possible
> values are: `notStarted`, `inProgress`, `completed`, `waitingOnOthers`,
> `deferred`.  
  
もしくは、もっと単純に "完了か否か" のトグルであれば、Remember The Milk では completed というフィールドを用意しています。

[Remember The Milk - Services / API /
Tasks](https://www.rememberthemilk.com/services/api/tasks.rtm)

>
[code]

>             <task id="815784" due="" has_due_time="0"
>             added="2015-05-08T13:52:26Z" completed="" deleted=""
>             priority="2" postponed="0" estimate="" />
>  
[/code]

