APIリファレンス請求書作成依頼

請求書作成依頼

パートナーに請求書を作ってもらう依頼

  1. draft
  2. sent
  3. submitted
  4. approved
  5. paid
GET/v1/partner-invoice-requests

請求書作成依頼の一覧

externalRef を指定すると、その識別子の依頼だけを返します。新しい順です。

クエリ

  • externalRefstring

    200文字まで

  • statusenum
    draftsentviewededitingsubmittedneeds_revisionapprovedscheduled_for_paymentpaidcanceled
  • limitinteger

    1回に返す件数(既定 50、最大 100)

    1〜100

  • cursorstring

    前の応答の nextCursor

    100文字まで

返る項目data の中身 · 200

  • idstring
  • statusenum
    draftsentviewededitingsubmittedneeds_revisionapprovedscheduled_for_paymentpaidcanceled
  • externalRefstring | null
  • partnerIdstring
  • partnerOrderIdstring
  • requestedAmountinteger

    明細から計算した請求額(円)

  • currencystring
  • isIncludingTaxboolean
  • billingDatestring | null
  • paymentDeadlinestring | null
  • expiresAtstring | null
  • buyerMessagestring | null
  • revisionReasonstring | null
  • senderobject

    請求書の請求元と振込先。提出前はパートナーの登録情報から作った見込み、提出後は提出された内容です

    中の項目 7
    • namestring | null

      請求元の名前

    • companyNamestring | null

      屋号・法人名

    • registrationNumberstring | null

      適格請求書発行事業者の登録番号

    • addressstring | null
    • phoneNumberstring | null
    • bankAccountstring | null

      振込先

    • remarksstring | null

      備考

  • linesobject[]
    中の項目 7
    • namestring
    • quantitynumber
    • unitstring | null
    • unitPriceinteger
    • taxRateinteger
    • isWithholdingTaxboolean
    • sortOrderinteger
  • createdByApiKeyobject | null

    APIで作られた依頼なら、作成に使ったキー

    中の項目 2
    • idstring
    • namestring
  • sentAtstring | null
  • submittedAtstring | null
  • approvedAtstring | null
  • paidAtstring | null
  • canceledAtstring | null
  • createdAtstring
  • updatedAtstring

起こりうるエラー共通のエラー

  • 400invalid_request

    送った値が正しくない。message にどこが違うかが入ります

  • 403insufficient_scope

    キーにこの入口の権限(scope)が付いていない。requiredScopes に必要な権限が入ります

GET/v1/partner-invoice-requests
curl https://tooon.app/api/v1/partner-invoice-requests \
  -H "Authorization: Bearer $TOOON_API_KEY"
レスポンス
{
  "data": [
    {
      "id": "clx8k2m0a0001",
      "status": "draft",
      "externalRef": "staff-0001",
      "partnerId": "clx8k2m0a0001",
      "partnerOrderId": "clx8k2m0a0001",
      "requestedAmount": 100000,
      "currency": "JPY",
      "isIncludingTax": false,
      "billingDate": "2026-11-30",
      "paymentDeadline": "2026-11-30",
      "expiresAt": "2026-11-01T09:00:00.000Z",
      "buyerMessage": "内容をご確認ください",
      "revisionReason": "…",
      "sender": {
        "name": "山田 太郎",
        "companyName": "山田デザイン事務所",
        "registrationNumber": "T1234567890123",
        "address": "東京都渋谷区神南1-2-3",
        "phoneNumber": "090-1234-5678",
        "bankAccount": "○○銀行 渋谷支店 普通 1234567",
        "remarks": "…"
      },
      "lines": [
        {
          "name": "山田 太郎",
          "quantity": 1,
          "unit": "式",
          "unitPrice": 100000,
          "taxRate": 10,
          "isWithholdingTax": false,
          "sortOrder": 0
        }
      ],
      "createdByApiKey": {
        "id": "clx8k2m0a0001",
        "name": "山田 太郎"
      },
      "sentAt": "2026-11-01T09:00:00.000Z",
      "submittedAt": "2026-11-01T09:00:00.000Z",
      "approvedAt": "2026-11-01T09:00:00.000Z",
      "paidAt": "2026-11-01T09:00:00.000Z",
      "canceledAt": "2026-11-01T09:00:00.000Z",
      "createdAt": "2026-11-01T09:00:00.000Z",
      "updatedAt": "2026-11-01T09:00:00.000Z"
    }
  ],
  "nextCursor": null
}
POST/v1/partner-invoice-requests

請求書作成依頼の下書きを作る(externalRef で上書き)

パートナーに送る前の下書きを作ります。送るには続けて send を呼びます。

externalRef を付けると、同じ値で何度呼んでも依頼は1件です。下書き(draft)か差し戻し(needs_revision)のあいだは、この本文の内容で置き換えます。送付済みなどで直せない状態なら 409 invalid_status を返します。取り消した(canceled)依頼と同じ externalRef なら、新しい依頼を作ります。

請求額(requestedAmount)は明細から計算します。

送る項目JSON · 15項目

  • externalRefstring

    呼び出し元システムでの識別子。同じ値なら同じ依頼として扱います

    200文字まで

  • partnerOrderIdstring必須

    業務委託契約(発注)のID。GET /v1/partners で確認できます

    100文字まで

  • billingDatestring (date) | null

    請求日

  • paymentDeadlinestring (date) | null

    支払い期限

  • expiresAtstring (date-time) | null

    パートナーが提出できる期限

  • buyerMessagestring | null

    パートナーへのメッセージ

    4,000文字まで

  • isIncludingTaxboolean

    単価が税込か。省略時は契約の設定

  • linesobject[]必須

    明細

    1〜100件

    中の項目 7
    • namestring必須

      200文字まで

    • quantitynumber必須

      0〜1,000,000

    • unitstring | null

      20文字まで

    • unitPriceinteger必須

      1〜10,000,000,000

    • taxRateinteger必須

      消費税率(%)

      0〜100

    • isWithholdingTaxboolean

      源泉徴収の対象か(既定 false)

    • sortOrderinteger

      0〜1,000

