はじめに

Set Plan APIは、プロジェクト管理データにプログラムからアクセスするためのRESTful APIです。見積書・請求書・発注書・納品書・注文確認書・課題管理・予定実績・分析データなどを取得・作成・更新できます。

ベースURL

text
https://setplan.app/api/v1

レスポンスフォーマット

全てのAPIレスポンスはJSON形式で、以下の統一フォーマットで返されます。

json
{
  "success": true,
  "data": {
    "id": "xxx",
    "name": "サンプル"
  },
  "meta": {
    "total": 100,
    "page": 1,
    "limit": 20,
    "totalPages": 5
  }
}

meta フィールドはページネーション対応のエンドポイントでのみ含まれます。

認証

全てのAPIリクエストには、Authorization ヘッダーにBearerトークンとしてAPIキーを含める必要があります。

APIキーの取得

APIキーは、Set Planの設定画面 > APIキー管理から発行できます。 APIキーは作成時に一度だけ表示されるため、安全に保管してください。

APIキーは sk_live_ プレフィックスで始まります。

リクエスト例

bash
curl -X GET "https://setplan.app/api/v1/me" \
  -H "Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxxxxxx"

認証エラー

APIキーが無効、期限切れ、または未指定の場合、以下のエラーが返されます。

json
{
  "success": false,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "APIキーが無効です"
  }
}
エラーコードHTTP説明
UNAUTHORIZED401APIキーが指定されていない
INVALID_API_KEY401APIキーが無効または無効化されている
EXPIRED_API_KEY401APIキーの有効期限が切れている
FORBIDDEN403権限が不足している

レート制限

APIリクエストは、APIキーごとに 1分間に60リクエストに制限されています。スライディングウィンドウ方式で計算されます。

レスポンスヘッダー

全てのAPIレスポンスに以下のヘッダーが含まれます。

ヘッダー説明
X-RateLimit-Limitウィンドウあたりの最大リクエスト数(60)
X-RateLimit-Remaining残りリクエスト数
X-RateLimit-Reset制限がリセットされるUNIXタイムスタンプ(秒)

制限超過時のレスポンス

レート制限を超過した場合、HTTPステータス429が返されます。Retry-After ヘッダーに再試行までの秒数が含まれます。

json
{
  "success": false,
  "error": {
    "code": "RATE_LIMITED",
    "message": "リクエスト制限を超過しました。しばらく待ってからお試しください。"
  }
}

エラーハンドリング

エラーが発生した場合、レスポンスの success フィールドが false となり、error オブジェクトにエラーの詳細が含まれます。

エラーレスポンス形式

json
{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "入力値が不正です",
    "details": {
      "email": "有効なメールアドレスを入力してください"
    }
  }
}

エラーコード一覧

HTTPステータスエラーコード説明
400VALIDATION_ERRORリクエストパラメータが不正
401UNAUTHORIZED認証が必要、またはAPIキーが無効
403FORBIDDEN権限が不足している
404NOT_FOUNDリソースが見つからない
429RATE_LIMITEDレート制限を超過
500INTERNAL_ERRORサーバー内部エラー

ロールベースのアクセス制御

一部のエンドポイントは特定のロールのユーザーのみ利用可能です。 各エンドポイントの説明に必要なロールが記載されています。

ロール説明
Admin全ての操作が可能な管理者
PMプロジェクトマネージャー。案件・顧客・ユーザーの管理が可能
General一般ユーザー。書類の作成・自分のデータの管理が可能
Office事務ユーザー。閲覧中心で、書類の作成・ステータス変更は不可

ページネーション

一覧取得エンドポイントはページネーションに対応しています。 クエリパラメータでページ番号と取得件数を指定します。

パラメータ

パラメータデフォルト説明
pagenumber1ページ番号
limitnumber201ページあたりの取得件数(最大100)

レスポンス例

json
{
  "success": true,
  "data": [
    "..."
  ],
  "meta": {
    "total": 150,
    "page": 2,
    "limit": 20,
    "totalPages": 8
  }
}

meta.total は条件に一致する全件数、meta.totalPages は総ページ数です。

認証

認証済みユーザーの情報を取得するエンドポイントです。

GET/api/v1/me

認証ユーザーのプロフィール取得

APIキーに紐づくユーザーのプロフィール情報を取得します。所属部署の情報も含まれます。

bash
curl -X GET "https://setplan.app/api/v1/me" \
  -H "Authorization: Bearer sk_live_xxxxx"

会社情報

自社の会社情報および社印画像を管理するエンドポイントです。すべてのエンドポイントにAdmin権限が必要です。

GET/api/v1/company
admin

会社情報の取得

登録済みの自社情報を取得します。銀行口座情報や適格請求書番号なども含まれます。

bash
curl -X GET "https://setplan.app/api/v1/company" \
  -H "Authorization: Bearer sk_live_xxxxx"
PUT/api/v1/company
admin

会社情報の更新

自社情報を更新します。会社情報が未登録の場合は新規作成されます。

パラメータ

パラメータ必須説明
namestring必須会社名
postalCodestring任意郵便番号
addressstring任意住所
buildingstring任意建物名・階数
representativestring任意代表者名
phonestring任意電話番号
faxstring任意FAX番号
remarksstring任意備考
qualifiedInvoiceNumberstring任意適格請求書発行事業者登録番号
bankNamestring任意銀行名
branchNamestring任意支店名
accountTypestring任意口座種別(普通・当座など)
accountNumberstring任意口座番号
accountHolderstring任意口座名義
fiscalYearEndMonthnumber | null任意決算月(1〜12)。nullで未設定にできます。
bash
curl -X PUT "https://setplan.app/api/v1/company" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "株式会社セットジャパン",
    "postalCode": "150-0001",
    "address": "東京都渋谷区神宮前1-2-3",
    "representative": "山田太郎",
    "phone": "03-1234-5678"
  }'
POST/api/v1/company/seal
admin

社印画像のアップロード

会社の社印画像をアップロードします。対応形式はPNG、JPG、JPEGで、最大5MBまでです。既存の社印画像がある場合は上書きされます。リクエストはmultipart/form-data形式で送信してください。

パラメータ

パラメータ必須説明
fileFile必須社印画像ファイル(PNG/JPG/JPEG、最大5MB)
bash
curl -X POST "https://setplan.app/api/v1/company/seal" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -F "file=@/path/to/seal.png"
DELETE/api/v1/company/seal
admin

社印画像の削除

登録済みの社印画像を削除します。

bash
curl -X DELETE "https://setplan.app/api/v1/company/seal" \
  -H "Authorization: Bearer sk_live_xxxxx"

ユーザー

ユーザーの一覧取得、作成、更新、削除、および印影画像の管理を行うエンドポイントです。

GET/api/v1/users

ユーザー一覧の取得

ユーザーの一覧をページネーション付きで取得します。名前・メール・社員番号での検索や、ロール・部署・ステータスでの絞り込みが可能です。

パラメータ

パラメータ必須説明
pagenumber任意ページ番号(デフォルト: 1)
limitnumber任意1ページあたりの件数(デフォルト: 20)
searchstring任意検索キーワード(姓、名、ユーザー名、メール、社員番号で部分一致検索)
rolestring任意ロールで絞り込み(admin / pm / general / office)
departmentIdstring任意部署IDで絞り込み
statusstring任意ステータスで絞り込み(active / inactive)
bash
curl -X GET "https://setplan.app/api/v1/users?page=1&limit=20&search=山田&role=admin" \
  -H "Authorization: Bearer sk_live_xxxxx"
POST/api/v1/users
adminpm

ユーザーの作成

新規ユーザーを作成します。社員番号・ユーザー名・メールアドレスは一意である必要があります。

パラメータ

パラメータ必須説明
employeeNumberstring必須社員番号(一意)
usernamestring必須ユーザー名(一意)
emailstring必須メールアドレス(一意)
passwordstring必須パスワード(6文字以上)
lastNamestring必須
firstNamestring必須
departmentIdstring | null任意所属部署ID
rolestring任意ロール(admin / pm / general / office)。デフォルト: general
bash
curl -X POST "https://setplan.app/api/v1/users" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "employeeNumber": "EMP002",
    "username": "suzuki_hanako",
    "email": "suzuki@example.com",
    "password": "securepassword",
    "lastName": "鈴木",
    "firstName": "花子",
    "departmentId": "clx0987654321",
    "role": "general"
  }'
GET/api/v1/users/{id}
adminpm

ユーザー詳細の取得

指定したIDのユーザー情報を取得します。Admin/PMは全ユーザーを閲覧可能、一般ユーザーは自分自身のみ閲覧可能です。

パラメータ

パラメータ必須説明
idstring必須ユーザーID(パスパラメータ)
bash
curl -X GET "https://setplan.app/api/v1/users/clx1234567890" \
  -H "Authorization: Bearer sk_live_xxxxx"
PUT/api/v1/users/{id}
adminpm

ユーザー情報の更新

指定したIDのユーザー情報を更新します。Admin/PMは全ユーザーを更新可能で、ロールやステータスの変更も行えます。一般ユーザーは自分自身のみ更新可能ですが、ロール・ステータスの変更はできません。

パラメータ

パラメータ必須説明
idstring必須ユーザーID(パスパラメータ)
employeeNumberstring必須社員番号(一意)
usernamestring必須ユーザー名(一意)
emailstring必須メールアドレス(一意)
passwordstring任意パスワード(6文字以上)。省略時は変更なし。
lastNamestring必須
firstNamestring必須
departmentIdstring | null任意所属部署ID。nullで部署なしに設定。
rolestring任意ロール(admin / pm / general / office)。Admin/PMのみ変更可能。
statusstring任意ステータス(active / inactive)。Admin/PMのみ変更可能。
bash
curl -X PUT "https://setplan.app/api/v1/users/clx1234567890" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "employeeNumber": "EMP001",
    "username": "yamada_taro",
    "email": "yamada@example.com",
    "lastName": "山田",
    "firstName": "太郎",
    "departmentId": "clx0987654321",
    "role": "admin",
    "status": "active"
  }'
