---
# System prepended metadata

title: '`POST` /api/tweets'
tags: [API-doc]

---

# `POST` /api/tweets  

## API 功能  
新增一筆推文。  
* 登入者必須是 user。  

## 前端傳入資料  
### parameters  
None  

### req.body  
|name|description|
|---|---|
|`description`| 推文內容(需少於 140 字) |

## 後端回傳資料  
### 驗證成功  
```javascript
// status code: 200
{
    "status": "success",
    "message": "New tweet added",
    "tweetId": "10"
}
```
### 傳入資料格式有誤  
發生原因: 檢查後發現任一欄位為空。
```json
// status code: 400
{
    "status": "error",
    "message": "userId and description required"
}
```
### 檢查失敗  
發生原因: 推文超過 140 字。
```javascript
// status code: 400
{
    "status": "error",
    "message": "tweet should be within 140 characters"
}
```

## 相關連結  
* [回首頁](https://hackmd.io/@twitter-2022/index)  
* [API 總表](/Gl56cI2LQ5ObBpmQnbnphw)

###### tags: `API-doc`