返る項目data の中身 · 200

  • idstring
  • statusenum
    draftsentviewededitingsubmittedneeds_revisionapprovedscheduled_for_paymentpaidcanceled
  • externalRefstring | null
  • partnerIdstring
  • partnerOrderIdstring
  • requestedAmountinteger

    明細から計算した請求額(円)

  • currencystring
  • isIncludingTaxboolean
  • billingDatestring | null
  • paymentDeadlinestring | null
  • expiresAtstring | null
  • buyerMessagestring | null
  • revisionReasonstring | null
  • senderobject

    請求書の請求元と振込先。提出前はパートナーの登録情報から作った見込み、提出後は提出された内容です

    中の項目 7
    • namestring | null

      請求元の名前

    • companyNamestring | null

      屋号・法人名

    • registrationNumberstring | null

      適格請求書発行事業者の登録番号

    • addressstring | null
    • phoneNumberstring | null
    • bankAccountstring | null

      振込先

    • remarksstring | null

      備考

  • linesobject[]
    中の項目 7
    • namestring
    • quantitynumber
    • unitstring | null
    • unitPriceinteger
    • taxRateinteger
    • isWithholdingTaxboolean
    • sortOrderinteger
  • createdByApiKeyobject | null

    APIで作られた依頼なら、作成に使ったキー

    中の項目 2
    • idstring
    • namestring
  • sentAtstring | null
  • submittedAtstring | null
  • approvedAtstring | null
  • paidAtstring | null
  • canceledAtstring | null
  • createdAtstring
  • updatedAtstring

起こりうるエラー共通のエラー

  • 400invalid_request

    送った値が正しくない。message にどこが違うかが入ります

  • 403insufficient_scope

    キーにこの入口の権限(scope)が付いていない。requiredScopes に必要な権限が入ります

  • 409invalid_status

    送付済みなどで直せない状態のとき

POST/v1/partner-invoice-requests
curl -X POST https://tooon.app/api/v1/partner-invoice-requests \
  -H "Authorization: Bearer $TOOON_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "externalRef": "staff-0001",
  "partnerOrderId": "clx8k2m0a0001",
  "lines": [
    {
      "name": "山田 太郎",
      "quantity": 1,
      "unitPrice": 100000,
      "taxRate": 10
    }
  ]
}'
レスポンス
{
  "data": {
    "id": "clx8k2m0a0001",
    "status": "draft",
    "externalRef": "staff-0001",
    "partnerId": "clx8k2m0a0001",
    "partnerOrderId": "clx8k2m0a0001",
    "requestedAmount": 100000,
    "currency": "JPY",
    "isIncludingTax": false,
    "billingDate": "2026-11-30",
    "paymentDeadline": "2026-11-30",
    "expiresAt": "2026-11-01T09:00:00.000Z",
    "buyerMessage": "内容をご確認ください",
    "revisionReason": "…",
    "sender": {
      "name": "山田 太郎",
      "companyName": "山田デザイン事務所",
      "registrationNumber": "T1234567890123",
      "address": "東京都渋谷区神南1-2-3",
      "phoneNumber": "090-1234-5678",
      "bankAccount": "○○銀行 渋谷支店 普通 1234567",
      "remarks": "…"
    },
    "lines": [
      {
        "name": "山田 太郎",
        "quantity": 1,
        "unit": "式",
        "unitPrice": 100000,
        "taxRate": 10,
        "isWithholdingTax": false,
        "sortOrder": 0
      }
    ],
    "createdByApiKey": {
      "id": "clx8k2m0a0001",
      "name": "山田 太郎"
    },
    "sentAt": "2026-11-01T09:00:00.000Z",
    "submittedAt": "2026-11-01T09:00:00.000Z",
    "approvedAt": "2026-11-01T09:00:00.000Z",
    "paidAt": "2026-11-01T09:00:00.000Z",
    "canceledAt": "2026-11-01T09:00:00.000Z",
    "createdAt": "2026-11-01T09:00:00.000Z",
    "updatedAt": "2026-11-01T09:00:00.000Z"
  }
}
GET/v1/partner-invoice-requests/{id}

請求書作成依頼を取得する

依頼の状態と明細を返します。パートナーが提出した後は、提出された明細と金額になります。

パスの値

  • idstring必須

    請求書作成依頼のID

    100文字まで

返る項目data の中身 · 200

  • idstring
  • statusenum
    draftsentviewededitingsubmittedneeds_revisionapprovedscheduled_for_paymentpaidcanceled
  • externalRefstring | null
  • partnerIdstring
  • partnerOrderIdstring
  • requestedAmountinteger

    明細から計算した請求額(円)

  • currencystring
  • isIncludingTaxboolean
  • billingDatestring | null
  • paymentDeadlinestring | null
  • expiresAtstring | null
  • buyerMessagestring | null
  • revisionReasonstring | null
  • senderobject

    請求書の請求元と振込先。提出前はパートナーの登録情報から作った見込み、提出後は提出された内容です

    中の項目 7
    • namestring | null

      請求元の名前

    • companyNamestring | null

      屋号・法人名

    • registrationNumberstring | null

      適格請求書発行事業者の登録番号

    • addressstring | null
    • phoneNumberstring | null
    • bankAccountstring | null

      振込先

    • remarksstring | null

      備考

  • linesobject[]
    中の項目 7
    • namestring
    • quantitynumber
    • unitstring | null
    • unitPriceinteger
    • taxRateinteger
    • isWithholdingTaxboolean
    • sortOrderinteger
  • createdByApiKeyobject | null

    APIで作られた依頼なら、作成に使ったキー

    中の項目 2
    • idstring
    • namestring
  • sentAtstring | null
  • submittedAtstring | null
  • approvedAtstring | null
  • paidAtstring | null
  • canceledAtstring | null
  • createdAtstring
  • updatedAtstring