DELETE/api/v1/users/{id}
admin

ユーザーの無効化

指定したIDのユーザーを無効化(ステータスをinactiveに変更)します。物理削除は行われません。自分自身を無効化することはできません。

パラメータ

パラメータ必須説明
idstring必須ユーザーID(パスパラメータ)
bash
curl -X DELETE "https://setplan.app/api/v1/users/clx1234567890" \
  -H "Authorization: Bearer sk_live_xxxxx"
POST/api/v1/users/{id}/seal
adminpm

ユーザー印影画像のアップロード

指定したユーザーの印影画像をアップロードします。対応形式はPNG、JPEG、WebPで、最大5MBまでです。既存の印影画像がある場合は上書きされます。リクエストはmultipart/form-data形式で送信してください。本人またはAdmin/PMが実行可能です。

パラメータ

パラメータ必須説明
idstring必須ユーザーID(パスパラメータ)
fileFile必須印影画像ファイル(PNG/JPEG/WebP、最大5MB)
bash
curl -X POST "https://setplan.app/api/v1/users/clx1234567890/seal" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -F "file=@/path/to/seal.png"
DELETE/api/v1/users/{id}/seal
adminpm

ユーザー印影画像の削除

指定したユーザーの印影画像を削除します。本人またはAdmin/PMが実行可能です。

パラメータ

パラメータ必須説明
idstring必須ユーザーID(パスパラメータ)
bash
curl -X DELETE "https://setplan.app/api/v1/users/clx1234567890/seal" \
  -H "Authorization: Bearer sk_live_xxxxx"

部署

部署の一覧取得、作成、更新、削除を行うエンドポイントです。部署の取得は全ロールで可能ですが、作成・更新はAdmin/PM、削除はAdminのみが実行可能です。

GET/api/v1/departments

部署一覧の取得

全部署の一覧を名前順で取得します。各部署に所属するユーザー数とプロジェクト数も含まれます。

bash
curl -X GET "https://setplan.app/api/v1/departments" \
  -H "Authorization: Bearer sk_live_xxxxx"
POST/api/v1/departments
adminpm

部署の作成

新規部署を作成します。部署名は一意である必要があります。

パラメータ

パラメータ必須説明
namestring必須部署名(一意)
sharedNotesstring任意共有メモ。空文字列の場合はnullとして保存されます。
bash
curl -X POST "https://setplan.app/api/v1/departments" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "デザイン部",
    "sharedNotes": "UIデザインとUXリサーチを担当"
  }'
GET/api/v1/departments/{id}

部署詳細の取得

指定したIDの部署情報を取得します。所属ユーザーの一覧やユーザー数・プロジェクト数も含まれます。

パラメータ

パラメータ必須説明
idstring必須部署ID(パスパラメータ)
bash
curl -X GET "https://setplan.app/api/v1/departments/clx0987654321" \
  -H "Authorization: Bearer sk_live_xxxxx"
PUT/api/v1/departments/{id}
adminpm

部署情報の更新

指定したIDの部署情報を更新します。部署名を変更する場合、既存の他部署と重複しないようにしてください。

パラメータ

パラメータ必須説明
idstring必須部署ID(パスパラメータ)
namestring任意部署名(一意)
sharedNotesstring任意共有メモ。空文字列の場合はnullとして保存されます。
bash
curl -X PUT "https://setplan.app/api/v1/departments/clx0987654321" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "開発部",
    "sharedNotes": "アジャイル開発を推進中"
  }'
DELETE/api/v1/departments/{id}
admin

部署の削除

指定したIDの部署を削除します。所属ユーザーまたは関連プロジェクトが存在する場合は削除できません。先にユーザーの所属変更やプロジェクトの移動を行ってください。

パラメータ

パラメータ必須説明
idstring必須部署ID(パスパラメータ)
bash
curl -X DELETE "https://setplan.app/api/v1/departments/clx0987654321" \
  -H "Authorization: Bearer sk_live_xxxxx"

顧客

顧客の一覧取得、作成、更新、削除を行うエンドポイントです。一覧取得と詳細取得は全ロールで可能ですが、作成・更新・削除はAdmin/PMのみが実行可能です。

GET/api/v1/customers

顧客一覧の取得

顧客の一覧をページネーション付きで取得します。会社名・担当者名での検索やステータスでの絞り込みが可能です。

パラメータ

パラメータ必須説明
pagenumber任意ページ番号(デフォルト: 1)
limitnumber任意1ページあたりの件数(デフォルト: 20)
searchstring任意検索キーワード(会社名、担当者名で部分一致検索)
statusstring任意ステータスで絞り込み(active / inactive)
bash
curl -X GET "https://setplan.app/api/v1/customers?page=1&limit=20&search=田中" \
  -H "Authorization: Bearer sk_live_xxxxx"
POST/api/v1/customers
adminpm

顧客の作成

新規顧客を作成します。

パラメータ

パラメータ必須説明
namestring必須顧客名(会社名)
postalCodestring任意郵便番号
addressstring任意住所
buildingstring任意建物名・階数
representativestring任意担当者名
phonestring任意電話番号
faxstring任意FAX番号
remarksstring任意備考
statusstring任意ステータス(active / inactive)。省略時はデフォルト値が適用されます。
bash
curl -X POST "https://setplan.app/api/v1/customers" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "株式会社佐藤工業",
    "postalCode": "530-0001",
    "address": "大阪府大阪市北区梅田2-3-4",
    "representative": "佐藤次郎",
    "phone": "06-1234-5678"
  }'
GET/api/v1/customers/{id}

顧客詳細の取得

指定したIDの顧客情報を取得します。

パラメータ

パラメータ必須説明
idstring必須顧客ID(パスパラメータ)
bash
curl -X GET "https://setplan.app/api/v1/customers/clx3456789012" \
  -H "Authorization: Bearer sk_live_xxxxx"
PUT/api/v1/customers/{id}
adminpm

顧客情報の更新

指定したIDの顧客情報を更新します。

パラメータ

パラメータ必須説明
idstring必須顧客ID(パスパラメータ)
namestring任意顧客名(会社名)
postalCodestring任意郵便番号
addressstring任意住所
buildingstring任意建物名・階数
representativestring任意担当者名
phonestring任意電話番号
faxstring任意FAX番号
remarksstring任意備考
statusstring任意ステータス(active / inactive)
bash
curl -X PUT "https://setplan.app/api/v1/customers/clx3456789012" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "株式会社田中商事",
    "representative": "田中二郎",
    "remarks": "主要取引先・契約更新済み"
  }'
DELETE/api/v1/customers/{id}
adminpm

顧客の削除

指定したIDの顧客を削除します。関連する書類(請求書・納品書など)が存在する場合は削除できません。

パラメータ

パラメータ必須説明
idstring必須顧客ID(パスパラメータ)
bash
curl -X DELETE "https://setplan.app/api/v1/customers/clx3456789012" \
  -H "Authorization: Bearer sk_live_xxxxx"

案件(Projects)

案件の作成・取得・更新・削除、および追加人件費の管理を行うエンドポイントです。

GET/api/v1/projects

案件一覧の取得

ページネーション・検索・フィルタリング・ソートに対応した案件一覧を取得します。

パラメータ

パラメータ必須説明
pagenumber任意ページ番号(デフォルト: 1)
limitnumber任意1ページあたりの取得件数(デフォルト: 20)
searchstring任意案件番号・案件名での検索キーワード
statusstring任意ステータスでのフィルタリング(planning, developing, active, suspended, completed)
departmentIdstring任意部門IDでのフィルタリング
activeOnlyboolean任意trueの場合、planning・developing・activeのみ取得
sortBystring任意ソート対象カラム(projectNumber, projectName, status, budget, updatedAt)
sortOrderstring任意ソート順(asc, desc)デフォルト: desc
bash
curl -X GET "https://setplan.app/api/v1/projects?page=1&limit=20&status=active" \
  -H "Authorization: Bearer sk_live_xxxxx"
POST/api/v1/projects
AdminPM

案件の作成

新しい案件を作成します。Admin または PM ロールが必要です。案件番号は一意である必要があります。

パラメータ

パラメータ必須説明
projectNumberstring必須案件番号(1〜50文字)
projectNamestring必須案件名(1〜255文字)
descriptionstring任意案件の説明(最大10000文字)
statusstring任意ステータス(planning, developing, active, suspended, completed)デフォルト: planning
projectTypestring任意案件種別(development, ses, maintenance, other, internal, product)デフォルト: development
departmentIdstring任意部門ID(null可)
estimateIdstring任意紐付ける見積書ID(null可)
purchaseOrderIdstring任意紐付ける発注書ID(null可)
plannedStartDatestring任意予定開始日(ISO 8601形式)
plannedEndDatestring任意予定終了日(ISO 8601形式)
actualStartDatestring任意実績開始日(ISO 8601形式)
actualEndDatestring任意実績終了日(ISO 8601形式)
budgetnumber任意予算(円)
hourlyRatenumber任意時間単価(円)
deliveryDatestring任意納品日(ISO 8601形式)
invoiceableDatestring任意請求可能日(ISO 8601形式)
memostring任意メモ(最大10000文字)
outsourcingCostnumber任意外注費(0以上、デフォルト: 0)
serverDomainCostnumber任意サーバー・ドメイン費用(0以上、デフォルト: 0)
bash
curl -X POST "https://setplan.app/api/v1/projects" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "projectNumber": "PJ-2026-010",
    "projectName": "株式会社XYZ ECサイト構築",
    "status": "planning",
    "projectType": "development",
    "budget": 8000000,
    "hourlyRate": 5000,
    "plannedStartDate": "2026-05-01",
    "plannedEndDate": "2026-09-30"
  }'
