# shrimp API # 概要 Webアプリケーションshrimpが用いるWebAPIです。ログインなどのユーザー認証、タスクやタグの登録、更新、削除などが行えます。 # ステータスコード | **ステータスコード** | **説明** | | --- | --- | | 200 | リクエストが成功 | | 201 | リクエストが成功し、データベースに新たなデータが追加された | | 204 | リクエストに成功したが、返却するデータが存在しない | | 400 | リクエストパラメータが間違っている | | 401 | APIトークンが正しくない、もしくは期限が切れている | | 404 | 存在しないURLにアクセスしている | | 500 | サーバー側でエラーが発生 | # アクセストークン ユーザー登録、ユーザー仮登録、ログイン以外のリクエストはshrimpAPIで取得したアクセストークンをAuthorizationリクエストヘッダに付与する。 # API一覧 | **API名** | **機能概要** | | --- | --- | | ユーザー本登録 | ユーザー情報を本登録する。 | | ユーザー仮登録 | メールアドレス情報を仮登録する。仮登録されたメールアドレスにユーザー本登録画面のURLを送る。 | | ユーザー情報取得 | 登録されているユーザー情報のメールアドレス、パスワードを取得する。 | | ユーザー情報更新 | 登録されているユーザー情報のメールアドレス、パスワードを変更する。 | | ユーザー情報削除 | 登録されているユーザーのメールアドレス、パスワードとユーザーが所持しているタスク、タグなどを削除する。 | | ログイン | ユーザー認証用のトークンを発行する。 | | タスク作成 | 新たにタスクを登録する。 | | タスク取得 | タスクの情報を取得する。 | | タスク更新 | タスクの情報を変更する。 | | タスク削除 | タスクの情報を削除する。 | | タスク開始日時更新 | タスクの開始日時を変更する。 | | タスク終了日時更新 | タスクの終了日時を変更する。 | | タグ作成 | タグを作成する。 | | タスクに付与されたタグ取得 | タスクにタグ付けされているタグの一覧を取得する。 | | タグ削除 | タグを削除する。 | # ユーザー ### ユーザー仮登録 メールアドレス情報を仮登録する。仮登録されたメールアドレスに本登録URLを送る。 | **メソッド** | **アクセスURL** | | --- | --- | | POST | /api/users/pre_register | ###### リクエスト | **パラメータ** | **型** | **内容** | **必須** | **デフォルト値** | **最大値** | | --- | --- | --- | --- | --- | --- | | email | 文字列 | メールアドレス | ○ | | 400文字 | ###### レスポンス なし。 ### ユーザー本登録 ユーザー情報を本登録する。 | **メソッド** | **アクセスURL** | | --- | --- | | POST | /api/users/register | ###### リクエスト | **パラメータ** | **型** | **内容** | **必須** | **デフォルト値** | **最大値** | | --- | --- | --- | --- | --- | --- | | password | 文字列 | パスワード | ○ | | 50文字 | ###### レスポンス | **パラメータ** | **型** | **内容** | **必須** | **デフォルト値** | **最大値** | | --- | --- | --- | --- | --- | --- | | email | 文字列 | メールアドレス | ○ | | 400文字 | | password | 文字列 | パスワード | ○ | | 50文字 | ### ユーザー情報取得 登録されているユーザー情報のメールアドレス、パスワードを取得する。 | **メソッド** | **アクセスURL** | | --- | --- | | GET | /api/users | ###### リクエスト なし。 ###### レスポンス | **パラメータ** | **型** | **内容** | **必須** | **デフォルト値** | **最大値** | | --- | --- | --- | --- | --- | --- | | email | 文字列 | メールアドレス | ○ | | 400文字 | | password | 文字列 | パスワード | ○ | | 50文字 | ### ユーザー情報更新 登録されているユーザー情報のメールアドレス、パスワードを変更する。 | **メソッド** | **アクセスURL** | | --- | --- | | PUT | /api/users | ###### リクエスト | **パラメータ** | **型** | **内容** | **必須** | **デフォルト値** | **最大値** | | --- | --- | --- | --- | --- | --- | | email | 文字列 | メールアドレス | ○ | | 400文字 | | password | 文字列 | パスワード | ○ | | 50文字 | ###### レスポンス | **パラメータ** | **型** | **内容** | **必須** | **デフォルト値** | **最大値** | | --- | --- | --- | --- | --- | --- | | email | 文字列 | メールアドレス | ○ | | 400文字 | | password | 文字列 | パスワード | ○ | | 50文字 | ### ユーザー情報削除 登録されているユーザーのメールアドレス、パスワードとユーザーが所持しているタスク、タグなどを削除する。 | **メソッド** | **アクセスURL** | | --- | --- | | Delete | /api/users | ###### リクエスト なし。 ###### レスポンス 空のレスポンスを返す。 # ユーザー認証 ### ログイン ユーザー認証用のトークンを発行する。 | **メソッド** | **アクセスURL** | | --- | --- | | POST | /api/login | ###### リクエスト | **パラメータ** | **型** | **内容** | **必須** | **デフォルト値** | **最大値** | | --- | --- | --- | --- | --- | --- | | email | 文字列 | メールアドレス | ○ | | 400文字 | | password | 文字列 | パスワード | ○ | | 50文字 | ###### レスポンス | **パラメータ** | **型** | **内容** | **必須** | **デフォルト値** | **最大値** | | --- | --- | --- | --- | --- | --- | | access_token | 文字列 | 認証トークン | ○ | | | | token_type | 文字列 | トークンの種類 | ○ | | | | expires_in | 数値 | トークンの有効期限 | ○ | | | # タスク ### タスク作成 新たにタスクを登録する。 | **メソッド** | **アクセスURL** | | --- | --- | | POST | /api/tasks | ###### リクエスト | **パラメータ** | **型** | **内容** | **必須** | **デフォルト値** | **最大値** | | --- | --- | --- | --- | --- | --- | | title | 文字列 | タスクのタイトル | ○ | | | | description | 文字列 | タスクの概要 | ○ | | | | scheduled_begin_at | 文字列 | タスクの開始予定日時 | ○ | | | | scheduled_finish_at | 文字列 | タスクの終了予定日時 | ○ | | | | is_notified | ブール値 | タスクの開始予定日時を通知するかどうか | ○ | | | | tag_ids | 配列 | タスクに付与されたタグのID | | \[\] | | ###### レスポンス | **パラメータ** | **型** | **内容** | **必須** | **デフォルト値** | **最大値** | | --- | --- | --- | --- | --- | --- | | id | 数値 | タスクのid | ○ | | | | title | 文字列 | タスクのタイトル | ○ | | | | description | 文字列 | タスクの概要 | ○ | | | | scheduled_begin_at | 文字列 | タスクの開始予定日時 | ○ | | | | scheduled_finish_at | 文字列 | タスクの終了日時 | ○ | | | | is_notified | ブール値 | タスクの開始予定日時を通知するかどうか | ○ | | | | tag_ids | 配列 | タスクに付与されたタグのID | | \[\] | | ### タスク取得 タスクの情報を取得する。 | **メソッド** | **アクセスURL** | | --- | --- | | GET | /api/tasks | ###### リクエスト | **パラメータ** | **型** | **内容** | **必須** | **デフォルト値** | **最大値** | | --- | --- | --- | --- | --- | --- | | id | 数値 | タスクのid | ○ | | | ###### レスポンス | **パラメータ** | **型** | **内容** | **必須** | **デフォルト値** | **最大値** | | --- | --- | --- | --- | --- | --- | | id | 数値 | タスクのid | ○ | | | | title | 文字列 | タスクのタイトル | ○ | | | | description | 文字列 | タスクの概要 | ○ | | | | scheduled_begin_at | 文字列 | タスクの開始予定日時 | ○ | | | | scheduled_finish_at | 文字列 | タスクの終了日時 | ○ | | | | is_notified | ブール値 | タスクの開始予定日時を通知するかどうか | ○ | | | ### タスク更新 タスクの情報を変更する。 | **メソッド** | **アクセスURL** | | --- | --- | | PUT | /api/tasks | ###### リクエスト | **パラメータ** | **型** | **内容** | **必須** | **デフォルト値** | **最大値** | | --- | --- | --- | --- | --- | --- | | id | 数値 | タスクのid | ○ | | | | title | 文字列 | タスクのタイトル | ○ | | | | description | 文字列 | タスクの概要 | ○ | | | | scheduled_begin_at | 文字列 | タスクの開始予定日時 | ○ | | | | scheduled_finish_at | 文字列 | タスクの終了予定日時 | ○ | | | | is_notified | ブール値 | タスクの開始予定日時を通知するかどうか | ○ | | | ###### レスポンス | **パラメータ** | **型** | **内容** | **必須** | **デフォルト値** | **最大値** | | --- | --- | --- | --- | --- | --- | | id | 数値 | タスクのid | ○ | | | | title | 文字列 | タスクのタイトル | ○ | | | | description | 文字列 | タスクの概要 | ○ | | | | scheduled_begin_at | 文字列 | タスクの開始予定日時 | ○ | | | | scheduled_finish_at | 文字列 | タスクの終了予定日時 | ○ | | | | is_notified | ブール値 | タスクの開始予定日時を通知するかどうか | ○ | | | ### タスク削除 タスクの情報を削除する。 | **メソッド** | **アクセスURL** | | --- | --- | | DELETE | /api/tasks | ###### リクエスト | **パラメータ** | **型** | **内容** | **必須** | **デフォルト値** | **最大値** | | --- | --- | --- | --- | --- | --- | | id | 数値 | タスクのid | ○ | | | ###### レスポンス なし。 ### タスク開始日時更新 タスクの開始日時を変更する。 | **メソッド** | **アクセスURL** | | --- | --- | | POST | /api/tasks/begin | ###### リクエスト | **パラメータ** | **型** | **内容** | **必須** | **デフォルト値** | **最大値** | | --- | --- | --- | --- | --- | --- | | id | 数値 | タスクのid | ○ | | | | begin_at | 文字列 | タスクの開始日時 | ○ | | | ###### レスポンス | **パラメータ** | **型** | **内容** | **必須** | **デフォルト値** | **最大値** | | --- | --- | --- | --- | --- | --- | | id | 数値 | タスクのid | ○ | | | | begin_at | 文字列 | タスクの開始日時 | ○ | | | ### タスク終了日時更新 タスクの終了日時を変更する。 | **メソッド** | **アクセスURL** | | --- | --- | | POST | /api/tasks/finish | ###### リクエスト | **パラメータ** | **型** | **内容** | **必須** | **デフォルト値** | **最大値** | | --- | --- | --- | --- | --- | --- | | id | 数値 | タスクのid | ○ | | | | finish_at | 文字列 | タスクの開始日時 | ○ | | | ###### レスポンス | **パラメータ** | **型** | **内容** | **必須** | **デフォルト値** | **最大値** | | --- | --- | --- | --- | --- | --- | | id | 数値 | タスクのid | ○ | | | | finish_at | 文字列 | タスクの開始日時 | ○ | | | # タグ ### タグ作成 タグを作成する。 | **メソッド** | **アクセスURL** | | --- | --- | | POST | /api/tags | ###### リクエスト | **パラメータ** | **型** | **内容** | **必須** | **デフォルト値** | **最大値** | | --- | --- | --- | --- | --- | --- | | name | 文字列 | タグの名前 | ○ | | | ###### レスポンス | **パラメータ** | **型** | **内容** | **必須** | **デフォルト値** | **最大値** | | --- | --- | --- | --- | --- | --- | | id | 数値 | タグのID | ○ | | | | name | 文字列 | タグの名前 | ○ | | | ### タスクに付与されたタグ取得 タスクにタグ付けされているタグの一覧を取得する。 | **メソッド** | **アクセスURL** | | --- | --- | | GET | /api/tags | ###### リクエスト | **パラメータ** | **型** | **内容** | **必須** | **デフォルト値** | **最大値** | | --- | --- | --- | --- | --- | --- | | id | 数値 | タスクのID | ○ | | | ###### レスポンス 以下のパラメータを持つ構造の配列。 | **パラメータ** | **型** | **内容** | **必須** | **デフォルト値** | **最大値** | | --- | --- | --- | --- | --- | --- | | id | 数値 | タグのID | ○ | | | | name | 文字列 | タグの名前 | ○ | | | 例 ``` json [ { "id": 1, "name": "家事" }, { "id": 2, "name": "外出" } ] ``` ### タグ削除 タグを削除する。 | **メソッド** | **アクセスURL** | | --- | --- | | DELETE | /api/tags | ###### リクエスト | **パラメータ** | **型** | **内容** | **必須** | **デフォルト値** | **最大値** | | --- | --- | --- | --- | --- | --- | | id | 文字列 | タグのID | ○ | | | ###### レスポンス 空のレスポンスを返す。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up