起こりうるエラー共通のエラー

  • 403insufficient_scope

    キーにこの入口の権限(scope)が付いていない。requiredScopes に必要な権限が入ります

  • 404not_found

    対象がない、またはこのワークスペースのものではない

GET/v1/partner-invoice-requests/{id}
curl https://tooon.app/api/v1/partner-invoice-requests/clx8k2m0a0001 \
  -H "Authorization: Bearer $TOOON_API_KEY"
レスポンス
{
  "data": {
    "id": "clx8k2m0a0001",
    "status": "draft",
    "externalRef": "staff-0001",
    "partnerId": "clx8k2m0a0001",
    "partnerOrderId": "clx8k2m0a0001",
    "requestedAmount": 100000,
    "currency": "JPY",
    "isIncludingTax": false,
    "billingDate": "2026-11-30",
    "paymentDeadline": "2026-11-30",
    "expiresAt": "2026-11-01T09:00:00.000Z",
    "buyerMessage": "内容をご確認ください",
    "revisionReason": "…",
    "sender": {
      "name": "山田 太郎",
      "companyName": "山田デザイン事務所",
      "registrationNumber": "T1234567890123",
      "address": "東京都渋谷区神南1-2-3",
      "phoneNumber": "090-1234-5678",
      "bankAccount": "○○銀行 渋谷支店 普通 1234567",
      "remarks": "…"
    },
    "lines": [
      {
        "name": "山田 太郎",
        "quantity": 1,
        "unit": "式",
        "unitPrice": 100000,
        "taxRate": 10,
        "isWithholdingTax": false,
        "sortOrder": 0
      }
    ],
    "createdByApiKey": {
      "id": "clx8k2m0a0001",
      "name": "山田 太郎"
    },
    "sentAt": "2026-11-01T09:00:00.000Z",
    "submittedAt": "2026-11-01T09:00:00.000Z",
    "approvedAt": "2026-11-01T09:00:00.000Z",
    "paidAt": "2026-11-01T09:00:00.000Z",
    "canceledAt": "2026-11-01T09:00:00.000Z",
    "createdAt": "2026-11-01T09:00:00.000Z",
    "updatedAt": "2026-11-01T09:00:00.000Z"
  }
}
GET/v1/partner-invoice-requests/{id}/pdf

請求書作成依頼を請求書(PDF)で取得する

依頼を、パートナー(請求元)からワークスペース(宛先)への請求書の書面にして PDF で返します。Tooon の画面で見る書面と同じものです。

提出後は提出された明細・事業者情報、提出前は依頼の内容で作ります。請求書番号がないときは依頼ごとに決まった番号(R-から始まる)を載せます。

パスの値

  • idstring必須

    請求書作成依頼のID

    100文字まで

返るもの

ファイル(application/pdf)をそのまま返します。

起こりうるエラー共通のエラー

  • 403insufficient_scope

    キーにこの入口の権限(scope)が付いていない。requiredScopes に必要な権限が入ります

  • 404not_found

    対象がない、またはこのワークスペースのものではない

GET/v1/…/{id}/pdf
curl https://tooon.app/api/v1/partner-invoice-requests/clx8k2m0a0001/pdf -o file.pdf \
  -H "Authorization: Bearer $TOOON_API_KEY"
insufficient_scope
{
  "error": {
    "code": "insufficient_scope",
    "message": "キーにこの入口の権限(scope)が付いていない。requiredScopes に必要な権限が入ります",
    "requestId": "req_8f2c1a",
    "requiredScopes": [
      "invoice_requests:read"
    ]
  }
}
POST/v1/partner-invoice-requests/{id}/presentation-preview

相手への提示前に請求書作成依頼を確認する

15分有効な確認IDと依頼条件・明細・名義・相手・期限を返します。連携先はログインした依頼元本人にreviewの全内容と副作用を表示し、確認操作の証拠を保持してください。明細の計算と依頼額が一致する必要があります。

パスの値

  • idstring必須

    200文字まで

送る項目JSON · 1項目

  • expectedUpdatedAtstring (date-time)必須

返る項目data の中身 · 200

  • confirmationIdstring
  • expectedActorIdstring
  • reviewHashstring
  • expiresAtstring (date-time)
  • reviewobject
    中の項目 7
    • requestobject
      中の項目 14
      • idstring
      • statusenum
        draftsentviewededitingsubmittedneeds_revisionapprovedscheduled_for_paymentpaidcanceled
      • partnerIdstring
      • partnerOrderIdstring
      • requestedAmountinteger
      • currencystring
      • isIncludingTaxboolean
      • taxRoundingMethodenum
        floorceilround
      • buyerMessagestring | null
      • billingDatestring (date-time) | null
      • paymentDeadlinestring (date-time) | null
      • expiresAtstring (date-time) | null
      • invoiceNumberstring | null
      • linesobject[]
        中の項目 7
        • namestring
        • quantitynumber
        • unitstring | null
        • unitPriceinteger
        • taxRateinteger
        • isWithholdingTaxboolean
        • sortOrderinteger
    • buyerobject
      中の項目 7
      • namestring
      • companystring | null
      • postalCodestring | null
      • addressstring | null
      • buildingNamestring | null
      • phoneNumberstring | null
      • registrationNumberstring | null
    • supplierobject
      中の項目 6
      • namestring
      • companyNamestring | null
      • contactNamestring | null
      • emailstring | null
      • taxRegistrationNumberstring | null
      • addressstring | null
    • orderobject
      中の項目 10
      • titlestring
      • rolestring | null
      • scopestring | null
      • amountinteger
      • currencystring
      • isIncludingTaxboolean
      • taxRoundingMethodstring
      • contractTermsstring | null
      • startDatestring | null
      • endDatestring | null
    • recipientDetailsobject | null
      中の項目 7
      • recipientNamestring | null
      • recipientHonorificTitlestring | null
      • recipientDepartmentstring | null
      • recipientPostalCodestring | null
      • recipientAddressstring | null
      • recipientBuildingNamestring | null
      • recipientPhoneNumberstring | null
    • senderDetailsobject | null
      中の項目 7
      • senderNamestring | null
      • senderCompanystring | null
      • senderRegistrationNumberstring | null
      • senderAddressstring | null
      • senderPhoneNumberstring | null
      • transferBankAccountstring | null
      • remarksstring | null
    • effectsobject
      中の項目 7
      • status"sent"
      • presentation"provider"
      • delivery"none"
      • invalidatesPublicLinktrue
      • submitsInvoicefalse
      • createsSettlementfalse
      • approvesPaymentfalse