GET/api/v1/projects/{id}

案件の詳細取得

指定されたIDの案件詳細を取得します。紐付けられた見積書・発注書の情報も含まれます。

パラメータ

パラメータ必須説明
idstring必須案件ID(パスパラメータ)
bash
curl -X GET "https://setplan.app/api/v1/projects/clxxx1" \
  -H "Authorization: Bearer sk_live_xxxxx"
PUT/api/v1/projects/{id}
AdminPM

案件の更新

指定されたIDの案件を更新します。Admin または PM ロールが必要です。時間単価が変更された場合、人件費が自動で再計算されます。

パラメータ

パラメータ必須説明
idstring必須案件ID(パスパラメータ)
projectNumberstring任意案件番号(1〜50文字)
projectNamestring任意案件名(1〜255文字)
descriptionstring任意案件の説明(最大10000文字)
statusstring任意ステータス(planning, developing, active, suspended, completed)
projectTypestring任意案件種別(development, ses, maintenance, other, internal, product)
departmentIdstring任意部門ID(nullで関連解除)
estimateIdstring任意見積書ID(nullで関連解除)
purchaseOrderIdstring任意発注書ID(nullで関連解除)
plannedStartDatestring任意予定開始日(ISO 8601形式)
plannedEndDatestring任意予定終了日(ISO 8601形式)
actualStartDatestring任意実績開始日(ISO 8601形式)
actualEndDatestring任意実績終了日(ISO 8601形式)
budgetnumber任意予算(円)
hourlyRatenumber任意時間単価(円)
deliveryDatestring任意納品日(ISO 8601形式)
invoiceableDatestring任意請求可能日(ISO 8601形式)
memostring任意メモ(最大10000文字)
outsourcingCostnumber任意外注費(0以上)
serverDomainCostnumber任意サーバー・ドメイン費用(0以上)
bash
curl -X PUT "https://setplan.app/api/v1/projects/clxxx1" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "completed",
    "actualEndDate": "2026-06-28"
  }'
DELETE/api/v1/projects/{id}
AdminPM

案件の削除

指定されたIDの案件を削除します。Admin または PM ロールが必要です。関連するスケジュールや課題がある場合は削除できません。

パラメータ

パラメータ必須説明
idstring必須案件ID(パスパラメータ)
bash
curl -X DELETE "https://setplan.app/api/v1/projects/clxxx1" \
  -H "Authorization: Bearer sk_live_xxxxx"
GET/api/v1/projects/{id}/additional-labor-costs

追加人件費一覧の取得

指定された案件の追加人件費一覧を日付昇順で取得します。

パラメータ

パラメータ必須説明
idstring必須案件ID(パスパラメータ)
bash
curl -X GET "https://setplan.app/api/v1/projects/clxxx1/additional-labor-costs" \
  -H "Authorization: Bearer sk_live_xxxxx"
POST/api/v1/projects/{id}/additional-labor-costs
AdminPM

追加人件費の作成

指定された案件に追加人件費を1件作成します。Admin または PM ロールが必要です。

パラメータ

パラメータ必須説明
idstring必須案件ID(パスパラメータ)
datestring必須対象日(ISO 8601形式)
hoursnumber任意作業時間(null可)
laborCostnumber任意人件費(null可)
bash
curl -X POST "https://setplan.app/api/v1/projects/clxxx1/additional-labor-costs" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "date": "2026-04-10",
    "hours": 6,
    "laborCost": 30000
  }'
PUT/api/v1/projects/{id}/additional-labor-costs
AdminPM

追加人件費の一括更新

指定された案件の追加人件費を一括で作成・更新・削除します。Admin または PM ロールが必要です。トランザクション内で実行されます。

パラメータ

パラメータ必須説明
idstring必須案件ID(パスパラメータ)
itemsarray必須追加人件費の配列(id指定で更新、未指定で新規作成。各項目: id?, date, hours?, laborCost?)
deletedIdsstring[]任意削除する追加人件費IDの配列
bash
curl -X PUT "https://setplan.app/api/v1/projects/clxxx1/additional-labor-costs" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "items": [
      { "id": "alc1", "date": "2026-04-01", "hours": 10, "laborCost": 50000 },
      { "date": "2026-04-15", "hours": 8, "laborCost": 40000 }
    ],
    "deletedIds": ["alc2"]
  }'
DELETE/api/v1/projects/{id}/additional-labor-costs
AdminPM

追加人件費の削除

指定された案件の追加人件費を1件削除します。Admin または PM ロールが必要です。クエリパラメータで対象を指定します。

パラメータ

パラメータ必須説明
idstring必須案件ID(パスパラメータ)
laborCostIdstring必須削除対象の追加人件費ID(クエリパラメータ)
bash
curl -X DELETE "https://setplan.app/api/v1/projects/clxxx1/additional-labor-costs?laborCostId=alc3" \
  -H "Authorization: Bearer sk_live_xxxxx"

見積書(Estimates)

見積書の作成・取得・更新・削除、ステータス変更、複製を行うエンドポイントです。

GET/api/v1/estimates

見積書一覧の取得

ページネーション・検索・フィルタリング・ソートに対応した見積書一覧を取得します。

パラメータ

パラメータ必須説明
pagenumber任意ページ番号(デフォルト: 1)
limitnumber任意1ページあたりの取得件数(デフォルト: 20)
searchstring任意見積番号・件名・顧客名での検索キーワード
customerIdstring任意顧客IDでのフィルタリング
statusstring任意ステータスでのフィルタリング(draft, sent, accepted, rejected, expired)
userIdstring任意担当者IDでのフィルタリング
issueDateStartstring任意発行日の開始日(ISO 8601形式)
issueDateEndstring任意発行日の終了日(ISO 8601形式)
validUntilStartstring任意有効期限の開始日(ISO 8601形式)
validUntilEndstring任意有効期限の終了日(ISO 8601形式)
sortBystring任意ソート対象カラム(estimateNumber, issueDate, validUntil, subtotal, totalAmount, status, customerName, userName, createdAt, updatedAt)
sortOrderstring任意ソート順(asc, desc)デフォルト: desc
bash
curl -X GET "https://setplan.app/api/v1/estimates?page=1&limit=20&status=draft" \
  -H "Authorization: Bearer sk_live_xxxxx"
POST/api/v1/estimates

見積書の作成

新しい見積書を作成します。見積番号は「YYYY-MM-NNN」形式で自動採番されます。金額は明細から自動計算されます。

パラメータ

パラメータ必須説明
customerIdstring必須顧客ID
subjectstring必須件名
honorificstring任意敬称(デフォルト: 御中)
issueDatestring任意発行日(ISO 8601形式、デフォルト: 現在日時)
validUntilstring任意有効期限(ISO 8601形式、デフォルト: 30日後)
taxTypestring任意税区分(inclusive: 内税, exclusive: 外税)デフォルト: exclusive
taxRatenumber任意税率(デフォルト: 10)
roundingTypestring任意端数処理(floor: 切り捨て, ceil: 切り上げ, round: 四捨五入)デフォルト: floor
remarksstring任意備考
itemsarray必須明細行の配列(各項目: name, quantity, unit?, unitPrice, taxType, taxRate?, amount?, remarks?, displayOrder?, itemType?)
projectIdsarray任意関連案件IDの配列(指定した案件のestimateIdが更新されます)
bash
curl -X POST "https://setplan.app/api/v1/estimates" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "customerId": "cust1",
    "subject": "システム開発費用",
    "taxType": "exclusive",
    "taxRate": 10,
    "items": [
      {
        "name": "要件定義",
        "quantity": 1,
        "unit": "式",
        "unitPrice": 1500000,
        "taxType": "taxable"
      },
      {
        "name": "設計・開発",
        "quantity": 1,
        "unit": "式",
        "unitPrice": 3000000,
        "taxType": "taxable"
      }
    ]
  }'
GET/api/v1/estimates/{id}

見積書の詳細取得

指定されたIDの見積書詳細を取得します。顧客情報・担当者情報・明細・紐付き案件が含まれます。

パラメータ

パラメータ必須説明
idstring必須見積書ID(パスパラメータ)
bash
curl -X GET "https://setplan.app/api/v1/estimates/est1" \
  -H "Authorization: Bearer sk_live_xxxxx"
PUT/api/v1/estimates/{id}

見積書の更新

指定されたIDの見積書を更新します。Admin/PM以外は自身の見積書のみ編集可能です。明細は全件入れ替えとなります。

パラメータ

パラメータ必須説明
idstring必須見積書ID(パスパラメータ)
customerIdstring必須顧客ID
subjectstring必須件名
honorificstring任意敬称(デフォルト: 御中)
issueDatestring任意発行日(ISO 8601形式)
validUntilstring任意有効期限(ISO 8601形式)
taxTypestring任意税区分(inclusive, exclusive)デフォルト: exclusive
taxRatenumber任意税率(デフォルト: 10)
roundingTypestring任意端数処理(floor, ceil, round)デフォルト: floor
statusstring任意ステータス(draft, sent, accepted, rejected, expired)デフォルト: draft
remarksstring任意備考
itemsarray必須明細行の配列(各項目: id?, name, quantity, unit?, unitPrice, taxType, remarks?, displayOrder?, itemType?)
projectIdsarray任意関連案件IDの配列(指定時は全置換:既存の紐付けを解除し、指定した案件を紐付けます)
bash
curl -X PUT "https://setplan.app/api/v1/estimates/est1" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "customerId": "cust1",
    "subject": "コーポレートサイト制作(改訂版)",
    "taxType": "exclusive",
    "taxRate": 10,
    "roundingType": "floor",
    "items": [
      {
        "name": "Webデザイン",
        "quantity": 1,
        "unit": "式",
        "unitPrice": 2500000,
        "taxType": "taxable"
      }
    ]
  }'
