■ 概要
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
freee販売APIにおける一覧・取得API の OpenAPI Schema において、一部のフィールド定義と実際のAPIの挙動に不整合があったため、実態に合わせた定義の修正を行います。
API自体の挙動に変更はありませんが、OpenAPI Schema をもとにクライアントコードや型定義を自動生成しているアプリケーションにおかれましては、影響が生じる可能性がございます。
■ 変更内容
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
変更対象API:
- GET /businesses
- GET /businesses/{id}
- GET /master/deal_line_types
- GET /master/employees
- GET /master/items
- GET /master/custom_fields/business/definitions
- GET /quotations
- GET /quotations/{id}
- GET /sales_orders
- GET /sales_orders/{id}
- GET /deliveries
- GET /deliveries/{id}
- GET /sales
- GET /sales/{id}
- GET /other_costs
- GET /other_costs/{id}
- GET /cost_budgets
- GET /cost_budgets/{id}
変更種別:Breaking Change
変更内容:
freee販売のPublic API における「一覧・取得」に関わる OpenAPI Schema 上の定義を、実際のAPIレスポンスに合わせて以下の通り修正します。
修正前: required: true かつ nullable: false (または nullable: true)
修正後: required: false かつ nullable: true に統一
※実際のAPIエンドポイントの振る舞い(レスポンスペイロード)に変更はありません。OpenAPI Schema(ドキュメント)上の定義のみの変更となります。
変更理由:
APIの実際のレスポンスにおいて null が返るケースが存在する一方、OpenAPI Schema 上では該当フィールドが required かつ nullable: false 等と定義されている不整合が生じていました。これらを実態および 他の製品のPublic APIに沿った仕様に統一するためです。
例として、「見積」データにおける「案件」のレスポンス business は、 required: true, nullable: false となっておりますが、実際には案件が設定されていない場合があるため、実情にあった定義に変更されます。
■ 変更スケジュール
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
アナウンス日:2026/6/19
変更リリース予定日:2026/6/24
■ 対応方法
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
OpenAPI Schema を利用して、型定義やAPIクライアントを自動生成しているアプリケーションにおいては、対応が必要となる場合があります。
本変更のリリース後に Schema からコードを再生成した場合、該当フィールドの型が field: string 等から field?: string | null へと変更されます。
これによりコンパイルエラーや型不整合が発生する可能性があるため、クライアント側で null や undefined を適切に許容・処理するよう、実装のご確認および修正をお願いいたします。
なお、Schemaからの自動生成を利用せず、独自にAPIリクエストを実装されている場合は、API自体の振る舞いに変更はないため特別な対応は不要です。