起こりうるエラー共通のエラー

  • 400invalid_request

    送った値が正しくない。message にどこが違うかが入ります

  • 403insufficient_scope

    キーにこの入口の権限(scope)が付いていない。requiredScopes に必要な権限が入ります

  • 404not_found

    対象がない、またはこのワークスペースのものではない

POST/v1/…/{id}/presentation-preview
curl -X POST https://tooon.app/api/v1/partner-invoice-requests/clx8k2m0a0001/presentation-preview \
  -H "Authorization: Bearer $TOOON_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "expectedUpdatedAt": "2026-11-01T09:00:00.000Z"
}'
レスポンス
{
  "data": {
    "confirmationId": "clx8k2m0a0001",
    "expectedActorId": "clx8k2m0a0001",
    "reviewHash": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    "expiresAt": "2026-11-01T09:00:00.000Z",
    "review": {
      "request": {
        "id": "clx8k2m0a0001",
        "status": "draft",
        "partnerId": "clx8k2m0a0001",
        "partnerOrderId": "clx8k2m0a0001",
        "requestedAmount": 100000,
        "currency": "JPY",
        "isIncludingTax": false,
        "taxRoundingMethod": "floor",
        "buyerMessage": "内容をご確認ください",
        "billingDate": "2026-11-01T09:00:00.000Z",
        "paymentDeadline": "2026-11-01T09:00:00.000Z",
        "expiresAt": "2026-11-01T09:00:00.000Z",
        "invoiceNumber": "…",
        "lines": [
          {
            "name": "山田 太郎",
            "quantity": 1,
            "unit": "式",
            "unitPrice": 100000,
            "taxRate": 10,
            "isWithholdingTax": false,
            "sortOrder": 0
          }
        ]
      },
      "buyer": {
        "name": "山田 太郎",
        "company": "…",
        "postalCode": "…",
        "address": "東京都渋谷区神南1-2-3",
        "buildingName": "…",
        "phoneNumber": "090-1234-5678",
        "registrationNumber": "T1234567890123"
      },
      "supplier": {
        "name": "山田 太郎",
        "companyName": "山田デザイン事務所",
        "contactName": "山田 太郎",
        "email": "…",
        "taxRegistrationNumber": "T1234567890123",
        "address": "東京都渋谷区神南1-2-3"
      },
      "order": {
        "title": "Webサイト制作の業務委託",
        "role": "…",
        "scope": "…",
        "amount": 100000,
        "currency": "JPY",
        "isIncludingTax": false,
        "taxRoundingMethod": "…",
        "contractTerms": "…",
        "startDate": "2026-11-30",
        "endDate": "2026-11-30"
      },
      "recipientDetails": {
        "recipientName": "…",
        "recipientHonorificTitle": "…",
        "recipientDepartment": "…",
        "recipientPostalCode": "…",
        "recipientAddress": "…",
        "recipientBuildingName": "…",
        "recipientPhoneNumber": "…"
      },
      "senderDetails": {
        "senderName": "…",
        "senderCompany": "…",
        "senderRegistrationNumber": "…",
        "senderAddress": "…",
        "senderPhoneNumber": "…",
        "transferBankAccount": "…",
        "remarks": "…"
      },
      "effects": {
        "status": "sent",
        "presentation": "provider",
        "delivery": "none",
        "invalidatesPublicLink": true,
        "submitsInvoice": false,
        "createsSettlement": false,
        "approvesPayment": false
      }
    }
  }
}
POST/v1/partner-invoice-requests/{id}/present

本人が確認した請求書作成依頼を提示用に確定する

連携先で本人が確認した版をSENTへ進め、保存したreviewを提示内容として確定します。delivery:none。連携先は確認済みreviewを相手に表示します。既存の公開リンクは失効し、新しいリンクは返しません。到達・閲覧・提出・請求書発行・承認・支払いは行いません。変更・期限切れ・別本人を拒否し、同じ確認記録の再送は同じ確定結果を返します。

パスの値

  • idstring必須

    200文字まで

送る項目JSON · 5項目

  • confirmationIdstring必須

    200文字まで

  • reviewHashstring必須
  • confirmedBystring必須

    200文字まで

  • confirmedAtstring (date-time)必須
  • confirmationReferencestring必須

    200文字まで

返る項目data の中身 · 200

  • requestIdstring
  • confirmationIdstring
  • reviewHashstring
  • presentedAtstring (date-time)
  • delivery"none"

起こりうるエラー共通のエラー

  • 400invalid_request

    送った値が正しくない。message にどこが違うかが入ります

  • 403insufficient_scope

    キーにこの入口の権限(scope)が付いていない。requiredScopes に必要な権限が入ります

  • 404not_found

    対象がない、またはこのワークスペースのものではない