DELETE/api/v1/estimates/{id}

見積書の削除

指定されたIDの見積書を削除します。Admin/PM以外は自身の見積書のみ削除可能です。添付ファイルも同時に削除されます。

パラメータ

パラメータ必須説明
idstring必須見積書ID(パスパラメータ)
bash
curl -X DELETE "https://setplan.app/api/v1/estimates/est1" \
  -H "Authorization: Bearer sk_live_xxxxx"
PUT/api/v1/estimates/{id}/status
AdminPMMember

見積書ステータスの更新

指定されたIDの見積書のステータスを変更します。Officeロールは実行できません。Admin/PM以外は自身の見積書のみ変更可能です。

パラメータ

パラメータ必須説明
idstring必須見積書ID(パスパラメータ)
statusstring必須新しいステータス(draft, sent, accepted, rejected, expired)
bash
curl -X PUT "https://setplan.app/api/v1/estimates/est1/status" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "sent"
  }'
POST/api/v1/estimates/{id}/duplicate

見積書の複製

指定されたIDの見積書を複製して新しい見積書を作成します。新しい見積番号が自動採番され、ステータスはdraftになります。Admin/PM以外は自身の見積書のみ複製可能です。

パラメータ

パラメータ必須説明
idstring必須複製元の見積書ID(パスパラメータ)
bash
curl -X POST "https://setplan.app/api/v1/estimates/est1/duplicate" \
  -H "Authorization: Bearer sk_live_xxxxx"

請求書(Invoices)

請求書の作成・取得・更新・削除、ステータス変更、複製、見積書からの変換を行うエンドポイントです。

GET/api/v1/invoices

請求書一覧の取得

ページネーション・検索・フィルタリング・ソートに対応した請求書一覧を取得します。

パラメータ

パラメータ必須説明
pagenumber任意ページ番号(デフォルト: 1)
limitnumber任意1ページあたりの取得件数(デフォルト: 20)
searchstring任意請求書番号・件名・顧客名での検索キーワード
customerIdstring任意顧客IDでのフィルタリング
statusstring任意ステータスでのフィルタリング(draft, sent, paid, cancelled)
userIdstring任意担当者IDでのフィルタリング
issueDateStartstring任意発行日の開始日(ISO 8601形式)
issueDateEndstring任意発行日の終了日(ISO 8601形式)
dueDateStartstring任意支払期限の開始日(ISO 8601形式)
dueDateEndstring任意支払期限の終了日(ISO 8601形式)
sortBystring任意ソート対象カラム(invoiceNumber, issueDate, dueDate, subtotal, totalAmount, status, customerName, userName, createdAt, updatedAt)
sortOrderstring任意ソート順(asc, desc)デフォルト: desc
bash
curl -X GET "https://setplan.app/api/v1/invoices?page=1&limit=20&status=draft" \
  -H "Authorization: Bearer sk_live_xxxxx"
POST/api/v1/invoices

請求書の作成

新しい請求書を作成します。請求書番号は「YYYY-MM-NNN」形式で自動採番されます。金額は明細から自動計算されます(8%・10%の軽減税率に対応)。

パラメータ

パラメータ必須説明
customerIdstring必須顧客ID
subjectstring必須件名
issueDatestring必須発行日(ISO 8601形式)
dueDatestring必須支払期限(ISO 8601形式)
honorificstring任意敬称(デフォルト: 御中)
taxTypestring任意税区分(inclusive: 内税, exclusive: 外税)デフォルト: exclusive
taxRatenumber任意税率(デフォルト: 10)
roundingTypestring任意端数処理(floor: 切り捨て, ceil: 切り上げ, round: 四捨五入)デフォルト: floor
remarksstring任意備考(デフォルト: お振り込み手数料はお客様ご負担にてお願いいたします。)
itemsarray必須明細行の配列(各項目: name, quantity, unit?, unitPrice, taxType, taxRate?, amount?, remarks?, displayOrder?)
bash
curl -X POST "https://setplan.app/api/v1/invoices" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "customerId": "cust1",
    "subject": "4月分 開発費用",
    "issueDate": "2026-04-30",
    "dueDate": "2026-05-31",
    "taxType": "exclusive",
    "taxRate": 10,
    "items": [
      {
        "name": "システム開発費",
        "quantity": 1,
        "unit": "式",
        "unitPrice": 3000000,
        "taxType": "taxable"
      }
    ]
  }'
GET/api/v1/invoices/{id}

請求書の詳細取得

指定されたIDの請求書詳細を取得します。顧客情報・担当者情報・明細・紐付き見積書が含まれます。

パラメータ

パラメータ必須説明
idstring必須請求書ID(パスパラメータ)
bash
curl -X GET "https://setplan.app/api/v1/invoices/inv1" \
  -H "Authorization: Bearer sk_live_xxxxx"
PUT/api/v1/invoices/{id}

請求書の更新

指定されたIDの請求書を更新します。Admin/PM以外は自身のdraft状態の請求書のみ編集可能です。明細は差分更新(upsert)で処理されます。

パラメータ

パラメータ必須説明
idstring必須請求書ID(パスパラメータ)
customerIdstring必須顧客ID
subjectstring必須件名
issueDatestring必須発行日(ISO 8601形式)
dueDatestring必須支払期限(ISO 8601形式)
honorificstring任意敬称
taxTypestring必須税区分(inclusive, exclusive)
taxRatenumber必須税率
roundingTypestring必須端数処理(floor, ceil, round)
statusstring任意ステータス(draft, sent, paid, cancelled)
remarksstring任意備考
itemsarray必須明細行の配列(各項目: id?, name, quantity, unit?, unitPrice, taxType, taxRate, amount, remarks?, displayOrder)
bash
curl -X PUT "https://setplan.app/api/v1/invoices/inv1" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "customerId": "cust1",
    "subject": "コーポレートサイト制作(修正版)",
    "issueDate": "2026-04-01",
    "dueDate": "2026-04-30",
    "taxType": "exclusive",
    "taxRate": 10,
    "roundingType": "floor",
    "items": [
      {
        "name": "Webデザイン・開発",
        "quantity": "1",
        "unit": "式",
        "unitPrice": "5500000",
        "taxType": "taxable",
        "taxRate": 10,
        "amount": "5500000",
        "displayOrder": 0
      }
    ]
  }'
DELETE/api/v1/invoices/{id}

請求書の削除

指定されたIDの請求書を削除します。Admin/PM以外は自身の請求書のみ削除可能です。

パラメータ

パラメータ必須説明
idstring必須請求書ID(パスパラメータ)
bash
curl -X DELETE "https://setplan.app/api/v1/invoices/inv1" \
  -H "Authorization: Bearer sk_live_xxxxx"
PUT/api/v1/invoices/{id}/status
AdminPMMember

請求書ステータスの更新

指定されたIDの請求書のステータスを変更します。Officeロールは実行できません。Admin/PM以外は自身の請求書のみ変更可能です。paidステータスに変更する場合、入金額と入金日を指定できます。

パラメータ

パラメータ必須説明
idstring必須請求書ID(パスパラメータ)
statusstring必須新しいステータス(draft, sent, paid, cancelled)
paidAmountstring任意入金額(paidステータス時。未指定の場合は請求金額が設定されます)
paidDatestring任意入金日(ISO 8601形式。paidステータス時。未指定の場合は現在日時)
bash
curl -X PUT "https://setplan.app/api/v1/invoices/inv1/status" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "paid",
    "paidAmount": "5500000",
    "paidDate": "2026-04-25"
  }'
POST/api/v1/invoices/{id}/duplicate

請求書の複製

指定されたIDの請求書を複製して新しい請求書を作成します。新しい請求書番号が自動採番され、ステータスはdraftになります。件名には「(複製)」が付与されます。Admin/PM以外は自身の請求書のみ複製可能です。

パラメータ

パラメータ必須説明
idstring必須複製元の請求書ID(パスパラメータ)
bash
curl -X POST "https://setplan.app/api/v1/invoices/inv1/duplicate" \
  -H "Authorization: Bearer sk_live_xxxxx"
POST/api/v1/invoices/from-estimate
AdminPMMember

見積書から請求書を作成

指定された見積書の内容を元に請求書を作成します。Officeロールは実行できません。見積書1件につき請求書は1件のみ作成可能です。支払期限は翌月末に自動設定されます。breakdown項目は除外されます。

パラメータ

パラメータ必須説明
estimateIdstring必須変換元の見積書ID
bash
curl -X POST "https://setplan.app/api/v1/invoices/from-estimate" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "estimateId": "est1"
  }'

発注書(Purchase Orders)

発注書の作成・取得・更新・削除、ステータス変更、複製、見積書からの変換を行うエンドポイントです。

GET/api/v1/purchase-orders

発注書一覧の取得

ページネーション・検索・フィルタリング・ソートに対応した発注書一覧を取得します。

パラメータ