POST/v1/…/{id}/present
curl -X POST https://tooon.app/api/v1/partner-invoice-requests/clx8k2m0a0001/present \
  -H "Authorization: Bearer $TOOON_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "confirmationId": "clx8k2m0a0001",
  "reviewHash": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "confirmedBy": "member-0001",
  "confirmedAt": "2026-11-01T09:00:00.000Z",
  "confirmationReference": "confirmation-0001"
}'
レスポンス
{
  "data": {
    "requestId": "clx8k2m0a0001",
    "confirmationId": "clx8k2m0a0001",
    "reviewHash": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    "presentedAt": "2026-11-01T09:00:00.000Z",
    "delivery": "none"
  }
}
POST/v1/partner-invoice-requests/{id}/cancel-preview

提出前の請求書作成依頼を取り消す前に確認する

15分有効な確認IDと対象依頼・現在の相手/発注・理由・副作用を返します。連携先は依頼元本人へreviewの全内容を表示し、確認証拠を保持してください。提出以降や精算に接続した依頼は対象外です。

パスの値

  • idstring必須

    200文字まで

送る項目JSON · 2項目

  • expectedUpdatedAtstring (date-time)必須
  • commentstring | null

    2,000文字まで

返る項目data の中身 · 200

  • confirmationIdstring
  • expectedActorIdstring
  • reviewHashstring
  • expiresAtstring (date-time)
  • reviewobject
    中の項目 5
    • requestobject
      中の項目 22
      • idstring
      • statusenum
        draftsentviewededitingsubmittedneeds_revisionapprovedscheduled_for_paymentpaidcanceled
      • externalRefstring | null
      • partnerIdstring
      • partnerOrderIdstring
      • requestedAmountinteger
      • currencystring
      • isIncludingTaxboolean
      • taxRoundingMethodenum
        floorceilround
      • buyerMessagestring | null
      • billingDatestring (date-time) | null
      • paymentDeadlinestring (date-time) | null
      • expiresAtstring (date-time) | null
      • invoiceNumberstring | null
      • sentAtstring (date-time) | null
      • submittedAtstring (date-time) | null
      • approvedAtstring (date-time) | null
      • paidAtstring (date-time) | null
      • canceledAtstring (date-time) | null
      • createdAtstring (date-time)
      • updatedAtstring (date-time)
      • linesobject[]
        中の項目 7
        • namestring
        • quantitynumber
        • unitstring | null
        • unitPriceinteger
        • taxRateinteger
        • isWithholdingTaxboolean
        • sortOrderinteger
    • partnerobject
      中の項目 2
      • namestring
      • companyNamestring | null
    • orderobject
      中の項目 2
      • titlestring
      • statusstring
    • commentstring | null
    • effectsobject
      中の項目 7
      • status"canceled"
      • delivery"none"
      • invalidatesPublicLinktrue
      • changesPartnerOrderfalse
      • changesAgreementfalse
      • changesSettlementfalse
      • changesPaymentfalse

起こりうるエラー共通のエラー

  • 400invalid_request

    送った値が正しくない。message にどこが違うかが入ります

  • 403insufficient_scope

    キーにこの入口の権限(scope)が付いていない。requiredScopes に必要な権限が入ります

  • 404not_found

    対象がない、またはこのワークスペースのものではない

POST/v1/…/{id}/cancel-preview
curl -X POST https://tooon.app/api/v1/partner-invoice-requests/clx8k2m0a0001/cancel-preview \
  -H "Authorization: Bearer $TOOON_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "expectedUpdatedAt": "2026-11-01T09:00:00.000Z"
}'
レスポンス
{
  "data": {
    "confirmationId": "clx8k2m0a0001",
    "expectedActorId": "clx8k2m0a0001",
    "reviewHash": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    "expiresAt": "2026-11-01T09:00:00.000Z",
    "review": {
      "request": {
        "id": "clx8k2m0a0001",
        "status": "draft",
        "externalRef": "staff-0001",
        "partnerId": "clx8k2m0a0001",
        "partnerOrderId": "clx8k2m0a0001",
        "requestedAmount": 100000,
        "currency": "JPY",
        "isIncludingTax": false,
        "taxRoundingMethod": "floor",
        "buyerMessage": "内容をご確認ください",
        "billingDate": "2026-11-01T09:00:00.000Z",
        "paymentDeadline": "2026-11-01T09:00:00.000Z",
        "expiresAt": "2026-11-01T09:00:00.000Z",
        "invoiceNumber": "…",
        "sentAt": "2026-11-01T09:00:00.000Z",
        "submittedAt": "2026-11-01T09:00:00.000Z",
        "approvedAt": "2026-11-01T09:00:00.000Z",
        "paidAt": "2026-11-01T09:00:00.000Z",
        "canceledAt": "2026-11-01T09:00:00.000Z",
        "createdAt": "2026-11-01T09:00:00.000Z",
        "updatedAt": "2026-11-01T09:00:00.000Z",
        "lines": [
          {
            "name": "山田 太郎",
            "quantity": 1,
            "unit": "式",
            "unitPrice": 100000,
            "taxRate": 10,
            "isWithholdingTax": false,
            "sortOrder": 0
          }
        ]
      },
      "partner": {
        "name": "山田 太郎",
        "companyName": "山田デザイン事務所"
      },
      "order": {
        "title": "Webサイト制作の業務委託",
        "status": "…"
      },
      "comment": "…",
      "effects": {
        "status": "canceled",
        "delivery": "none",
        "invalidatesPublicLink": true,
        "changesPartnerOrder": false,
        "changesAgreement": false,
        "changesSettlement": false,
        "changesPayment": false
      }
    }
  }
}
POST/v1/partner-invoice-requests/{id}/cancel-confirmed

本人が確認した提出前の請求書作成依頼を取り消す

確認した提出前の依頼をCANCELEDにし、旧公開リンクを無効にします。delivery:none。発注・契約・精算・支払・請求書を変更せず、メールも送りません。内容・版・本人・期限を検証し、同じ確認の再送は同じ結果を返します。

パスの値

  • idstring必須

    200文字まで

送る項目JSON · 5項目

  • confirmationIdstring必須

    200文字まで

  • reviewHashstring必須
  • confirmedBystring必須

    200文字まで

  • confirmedAtstring (date-time)必須
  • confirmationReferencestring必須

    200文字まで

返る項目data の中身 · 200

  • requestIdstring
  • confirmationIdstring
  • reviewHashstring
  • canceledAtstring (date-time)
  • delivery"none"

起こりうるエラー共通のエラー

  • 400invalid_request

    送った値が正しくない。message にどこが違うかが入ります

  • 403insufficient_scope

    キーにこの入口の権限(scope)が付いていない。requiredScopes に必要な権限が入ります

  • 404not_found

    対象がない、またはこのワークスペースのものではない

POST/v1/…/{id}/cancel-confirmed
curl -X POST https://tooon.app/api/v1/partner-invoice-requests/clx8k2m0a0001/cancel-confirmed \
  -H "Authorization: Bearer $TOOON_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "confirmationId": "clx8k2m0a0001",
  "reviewHash": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "confirmedBy": "member-0001",
  "confirmedAt": "2026-11-01T09:00:00.000Z",
  "confirmationReference": "confirmation-0001"
}'
レスポンス
{
  "data": {
    "requestId": "clx8k2m0a0001",
    "confirmationId": "clx8k2m0a0001",
    "reviewHash": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    "canceledAt": "2026-11-01T09:00:00.000Z",
    "delivery": "none"
  }
}
POST/v1/partner-invoice-requests/{id}/send

請求書作成依頼をパートナーに送る

依頼を送付済み(sent)にして、パートナーが確認・提出できる状態にします。パートナーが中身を確認して提出するまで、提出済みにはなりません。

delivery が tooon_email(既定)のときは、パートナーの登録メールアドレスに、請求書を確認して提出するためのリンクをTooonからメールで送ります。送付済み(sent / viewed)の依頼にもう一度呼ぶと、新しいリンクでメールを送り直します(前のリンクは使えなくなります)。状態は送付済みになったがメールを送れなかったときは 502 email_delivery_failed を返します。もう一度呼ぶと送り直せます。

delivery が none のときは、Tooonからは何も送りません。呼び出し元のアプリが自分の画面でパートナーに中身を見せ、パートナーが承認したら submit を呼びます。

パスの値

  • idstring必須

    請求書作成依頼のID

    100文字まで

送る項目JSON · 1項目

  • deliveryenum

    tooon_email(既定):Tooonからパートナーにメールで送る。none:Tooonからは送らず、呼び出し元のアプリで見せる

    tooon_emailnone

返る項目data の中身 · 200

  • idstring
  • statusenum
    draftsentviewededitingsubmittedneeds_revisionapprovedscheduled_for_paymentpaidcanceled
  • externalRefstring | null
  • partnerIdstring
  • partnerOrderIdstring
  • requestedAmountinteger

    明細から計算した請求額(円)

  • currencystring
  • isIncludingTaxboolean
  • billingDatestring | null
  • paymentDeadlinestring | null
  • expiresAtstring | null
  • buyerMessagestring | null
  • revisionReasonstring | null
  • senderobject

    請求書の請求元と振込先。提出前はパートナーの登録情報から作った見込み、提出後は提出された内容です

    中の項目 7
    • namestring | null

      請求元の名前

    • companyNamestring | null

      屋号・法人名

    • registrationNumberstring | null

      適格請求書発行事業者の登録番号

    • addressstring | null
    • phoneNumberstring | null
    • bankAccountstring | null

      振込先

    • remarksstring | null

      備考

  • linesobject[]
    中の項目 7
    • namestring
    • quantitynumber
    • unitstring | null
    • unitPriceinteger
    • taxRateinteger
    • isWithholdingTaxboolean
    • sortOrderinteger
  • createdByApiKeyobject | null

    APIで作られた依頼なら、作成に使ったキー

    中の項目 2
    • idstring
    • namestring
  • sentAtstring | null
  • submittedAtstring | null
  • approvedAtstring | null
  • paidAtstring | null
  • canceledAtstring | null
  • createdAtstring
  • updatedAtstring

起こりうるエラー共通のエラー

  • 400invalid_request

    送った値が正しくない。message にどこが違うかが入ります

  • 403insufficient_scope

    キーにこの入口の権限(scope)が付いていない。requiredScopes に必要な権限が入ります

  • 404not_found

    対象がない、またはこのワークスペースのものではない

  • 502email_delivery_failed

    状態は送付済みになったがメールを送れなかったとき