パラメータ必須説明
pagenumber任意ページ番号(デフォルト: 1)
limitnumber任意1ページあたりの取得件数(デフォルト: 20)
searchstring任意発注書番号・件名・発注先名での検索キーワード
supplierIdstring任意発注先IDでのフィルタリング
statusstring任意ステータスでのフィルタリング(draft, sent, approved, rejected, closed)
userIdstring任意担当者IDでのフィルタリング
issueDateStartstring任意発行日の開始日(ISO 8601形式)
issueDateEndstring任意発行日の終了日(ISO 8601形式)
deliveryDateStartstring任意納品日の開始日(ISO 8601形式)
deliveryDateEndstring任意納品日の終了日(ISO 8601形式)
sortBystring任意ソート対象カラム(orderNumber, issueDate, deliveryDate, subtotal, totalAmount, status, supplierName, userName, createdAt, updatedAt)
sortOrderstring任意ソート順(asc, desc)デフォルト: desc
bash
curl -X GET "https://setplan.app/api/v1/purchase-orders?page=1&limit=20&status=draft" \
  -H "Authorization: Bearer sk_live_xxxxx"
POST/api/v1/purchase-orders

発注書の作成

新しい発注書を作成します。発注書番号は「YYYY-MM-NNN」形式で自動採番されます。金額は明細から自動計算されます(8%・10%の軽減税率に対応)。

パラメータ

パラメータ必須説明
supplierIdstring必須発注先ID
subjectstring必須件名
issueDatestring必須発行日(ISO 8601形式)
honorificstring任意敬称(デフォルト: 御中)
deliveryDatestring任意納品日(ISO 8601形式)
completionPeriodstring任意完了期間
deliveryLocationstring任意納品場所
paymentTermsstring任意支払条件
taxTypestring必須税区分(inclusive: 内税, exclusive: 外税)
taxRatenumber必須税率
roundingTypestring必須端数処理(floor: 切り捨て, ceil: 切り上げ, round: 四捨五入)
remarksstring任意備考
itemsarray必須明細行の配列(各項目: name, quantity, unit?, unitPrice, taxType, taxRate?, amount?, remarks?, displayOrder?)
bash
curl -X POST "https://setplan.app/api/v1/purchase-orders" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "supplierId": "sup1",
    "subject": "インフラ構築業務委託",
    "issueDate": "2026-04-07",
    "deliveryDate": "2026-06-30",
    "paymentTerms": "月末締め翌月末支払い",
    "taxType": "exclusive",
    "taxRate": 10,
    "roundingType": "floor",
    "items": [
      {
        "name": "サーバー構築",
        "quantity": 1,
        "unit": "式",
        "unitPrice": 800000,
        "taxType": "taxable"
      }
    ]
  }'
GET/api/v1/purchase-orders/{id}

発注書の詳細取得

指定されたIDの発注書詳細を取得します。発注先情報・担当者情報・明細が含まれます。

パラメータ

パラメータ必須説明
idstring必須発注書ID(パスパラメータ)
bash
curl -X GET "https://setplan.app/api/v1/purchase-orders/po1" \
  -H "Authorization: Bearer sk_live_xxxxx"
PUT/api/v1/purchase-orders/{id}

発注書の更新

指定されたIDの発注書を更新します。Admin/PM以外は自身のdraft状態の発注書のみ編集可能です。明細は全件削除後に再作成されます。

パラメータ

パラメータ必須説明
idstring必須発注書ID(パスパラメータ)
supplierIdstring必須発注先ID
subjectstring必須件名
issueDatestring必須発行日(ISO 8601形式)
honorificstring任意敬称
deliveryDatestring任意納品日(ISO 8601形式)
completionPeriodstring任意完了期間
deliveryLocationstring任意納品場所
paymentTermsstring任意支払条件
taxTypestring必須税区分(inclusive, exclusive)
taxRatenumber必須税率
roundingTypestring必須端数処理(floor, ceil, round)
remarksstring任意備考
itemsarray必須明細行の配列(各項目: name, quantity, unit?, unitPrice, taxType, taxRate?, amount?, remarks?, displayOrder?)
bash
curl -X PUT "https://setplan.app/api/v1/purchase-orders/po1" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "supplierId": "sup1",
    "subject": "デザイン制作業務委託(改訂版)",
    "issueDate": "2026-04-07",
    "deliveryDate": "2026-06-30",
    "taxType": "exclusive",
    "taxRate": 10,
    "roundingType": "floor",
    "items": [
      {
        "name": "UIデザイン制作",
        "quantity": 1,
        "unit": "式",
        "unitPrice": 1800000,
        "taxType": "taxable"
      }
    ]
  }'
DELETE/api/v1/purchase-orders/{id}

発注書の削除

指定されたIDの発注書を削除します。Admin/PM以外は自身の発注書のみ削除可能です。

パラメータ

パラメータ必須説明
idstring必須発注書ID(パスパラメータ)
bash
curl -X DELETE "https://setplan.app/api/v1/purchase-orders/po1" \
  -H "Authorization: Bearer sk_live_xxxxx"
PUT/api/v1/purchase-orders/{id}/status
AdminPMMember

発注書ステータスの更新

指定されたIDの発注書のステータスを変更します。Officeロールは実行できません。Admin/PM以外は自身の発注書のみ変更可能です。

パラメータ

パラメータ必須説明
idstring必須発注書ID(パスパラメータ)
statusstring必須新しいステータス(draft, sent, approved, rejected, closed)
bash
curl -X PUT "https://setplan.app/api/v1/purchase-orders/po1/status" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "sent"
  }'
POST/api/v1/purchase-orders/{id}/duplicate

発注書の複製

指定されたIDの発注書を複製して新しい発注書を作成します。新しい発注書番号が自動採番され、ステータスはdraftになります。件名には「(複製)」が付与されます。Admin/PM以外は自身の発注書のみ複製可能です。

パラメータ

パラメータ必須説明
idstring必須複製元の発注書ID(パスパラメータ)
bash
curl -X POST "https://setplan.app/api/v1/purchase-orders/po1/duplicate" \
  -H "Authorization: Bearer sk_live_xxxxx"
POST/api/v1/purchase-orders/from-estimate
AdminPMMember

見積書から発注書を作成

指定された見積書の内容を元に発注書を作成します。Officeロールは実行できません。見積書の顧客が発注先として設定されます。納品日は30日後に自動設定されます。breakdown項目は除外されます。

パラメータ

パラメータ必須説明
estimateIdstring必須変換元の見積書ID
bash
curl -X POST "https://setplan.app/api/v1/purchase-orders/from-estimate" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "estimateId": "est1"
  }'

納品書

納品書の作成・取得・更新・削除、ステータス変更、複製、見積書からの変換を行うエンドポイントです。

GET/api/v1/delivery-notes

納品書一覧の取得

納品書の一覧をページネーション付きで取得します。ステータス、顧客、担当者、納品日範囲、キーワードによるフィルタリングが可能です。

パラメータ

パラメータ必須説明
pagenumber任意ページ番号(デフォルト: 1)
limitnumber任意1ページあたりの件数(デフォルト: 20)
statusstring任意ステータスでフィルタ(draft, sent)
customerIdstring任意顧客IDでフィルタ
userIdstring任意担当者IDでフィルタ
searchstring任意キーワード検索(納品書番号・件名・顧客名で部分一致検索)
deliveryDateStartstring任意納品日の開始日(YYYY-MM-DD形式)
deliveryDateEndstring任意納品日の終了日(YYYY-MM-DD形式)
sortBystring任意ソート対象カラム(deliveryNoteNumber, deliveryDate, subtotal, totalAmount, status, createdAt, updatedAt, customerName, userName)
sortOrderstring任意ソート順(asc, desc。デフォルト: desc)
bash
curl -X GET "https://setplan.app/api/v1/delivery-notes?page=1&limit=20&status=draft" \
  -H "Authorization: Bearer sk_live_xxxxx"
POST/api/v1/delivery-notes

納品書の作成

新しい納品書を作成します。納品書番号はYYYY-MM-NNN形式で自動採番されます。ステータスはdraftで作成されます。

パラメータ

パラメータ必須説明
customerIdstring必須顧客ID
subjectstring必須件名
deliveryDatestring必須納品日(YYYY-MM-DD形式)
taxTypestring必須税区分(inclusive: 税込, exclusive: 税抜)
taxRatenumber必須税率
roundingTypestring必須端数処理(floor: 切捨, ceil: 切上, round: 四捨五入)
honorificstring任意敬称(デフォルト: 御中)
remarksstring任意備考
itemsarray必須明細行の配列(name, quantity, unitPrice, taxType, taxRate, unit, amount, remarks, displayOrder)
bash
curl -X POST "https://setplan.app/api/v1/delivery-notes" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "customerId": "clx0987654321",
    "subject": "Webサイトリニューアル",
    "deliveryDate": "2026-04-15",
    "taxType": "exclusive",
    "taxRate": 10,
    "roundingType": "floor",
    "items": [
      {
        "name": "デザイン制作",
        "quantity": 1,
        "unitPrice": 300000,
        "taxType": "taxable",
        "taxRate": 10,
        "unit": "式",
        "displayOrder": 0
      }
    ]
  }'
GET/api/v1/delivery-notes/{id}

納品書の詳細取得

指定されたIDの納品書の詳細情報を取得します。顧客、担当者、見積書、明細行の情報が含まれます。

パラメータ

パラメータ必須説明
idstring必須納品書ID(パスパラメータ)
bash
curl -X GET "https://setplan.app/api/v1/delivery-notes/clx1234567890" \
  -H "Authorization: Bearer sk_live_xxxxx"
PUT/api/v1/delivery-notes/{id}
adminpmmember(自身のdraftのみ)

納品書の更新

指定されたIDの納品書を更新します。Admin/PM以外は自分の下書き納品書のみ編集可能です。

パラメータ