POST/v1/…/{id}/send
curl -X POST https://tooon.app/api/v1/partner-invoice-requests/clx8k2m0a0001/send \
  -H "Authorization: Bearer $TOOON_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "delivery": "tooon_email"
}'
レスポンス
{
  "data": {
    "id": "clx8k2m0a0001",
    "status": "draft",
    "externalRef": "staff-0001",
    "partnerId": "clx8k2m0a0001",
    "partnerOrderId": "clx8k2m0a0001",
    "requestedAmount": 100000,
    "currency": "JPY",
    "isIncludingTax": false,
    "billingDate": "2026-11-30",
    "paymentDeadline": "2026-11-30",
    "expiresAt": "2026-11-01T09:00:00.000Z",
    "buyerMessage": "内容をご確認ください",
    "revisionReason": "…",
    "sender": {
      "name": "山田 太郎",
      "companyName": "山田デザイン事務所",
      "registrationNumber": "T1234567890123",
      "address": "東京都渋谷区神南1-2-3",
      "phoneNumber": "090-1234-5678",
      "bankAccount": "○○銀行 渋谷支店 普通 1234567",
      "remarks": "…"
    },
    "lines": [
      {
        "name": "山田 太郎",
        "quantity": 1,
        "unit": "式",
        "unitPrice": 100000,
        "taxRate": 10,
        "isWithholdingTax": false,
        "sortOrder": 0
      }
    ],
    "createdByApiKey": {
      "id": "clx8k2m0a0001",
      "name": "山田 太郎"
    },
    "sentAt": "2026-11-01T09:00:00.000Z",
    "submittedAt": "2026-11-01T09:00:00.000Z",
    "approvedAt": "2026-11-01T09:00:00.000Z",
    "paidAt": "2026-11-01T09:00:00.000Z",
    "canceledAt": "2026-11-01T09:00:00.000Z",
    "createdAt": "2026-11-01T09:00:00.000Z",
    "updatedAt": "2026-11-01T09:00:00.000Z"
  }
}
POST/v1/partner-invoice-requests/{id}/submit

パートナーに代わって請求書を提出する

呼び出し元のアプリの画面でパートナー本人が中身を確認し、承認したときに呼びます。依頼は提出済み(submitted)になり、Tooonでは支払い予定(精算)が作られます。以降の承認と支払いはTooonの画面で行います。

明細と金額は依頼の内容のまま提出します。直したいときは、提出前に依頼を取り消して作り直してください。

sender(請求元と振込先)で省いた項目は、パートナーの登録情報から入れます。

送付済み(sent / viewed / editing)か差し戻し(needs_revision)の依頼だけ提出できます。下書き(draft)は先に send を呼んでください。それ以外は 409 invalid_status を返します。

パスの値

  • idstring必須

    請求書作成依頼のID

    100文字まで

送る項目JSON · 12項目

  • submittedByobject

    呼び出し元のアプリで承認した人。Tooonの履歴に残ります

    中の項目 2
    • namestring | null

      承認した人の名前

      200文字まで

    • emailstring (email) | null

      承認した人のメールアドレス(既定はパートナーのメール)

      320文字まで

  • invoiceNumberstring | null

    請求書番号

    100文字まで

  • senderobject

    請求元と振込先。省いた項目はパートナーの登録情報から入れます

    中の項目 7
    • namestring | null

      200文字まで

    • companyNamestring | null

      200文字まで

    • registrationNumberstring | null

      50文字まで

    • addressstring | null

      500文字まで

    • phoneNumberstring | null

      50文字まで

    • bankAccountstring | null

      500文字まで

    • remarksstring | null

      2,000文字まで

返る項目data の中身 · 200

  • idstring
  • statusenum
    draftsentviewededitingsubmittedneeds_revisionapprovedscheduled_for_paymentpaidcanceled
  • externalRefstring | null
  • partnerIdstring
  • partnerOrderIdstring
  • requestedAmountinteger

    明細から計算した請求額(円)

  • currencystring
  • isIncludingTaxboolean
  • billingDatestring | null
  • paymentDeadlinestring | null
  • expiresAtstring | null
  • buyerMessagestring | null
  • revisionReasonstring | null
  • senderobject

    請求書の請求元と振込先。提出前はパートナーの登録情報から作った見込み、提出後は提出された内容です

    中の項目 7
    • namestring | null

      請求元の名前

    • companyNamestring | null

      屋号・法人名

    • registrationNumberstring | null

      適格請求書発行事業者の登録番号

    • addressstring | null
    • phoneNumberstring | null
    • bankAccountstring | null

      振込先

    • remarksstring | null

      備考

  • linesobject[]
    中の項目 7
    • namestring
    • quantitynumber
    • unitstring | null
    • unitPriceinteger
    • taxRateinteger
    • isWithholdingTaxboolean
    • sortOrderinteger
  • createdByApiKeyobject | null

    APIで作られた依頼なら、作成に使ったキー

    中の項目 2
    • idstring
    • namestring
  • sentAtstring | null
  • submittedAtstring | null
  • approvedAtstring | null
  • paidAtstring | null
  • canceledAtstring | null
  • createdAtstring
  • updatedAtstring

起こりうるエラー共通のエラー

  • 400invalid_request

    送った値が正しくない。message にどこが違うかが入ります

  • 403insufficient_scope

    キーにこの入口の権限(scope)が付いていない。requiredScopes に必要な権限が入ります

  • 404not_found

    対象がない、またはこのワークスペースのものではない

  • 409invalid_status

    今の状態ではその操作ができない(送付済みの依頼を直そうとした、など)