パラメータ必須説明
idstring必須納品書ID(パスパラメータ)
customerIdstring必須顧客ID
subjectstring必須件名
deliveryDatestring必須納品日(YYYY-MM-DD形式)
taxTypestring必須税区分(inclusive, exclusive)
taxRatenumber必須税率
roundingTypestring必須端数処理(floor, ceil, round)
statusstring任意ステータス(draft, sent)
itemsarray必須明細行の配列
bash
curl -X PUT "https://setplan.app/api/v1/delivery-notes/clx1234567890" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "customerId": "clx0987654321",
    "subject": "Webサイトリニューアル(更新)",
    "deliveryDate": "2026-04-20",
    "taxType": "exclusive",
    "taxRate": 10,
    "roundingType": "floor",
    "items": [
      {
        "id": "clx2222222222",
        "name": "デザイン制作",
        "quantity": "1",
        "unitPrice": "350000",
        "taxType": "taxable",
        "taxRate": 10,
        "amount": "350000",
        "unit": "式",
        "displayOrder": 0
      }
    ]
  }'
DELETE/api/v1/delivery-notes/{id}
adminpmmember(自身のみ)

納品書の削除

指定されたIDの納品書を削除します。Admin/PM以外は自分の納品書のみ削除可能です。

パラメータ

パラメータ必須説明
idstring必須納品書ID(パスパラメータ)
bash
curl -X DELETE "https://setplan.app/api/v1/delivery-notes/clx1234567890" \
  -H "Authorization: Bearer sk_live_xxxxx"
PUT/api/v1/delivery-notes/{id}/status
adminpmmember(自身のみ)

納品書のステータス変更

指定されたIDの納品書のステータスを変更します。Officeロールはステータス変更不可です。Admin/PM以外は自分の納品書のみ変更可能です。

パラメータ

パラメータ必須説明
idstring必須納品書ID(パスパラメータ)
statusstring必須変更先ステータス(draft, sent)
bash
curl -X PUT "https://setplan.app/api/v1/delivery-notes/clx1234567890/status" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{"status": "sent"}'
POST/api/v1/delivery-notes/{id}/duplicate
adminpmmember(自身のみ)

納品書の複製

指定されたIDの納品書を複製します。件名には「(複製)」が付与され、ステータスはdraftで作成されます。Admin/PM以外は自分の納品書のみ複製可能です。

パラメータ

パラメータ必須説明
idstring必須複製元の納品書ID(パスパラメータ)
bash
curl -X POST "https://setplan.app/api/v1/delivery-notes/clx1234567890/duplicate" \
  -H "Authorization: Bearer sk_live_xxxxx"
POST/api/v1/delivery-notes/from-estimate
adminpmmember(自身の見積書のみ)

見積書から納品書を作成

指定された見積書のデータを元に納品書を作成します。明細の内訳行(breakdown)は除外されます。Officeロールは使用不可です。Admin/PM以外は自分の見積書からのみ作成可能です。

パラメータ

パラメータ必須説明
estimateIdstring必須元となる見積書のID
bash
curl -X POST "https://setplan.app/api/v1/delivery-notes/from-estimate" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{"estimateId": "clx5555555555"}'

注文請書

注文請書の作成・取得・更新・削除、ステータス変更、複製、見積書からの変換を行うエンドポイントです。

GET/api/v1/order-confirmations

注文請書一覧の取得

注文請書の一覧をページネーション付きで取得します。ステータス、仕入先、担当者、発行日・納品日範囲、キーワードによるフィルタリングが可能です。

パラメータ

パラメータ必須説明
pagenumber任意ページ番号(デフォルト: 1)
limitnumber任意1ページあたりの件数(デフォルト: 20)
statusstring任意ステータスでフィルタ(draft, sent, approved, rejected, closed)
supplierIdstring任意仕入先IDでフィルタ
userIdstring任意担当者IDでフィルタ
searchstring任意キーワード検索(注文請書番号・件名・仕入先名で部分一致検索)
issueDateStartstring任意発行日の開始日(YYYY-MM-DD形式)
issueDateEndstring任意発行日の終了日(YYYY-MM-DD形式)
deliveryDateStartstring任意納品日の開始日(YYYY-MM-DD形式)
deliveryDateEndstring任意納品日の終了日(YYYY-MM-DD形式)
sortBystring任意ソート対象カラム(confirmationNumber, issueDate, deliveryDate, subtotal, totalAmount, status, createdAt, updatedAt, supplierName, userName)
sortOrderstring任意ソート順(asc, desc。デフォルト: desc)
bash
curl -X GET "https://setplan.app/api/v1/order-confirmations?page=1&limit=20&status=draft" \
  -H "Authorization: Bearer sk_live_xxxxx"
POST/api/v1/order-confirmations

注文請書の作成

新しい注文請書を作成します。注文請書番号はYYYY-MM-NNN形式で自動採番されます。ステータスはdraftで作成されます。

パラメータ

パラメータ必須説明
supplierIdstring必須仕入先ID
subjectstring必須件名
issueDatestring必須発行日(YYYY-MM-DD形式)
taxTypestring必須税区分(inclusive: 税込, exclusive: 税抜)
taxRatenumber必須税率
roundingTypestring必須端数処理(floor: 切捨, ceil: 切上, round: 四捨五入)
deliveryDatestring任意納品日(YYYY-MM-DD形式)
completionPeriodstring任意完了予定期間
paymentTermsstring任意支払条件
purchaseOrderIdstring任意関連する発注書ID
honorificstring任意敬称(デフォルト: 御中)
remarksstring任意備考
itemsarray必須明細行の配列(name, quantity, unitPrice, taxType, taxRate, unit, amount, remarks, displayOrder)
bash
curl -X POST "https://setplan.app/api/v1/order-confirmations" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "supplierId": "clx0987654321",
    "subject": "システム開発業務委託",
    "issueDate": "2026-04-01",
    "deliveryDate": "2026-06-30",
    "taxType": "exclusive",
    "taxRate": 10,
    "roundingType": "floor",
    "completionPeriod": "2026年6月末",
    "paymentTerms": "月末締め翌月末払い",
    "items": [
      {
        "name": "バックエンド開発",
        "quantity": 1,
        "unitPrice": 2000000,
        "taxType": "taxable",
        "taxRate": 10,
        "unit": "式",
        "displayOrder": 0
      }
    ]
  }'
GET/api/v1/order-confirmations/{id}

注文請書の詳細取得

指定されたIDの注文請書の詳細情報を取得します。仕入先、担当者、発注書、明細行の情報が含まれます。

パラメータ

パラメータ必須説明
idstring必須注文請書ID(パスパラメータ)
bash
curl -X GET "https://setplan.app/api/v1/order-confirmations/clx1234567890" \
  -H "Authorization: Bearer sk_live_xxxxx"
PUT/api/v1/order-confirmations/{id}
adminpmmember(自身のdraftのみ)

注文請書の更新

指定されたIDの注文請書を更新します。Admin/PM以外は自分の下書き注文請書のみ編集可能です。既存の明細行は全て置き換えられます。

パラメータ

パラメータ必須説明
idstring必須注文請書ID(パスパラメータ)
supplierIdstring必須仕入先ID
subjectstring必須件名
issueDatestring必須発行日(YYYY-MM-DD形式)
taxTypestring必須税区分(inclusive, exclusive)
taxRatenumber必須税率
roundingTypestring必須端数処理(floor, ceil, round)
itemsarray必須明細行の配列
bash
curl -X PUT "https://setplan.app/api/v1/order-confirmations/clx1234567890" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "supplierId": "clx0987654321",
    "subject": "システム開発業務委託(更新)",
    "issueDate": "2026-04-01",
    "taxType": "exclusive",
    "taxRate": 10,
    "roundingType": "floor",
    "items": [
      {
        "name": "バックエンド開発",
        "quantity": 1,
        "unitPrice": 2500000,
        "taxType": "taxable",
        "taxRate": 10,
        "unit": "式",
        "displayOrder": 0
      }
    ]
  }'
DELETE/api/v1/order-confirmations/{id}
adminpmmember(自身のみ)

注文請書の削除

指定されたIDの注文請書を削除します。Admin/PM以外は自分の注文請書のみ削除可能です。

パラメータ

パラメータ必須説明
idstring必須注文請書ID(パスパラメータ)
bash
curl -X DELETE "https://setplan.app/api/v1/order-confirmations/clx1234567890" \
  -H "Authorization: Bearer sk_live_xxxxx"
PUT/api/v1/order-confirmations/{id}/status
adminpmmember(自身のみ)

注文請書のステータス変更

指定されたIDの注文請書のステータスを変更します。Officeロールはステータス変更不可です。Admin/PM以外は自分の注文請書のみ変更可能です。

パラメータ

パラメータ必須説明
idstring必須注文請書ID(パスパラメータ)
statusstring必須変更先ステータス(draft, sent, approved, rejected, closed)
bash
curl -X PUT "https://setplan.app/api/v1/order-confirmations/clx1234567890/status" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{"status": "sent"}'
POST/api/v1/order-confirmations/{id}/duplicate
adminpmmember(自身のみ)

注文請書の複製

指定されたIDの注文請書を複製します。件名には「(複製)」が付与され、ステータスはdraftで作成されます。Admin/PM以外は自分の注文請書のみ複製可能です。

パラメータ

パラメータ必須説明
idstring必須複製元の注文請書ID(パスパラメータ)
bash
curl -X POST "https://setplan.app/api/v1/order-confirmations/clx1234567890/duplicate" \
  -H "Authorization: Bearer sk_live_xxxxx"
POST/api/v1/order-confirmations/from-estimate
adminpmmember(自身の見積書のみ)

見積書から注文請書を作成

指定された見積書のデータを元に注文請書を作成します。明細の内訳行(breakdown)は除外されます。Officeロールは使用不可です。Admin/PM以外は自分の見積書からのみ作成可能です。

パラメータ