POST/v1/…/{id}/submit
curl -X POST https://tooon.app/api/v1/partner-invoice-requests/clx8k2m0a0001/submit \
  -H "Authorization: Bearer $TOOON_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "submittedBy": {
    "name": "山田 太郎",
    "email": "taro@example.com"
  },
  "invoiceNumber": "…",
  "sender": {
    "name": "山田 太郎",
    "companyName": "山田デザイン事務所",
    "registrationNumber": "T1234567890123",
    "address": "東京都渋谷区神南1-2-3",
    "phoneNumber": "090-1234-5678",
    "bankAccount": "○○銀行 渋谷支店 普通 1234567",
    "remarks": "…"
  }
}'
レスポンス
{
  "data": {
    "id": "clx8k2m0a0001",
    "status": "draft",
    "externalRef": "staff-0001",
    "partnerId": "clx8k2m0a0001",
    "partnerOrderId": "clx8k2m0a0001",
    "requestedAmount": 100000,
    "currency": "JPY",
    "isIncludingTax": false,
    "billingDate": "2026-11-30",
    "paymentDeadline": "2026-11-30",
    "expiresAt": "2026-11-01T09:00:00.000Z",
    "buyerMessage": "内容をご確認ください",
    "revisionReason": "…",
    "sender": {
      "name": "山田 太郎",
      "companyName": "山田デザイン事務所",
      "registrationNumber": "T1234567890123",
      "address": "東京都渋谷区神南1-2-3",
      "phoneNumber": "090-1234-5678",
      "bankAccount": "○○銀行 渋谷支店 普通 1234567",
      "remarks": "…"
    },
    "lines": [
      {
        "name": "山田 太郎",
        "quantity": 1,
        "unit": "式",
        "unitPrice": 100000,
        "taxRate": 10,
        "isWithholdingTax": false,
        "sortOrder": 0
      }
    ],
    "createdByApiKey": {
      "id": "clx8k2m0a0001",
      "name": "山田 太郎"
    },
    "sentAt": "2026-11-01T09:00:00.000Z",
    "submittedAt": "2026-11-01T09:00:00.000Z",
    "approvedAt": "2026-11-01T09:00:00.000Z",
    "paidAt": "2026-11-01T09:00:00.000Z",
    "canceledAt": "2026-11-01T09:00:00.000Z",
    "createdAt": "2026-11-01T09:00:00.000Z",
    "updatedAt": "2026-11-01T09:00:00.000Z"
  }
}
POST/v1/partner-invoice-requests/{id}/cancel

請求書作成依頼を取り消す

依頼を取り消します。送付済みのリンクは使えなくなります。支払い済み(paid)の依頼は取り消せません。

パスの値

  • idstring必須

    請求書作成依頼のID

    100文字まで

送る項目JSON · 1項目

  • reasonstring | null

    取り消す理由(Tooonの履歴に残ります)

    2,000文字まで

返る項目data の中身 · 200

  • idstring
  • statusenum
    draftsentviewededitingsubmittedneeds_revisionapprovedscheduled_for_paymentpaidcanceled
  • externalRefstring | null
  • partnerIdstring
  • partnerOrderIdstring
  • requestedAmountinteger

    明細から計算した請求額(円)

  • currencystring
  • isIncludingTaxboolean
  • billingDatestring | null
  • paymentDeadlinestring | null
  • expiresAtstring | null
  • buyerMessagestring | null
  • revisionReasonstring | null
  • senderobject

    請求書の請求元と振込先。提出前はパートナーの登録情報から作った見込み、提出後は提出された内容です

    中の項目 7
    • namestring | null

      請求元の名前

    • companyNamestring | null

      屋号・法人名

    • registrationNumberstring | null

      適格請求書発行事業者の登録番号

    • addressstring | null
    • phoneNumberstring | null
    • bankAccountstring | null

      振込先

    • remarksstring | null

      備考

  • linesobject[]
    中の項目 7
    • namestring
    • quantitynumber
    • unitstring | null
    • unitPriceinteger
    • taxRateinteger
    • isWithholdingTaxboolean
    • sortOrderinteger
  • createdByApiKeyobject | null

    APIで作られた依頼なら、作成に使ったキー

    中の項目 2
    • idstring
    • namestring
  • sentAtstring | null
  • submittedAtstring | null
  • approvedAtstring | null
  • paidAtstring | null
  • canceledAtstring | null
  • createdAtstring
  • updatedAtstring

起こりうるエラー共通のエラー

  • 400invalid_request

    送った値が正しくない。message にどこが違うかが入ります

  • 403insufficient_scope

    キーにこの入口の権限(scope)が付いていない。requiredScopes に必要な権限が入ります

  • 404not_found

    対象がない、またはこのワークスペースのものではない

POST/v1/…/{id}/cancel
curl -X POST https://tooon.app/api/v1/partner-invoice-requests/clx8k2m0a0001/cancel \
  -H "Authorization: Bearer $TOOON_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "reason": "…"
}'
レスポンス
{
  "data": {
    "id": "clx8k2m0a0001",
    "status": "draft",
    "externalRef": "staff-0001",
    "partnerId": "clx8k2m0a0001",
    "partnerOrderId": "clx8k2m0a0001",
    "requestedAmount": 100000,
    "currency": "JPY",
    "isIncludingTax": false,
    "billingDate": "2026-11-30",
    "paymentDeadline": "2026-11-30",
    "expiresAt": "2026-11-01T09:00:00.000Z",
    "buyerMessage": "内容をご確認ください",
    "revisionReason": "…",
    "sender": {
      "name": "山田 太郎",
      "companyName": "山田デザイン事務所",
      "registrationNumber": "T1234567890123",
      "address": "東京都渋谷区神南1-2-3",
      "phoneNumber": "090-1234-5678",
      "bankAccount": "○○銀行 渋谷支店 普通 1234567",
      "remarks": "…"
    },
    "lines": [
      {
        "name": "山田 太郎",
        "quantity": 1,
        "unit": "式",
        "unitPrice": 100000,
        "taxRate": 10,
        "isWithholdingTax": false,
        "sortOrder": 0
      }
    ],
    "createdByApiKey": {
      "id": "clx8k2m0a0001",
      "name": "山田 太郎"
    },
    "sentAt": "2026-11-01T09:00:00.000Z",
    "submittedAt": "2026-11-01T09:00:00.000Z",
    "approvedAt": "2026-11-01T09:00:00.000Z",
    "paidAt": "2026-11-01T09:00:00.000Z",
    "canceledAt": "2026-11-01T09:00:00.000Z",
    "createdAt": "2026-11-01T09:00:00.000Z",
    "updatedAt": "2026-11-01T09:00:00.000Z"
  }
}