パラメータ必須説明
estimateIdstring必須元となる見積書のID
bash
curl -X POST "https://setplan.app/api/v1/order-confirmations/from-estimate" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{"estimateId": "clx5555555555"}'

課題管理

課題(イシュー)の作成・取得・更新・削除、およびコメントの取得・作成を行うエンドポイントです。

GET/api/v1/issues

課題一覧の取得

課題の一覧をページネーション付きで取得します。ステータス、優先度、案件、担当者、キーワードによるフィルタリングが可能です。アーカイブ済みの課題はデフォルトで除外されます。

パラメータ

パラメータ必須説明
pagenumber任意ページ番号(デフォルト: 1)
limitnumber任意1ページあたりの件数(デフォルト: 20)
statusstring任意ステータスでフィルタ(open, in_progress, resolved, closed, archived, all)
prioritystring任意優先度でフィルタ(low, medium, high, critical, all)
projectIdstring任意案件IDでフィルタ(allで全案件)
assigneeIdstring任意担当者IDでフィルタ
searchstring任意キーワード検索(タイトル・説明で部分一致検索)
bash
curl -X GET "https://setplan.app/api/v1/issues?page=1&limit=20&status=open&priority=high" \
  -H "Authorization: Bearer sk_live_xxxxx"
POST/api/v1/issues
adminpmmember

課題の作成

新しい課題を作成します。報告者は認証ユーザーが自動設定されます。Officeロールは作成不可です。

パラメータ

パラメータ必須説明
titlestring必須課題タイトル(最大255文字)
projectIdstring必須関連する案件ID
descriptionstring任意課題の説明(最大10000文字)
prioritystring任意優先度(low, medium, high, critical。デフォルト: medium)
statusstring任意ステータス(open, in_progress, resolved, closed, archived。デフォルト: open)
categorystring任意カテゴリ(最大100文字)
assigneeIdstring任意担当者ID
dueDatestring任意期限日(YYYY-MM-DD形式)
startDatestring任意開始日(YYYY-MM-DD形式)
endDatestring任意終了日(YYYY-MM-DD形式)
progressnumber任意進捗率(0-100。デフォルト: 0)
parentIssueIdstring任意親課題ID
dependenciesstring任意依存関係(最大1000文字)
bash
curl -X POST "https://setplan.app/api/v1/issues" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "ログイン画面のレイアウト崩れ",
    "projectId": "clx5555555555",
    "description": "スマートフォンでログイン画面を表示した際にボタンが画面外に出る",
    "priority": "high",
    "assigneeId": "clx2222222222",
    "dueDate": "2026-04-15",
    "startDate": "2026-04-01",
    "endDate": "2026-04-15",
    "category": "バグ"
  }'
GET/api/v1/issues/{id}

課題の詳細取得

指定されたIDの課題の詳細情報を取得します。案件、報告者、担当者、親課題、子課題、コメントの情報が含まれます。

パラメータ

パラメータ必須説明
idstring必須課題ID(パスパラメータ)
bash
curl -X GET "https://setplan.app/api/v1/issues/clx1234567890" \
  -H "Authorization: Bearer sk_live_xxxxx"
PUT/api/v1/issues/{id}
adminpmmember

課題の更新

指定されたIDの課題を更新します。部分更新が可能で、指定したフィールドのみ更新されます。Officeロールは更新不可です。ステータスをresolvedに変更すると解決日時が自動設定されます。

パラメータ

パラメータ必須説明
idstring必須課題ID(パスパラメータ)
titlestring任意課題タイトル
descriptionstring任意課題の説明
projectIdstring任意案件ID
prioritystring任意優先度(low, medium, high, critical)
statusstring任意ステータス(open, in_progress, resolved, closed, archived)
categorystring任意カテゴリ
assigneeIdstring任意担当者ID(空文字で担当者解除)
progressnumber任意進捗率(0-100)
bash
curl -X PUT "https://setplan.app/api/v1/issues/clx1234567890" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "in_progress",
    "progress": 50,
    "assigneeId": "clx2222222222"
  }'
DELETE/api/v1/issues/{id}
admin報告者本人

課題の削除

指定されたIDの課題を削除します。Adminまたは報告者本人のみ削除可能です。

パラメータ

パラメータ必須説明
idstring必須課題ID(パスパラメータ)
bash
curl -X DELETE "https://setplan.app/api/v1/issues/clx1234567890" \
  -H "Authorization: Bearer sk_live_xxxxx"
GET/api/v1/issues/{id}/comments

課題コメント一覧の取得

指定された課題のコメント一覧をページネーション付きで取得します。作成日時の昇順でソートされます。

パラメータ

パラメータ必須説明
idstring必須課題ID(パスパラメータ)
pagenumber任意ページ番号(デフォルト: 1)
limitnumber任意1ページあたりの件数(デフォルト: 50)
bash
curl -X GET "https://setplan.app/api/v1/issues/clx1234567890/comments?page=1&limit=50" \
  -H "Authorization: Bearer sk_live_xxxxx"
POST/api/v1/issues/{id}/comments
adminpmmember

課題コメントの作成

指定された課題にコメントを追加します。投稿者は認証ユーザーが自動設定されます。Officeロールはコメント作成不可です。

パラメータ

パラメータ必須説明
idstring必須課題ID(パスパラメータ)
contentstring必須コメント内容(最大5000文字)
bash
curl -X POST "https://setplan.app/api/v1/issues/clx1234567890/comments" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{"content": "修正が完了しました。レビューをお願いします。"}'

予定実績

日次の予定・実績の作成・取得・更新・削除、カレンダー表示、分析データの取得を行うエンドポイントです。

GET/api/v1/schedules

予定実績一覧の取得

予定実績の一覧をページネーション付きで取得します。日付範囲、ユーザー、部署、案件、キーワードによるフィルタリングが可能です。

パラメータ

パラメータ必須説明
pagenumber任意ページ番号(デフォルト: 1)
limitnumber任意1ページあたりの件数(デフォルト: 20)
startDatestring任意開始日(YYYY-MM-DD形式)
endDatestring任意終了日(YYYY-MM-DD形式)
userIdstring[]任意ユーザーIDでフィルタ(複数指定可)
departmentIdstring[]任意部署IDでフィルタ(複数指定可)
projectIdstring[]任意案件IDでフィルタ(複数指定可、予定または実績に含まれる案件)
searchstring任意キーワード検索(予定・実績の内容で部分一致検索)
sortBystring任意ソート対象(scheduleDate, userName。デフォルト: scheduleDate)
sortOrderstring任意ソート順(asc, desc。デフォルト: desc)
bash
curl -X GET "https://setplan.app/api/v1/schedules?page=1&limit=20&startDate=2026-04-01&endDate=2026-04-30&userId=clx1111111111" \
  -H "Authorization: Bearer sk_live_xxxxx"
POST/api/v1/schedules

予定実績の作成

新しい日次の予定実績を作成します。同一ユーザー・同一日付の重複登録はできません。Admin/PMは他ユーザーの予定実績も作成可能です。実績に案件が紐づいている場合、案件の投下工数が自動再計算されます。

パラメータ

パラメータ必須説明
scheduleDatestring必須対象日付(YYYY-MM-DD形式)
workLocationstring必須勤務場所(office: 出社, remote: リモート, client_site: 客先, business_trip: 出張, paid_leave: 有給休暇)
checkInTimestring任意出勤時刻(HH:mm形式)
checkOutTimestring任意退勤時刻(HH:mm形式)
breakTimenumber任意休憩時間(時間単位、0-24。デフォルト: 0)
reflectionstring任意振り返り・メモ(最大2000文字)
userIdstring任意対象ユーザーID(Admin/PMのみ他ユーザーを指定可)
plansarray任意予定の配列(projectId, content, details)
actualsarray任意実績の配列(projectId, content, hours, details)
bash
curl -X POST "https://setplan.app/api/v1/schedules" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "scheduleDate": "2026-04-07",
    "workLocation": "office",
    "checkInTime": "09:00",
    "checkOutTime": "18:00",
    "breakTime": 1,
    "plans": [
      {
        "projectId": "clx5555555555",
        "content": "設計書の作成"
      }
    ],
    "actuals": [
      {
        "projectId": "clx5555555555",
        "content": "設計書の作成",
        "hours": 4
      },
      {
        "projectId": "clx5555555556",
        "content": "コードレビュー",
        "hours": 3
      }
    ]
  }'
GET/api/v1/schedules/{id}

予定実績の詳細取得

指定されたIDの予定実績の詳細情報を取得します。ユーザー、予定、実績、関連案件の情報が含まれます。

パラメータ

パラメータ必須説明
idstring必須予定実績ID(パスパラメータ)
bash
curl -X GET "https://setplan.app/api/v1/schedules/clx1234567890" \
  -H "Authorization: Bearer sk_live_xxxxx"
PUT/api/v1/schedules/{id}
adminpmmember(自身のみ)

予定実績の更新

指定されたIDの予定実績を更新します。予定・実績は全て置き換えられます。Admin/PM以外は自分の予定実績のみ編集可能です。影響を受ける案件の投下工数が自動再計算されます。

パラメータ

パラメータ必須説明
idstring必須予定実績ID(パスパラメータ)
workLocationstring必須勤務場所(office, remote, client_site, business_trip, paid_leave)
checkInTimestring任意出勤時刻
checkOutTimestring任意退勤時刻
breakTimenumber任意休憩時間(時間単位)
reflectionstring任意振り返り・メモ
scheduleDatestring任意対象日付の変更(YYYY-MM-DD形式)
userIdstring任意所有者変更(Admin/PMのみ)
plansarray任意予定の配列(既存データは全置換)
actualsarray任意実績の配列(既存データは全置換)
bash
curl -X PUT "https://setplan.app/api/v1/schedules/clx1234567890" \
  -H "Authorization: Bearer sk_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "workLocation": "office",
    "checkInTime": "09:00",
    "checkOutTime": "19:00",
    "breakTime": 1,
    "reflection": "残業1時間で設計書を完成させた",
    "plans": [
      {"projectId": "clx5555555555", "content": "設計書の作成"}
    ],
    "actuals": [
      {"projectId": "clx5555555555", "content": "設計書の作成・完成", "hours": 6},
      {"projectId": "clx5555555556", "content": "コードレビュー", "hours": 3}
    ]
  }'
DELETE/api/v1/schedules/{id}
adminpmmember(自身のみ)

予定実績の削除

指定されたIDの予定実績を削除します。Admin/PM以外は自分の予定実績のみ削除可能です。関連する案件の投下工数が自動再計算されます。

パラメータ

パラメータ必須説明
idstring必須予定実績ID(パスパラメータ)
bash
curl -X DELETE "https://setplan.app/api/v1/schedules/clx1234567890" \
  -H "Authorization: Bearer sk_live_xxxxx"
GET/api/v1/schedules/calendar

カレンダー形式で予定実績を取得

指定された日付範囲のスケジュールをカレンダー表示用に取得します。startDateとendDateは必須です。各スケジュールの合計実績時間が計算されます。

パラメータ

パラメータ必須説明
startDatestring必須開始日(YYYY-MM-DD形式)
endDatestring必須終了日(YYYY-MM-DD形式)
userIdstring任意ユーザーIDでフィルタ
departmentIdsstring任意部署IDでフィルタ(カンマ区切りで複数指定可)
bash
curl -X GET "https://setplan.app/api/v1/schedules/calendar?startDate=2026-04-01&endDate=2026-04-30&userId=clx1111111111" \
  -H "Authorization: Bearer sk_live_xxxxx"
GET/api/v1/schedules/analytics

予定実績の分析データ取得

指定された日付範囲の実績データを集計・分析します。ユーザー別案件別の工数、案件別分布、部署別分布、統計情報(合計時間、平均時間、目標時間、達成率)を返します。startDateとendDateは必須です。

パラメータ

パラメータ必須説明
startDatestring必須開始日(YYYY-MM-DD形式)
endDatestring必須終了日(YYYY-MM-DD形式)
userIdsstring任意ユーザーIDでフィルタ(カンマ区切りで複数指定可)
projectIdstring任意案件IDでフィルタ(allで全案件)
departmentIdsstring任意部署IDでフィルタ(カンマ区切りで複数指定可)
bash
curl -X GET "https://setplan.app/api/v1/schedules/analytics?startDate=2026-04-01&endDate=2026-04-30" \
  -H "Authorization: Bearer sk_live_xxxxx"
GET/api/v1/schedules/date/{date}

日付指定で予定実績を取得

指定された日付の予定実績を取得します。userIdパラメータを省略した場合は認証ユーザーのデータを返します。該当データがない場合はnullを返します。

パラメータ

パラメータ必須説明
datestring必須対象日付(YYYY-MM-DD形式、パスパラメータ)
userIdstring任意ユーザーID(省略時は認証ユーザー)
bash
curl -X GET "https://setplan.app/api/v1/schedules/date/2026-04-07?userId=clx1111111111" \
  -H "Authorization: Bearer sk_live_xxxxx"

分析・レポート

売上分析、月間分析、実績台帳、EVM分析、ガントチャートなど各種分析・レポートデータを取得するエンドポイントです。

GET/api/v1/sales-analysis

売上分析データの取得

月別の入金済売上、請求済売上、予定売上、投下工数を集計します。案件種別、部署、期間でのフィルタリングが可能です。詳細データには各売上の明細が含まれます。

パラメータ

パラメータ必須説明
startDatestring任意開始日(YYYY-MM-DD形式)
endDatestring任意終了日(YYYY-MM-DD形式)
projectTypestring[]任意案件種別でフィルタ(複数指定可。例: development, ses)
departmentIdstring[]任意部署IDでフィルタ(複数指定可)
bash
curl -X GET "https://setplan.app/api/v1/sales-analysis?startDate=2026-04-01&endDate=2027-03-31&projectType=development" \
  -H "Authorization: Bearer sk_live_xxxxx"
GET/api/v1/monthly-analysis

月間分析(投下工数分析)データの取得

案件別・月別の投下工数を集計します。投下工数(円)または時間での表示モード切替、案件種別・ステータス・部署でのフィルタリング、投下工数ゼロの案件除外が可能です。会社の決算月に基づく会計年度が自動適用されます。

パラメータ

パラメータ必須説明
pagenumber任意ページ番号(デフォルト: 1)
limitnumber任意1ページあたりの件数(デフォルト: 50)
startDatestring任意開始日(YYYY-MM-DD形式、省略時は会計年度の開始月)
endDatestring任意終了日(YYYY-MM-DD形式、省略時は会計年度の終了月)
projectTypestring[]任意案件種別でフィルタ(複数指定可)
statusstring[]任意案件ステータスでフィルタ(複数指定可)
departmentIdstring[]任意部署IDでフィルタ(複数指定可)
excludeZeroLaborCoststring任意投下工数が0の案件を除外(true/false)
displayModestring任意表示モード(laborCost: 投下工数(円), hours: 時間。デフォルト: laborCost)
bash
curl -X GET "https://setplan.app/api/v1/monthly-analysis?startDate=2026-04-01&endDate=2027-03-31&displayMode=laborCost&excludeZeroLaborCost=true" \
  -H "Authorization: Bearer sk_live_xxxxx"
GET/api/v1/performance-ledger

実績台帳データの取得

案件ごとの発注金額、外注費、サーバー費用、投下工数、粗利を一覧で取得します。案件種別、ステータス、部署、期間でのフィルタリングが可能です。ソートや投下工数ゼロ除外にも対応しています。

パラメータ

パラメータ必須説明
pagenumber任意ページ番号(デフォルト: 1)
limitnumber任意1ページあたりの件数(デフォルト: 50)
projectTypestring[]任意案件種別でフィルタ(複数指定可)
statusstring[]任意案件ステータスでフィルタ(複数指定可)
departmentIdstring[]任意部署IDでフィルタ(複数指定可)
startDatestring任意開始日(YYYY-MM-DD形式)
endDatestring任意終了日(YYYY-MM-DD形式)
excludeZeroLaborCoststring任意投下工数が0の案件を除外(true/false)
sortBystring任意ソート対象(issueDate, orderAmount, laborCost, grossProfit, grossProfitRate, projectNumber, projectName, teamName, status)
sortOrderstring任意ソート順(asc, desc。デフォルト: desc)
bash
curl -X GET "https://setplan.app/api/v1/performance-ledger?page=1&limit=50&sortBy=grossProfit&sortOrder=desc&excludeZeroLaborCost=true" \
  -H "Authorization: Bearer sk_live_xxxxx"
GET/api/v1/performance-ledger/summary

実績台帳サマリの取得

全体および部署(チーム)別の発注金額、外注費、サーバー費用、投下工数、粗利、粗利率の集計サマリを取得します。フィルター条件は実績台帳と同じです。

パラメータ

パラメータ必須説明
projectTypestring[]任意案件種別でフィルタ(複数指定可)
statusstring[]任意案件ステータスでフィルタ(複数指定可)
departmentIdstring[]任意部署IDでフィルタ(複数指定可)
startDatestring任意開始日(YYYY-MM-DD形式)
endDatestring任意終了日(YYYY-MM-DD形式)
excludeZeroLaborCoststring任意投下工数が0の案件を除外(true/false)
bash
curl -X GET "https://setplan.app/api/v1/performance-ledger/summary?startDate=2026-04-01&endDate=2027-03-31" \
  -H "Authorization: Bearer sk_live_xxxxx"
GET/api/v1/evm-analysis/{projectId}

EVM分析データの取得

指定された案件のEVM(アーンドバリューマネジメント)分析データを取得します。PV(計画値)、EV(出来高)、AC(実績コスト)、SV(スケジュール差異)、CV(コスト差異)、SPI、CPI、ETC、EACなどの指標と時系列データを返します。案件に予算、時間単価、計画開始日・終了日が設定されている必要があります。

パラメータ

パラメータ必須説明
projectIdstring必須案件ID(パスパラメータ)
eacMethodstring任意EAC算出方法(cpi_based: CPI基準, remaining_budget: 残予算基準。デフォルト: cpi_based)
bash
curl -X GET "https://setplan.app/api/v1/evm-analysis/clx5555555555?eacMethod=cpi_based" \
  -H "Authorization: Bearer sk_live_xxxxx"
GET/api/v1/gantt

ガントチャートデータの取得

ガントチャート表示用のタスク(課題)データを取得します。開始日・終了日が設定済みで、クローズ・アーカイブ済みでない課題が対象です。案件、担当者、部署、期間、優先度、キーワードでのフィルタリングが可能です。関連する案件・担当者・部署のマスタデータも含まれます。

パラメータ

パラメータ必須説明
projectIdstring任意案件IDでフィルタ
assigneeIdsstring任意担当者IDでフィルタ(カンマ区切りで複数指定可)
departmentIdsstring任意部署IDでフィルタ(カンマ区切りで複数指定可)
startDatestring任意表示期間の開始日(YYYY-MM-DD形式)
endDatestring任意表示期間の終了日(YYYY-MM-DD形式)
searchQuerystring任意キーワード検索(タイトル・説明で部分一致検索)
prioritystring任意優先度でフィルタ(low, medium, high, critical, all)
bash
curl -X GET "https://setplan.app/api/v1/gantt?projectId=clx5555555555&startDate=2026-04-01&endDate=2026-06-30" \
  -H "Authorization: Bearer sk_live_xxxxx"