{
  "openapi": "3.1.0",
  "info": {
    "title": "Slash Public API V2",
    "description": "Send money for a Slash legal entity. Every request uses an API key. Transfer creation returns a Transfer that links its resulting transactions.",
    "version": "0.0.1"
  },
  "servers": [
    {
      "url": "https://api.slash.com",
      "description": "production"
    }
  ],
  "components": {
    "schemas": {
      "PublicApiV2ErrorThreeDsChallengeAlreadyDecided": {
        "title": "three_ds_challenge_already_decided",
        "description": "The 3D Secure challenge is no longer pending; `details.status` is its current status.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["three_ds_challenge_already_decided"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "description": "The challenge’s current status.",
                    "example": "approved"
                  }
                },
                "required": ["status"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorThreeDsChallengeExpired": {
        "title": "three_ds_challenge_expired",
        "description": "A 3D Secure challenge must be approved or declined before its `expiresAt`, about five minutes after it is requested. Once it expires the purchase is declined; the cardholder can retry the purchase.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["three_ds_challenge_expired"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "three-ds-challenge": {
        "title": "3D Secure challenge",
        "description": "A request to confirm a card purchase with 3D Secure. It must be approved or declined before `expiresAt`, about five minutes after it is requested; a challenge left unanswered is declined.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "3D Secure challenge id with the `three_ds_challenge_` prefix.",
            "example": "three_ds_challenge_2rj4l7hmrrrcv"
          },
          "cardId": {
            "type": "string",
            "description": "The card the purchase was made with, with the `c_` prefix.",
            "example": "c_2rj4l7hmrrrcv"
          },
          "status": {
            "type": "string",
            "description": "`pending` until it is decided. `approved` and `declined` record the decision. `expired` means it was not decided in time and the purchase was declined. `failed` means the decision could not be reported and the purchase was declined.",
            "enum": ["pending", "approved", "declined", "expired", "failed"]
          },
          "merchant": {
            "type": "object",
            "properties": {
              "description": {
                "type": "string",
                "example": "Acme Tickets"
              },
              "location": {
                "type": "object",
                "properties": {
                  "country": {
                    "type": "string",
                    "description": "The merchant's three-letter ISO 3166-1 alpha-3 country code, such as `USA` or `GBR`.",
                    "example": "USA"
                  }
                },
                "required": ["country"],
                "additionalProperties": false
              }
            },
            "required": ["description", "location"],
            "additionalProperties": false
          },
          "amount": {
            "$ref": "#/components/schemas/Money"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "description": "The deadline to approve or decline the challenge."
          }
        },
        "required": [
          "id",
          "cardId",
          "status",
          "merchant",
          "amount",
          "expiresAt"
        ],
        "additionalProperties": false
      },
      "Money": {
        "type": "object",
        "description": "A signed monetary amount expressed in minor units.",
        "properties": {
          "amount": {
            "type": "integer",
            "description": "Amount in the currency's minor units."
          },
          "currency": {
            "type": "string",
            "pattern": "^[A-Z]{3}$",
            "description": "Uppercase ISO 4217 currency code."
          }
        },
        "required": ["amount", "currency"],
        "additionalProperties": false,
        "title": "Money"
      },
      "PositiveMoney": {
        "type": "object",
        "description": "A positive monetary amount expressed in the currency's minor units.",
        "properties": {
          "amount": {
            "type": "integer",
            "minimum": 1,
            "description": "Amount in the currency's minor units.",
            "example": 10000
          },
          "currency": {
            "type": "string",
            "pattern": "^[A-Z]{3}$",
            "description": "Uppercase ISO 4217 currency code.",
            "example": "GBP"
          }
        },
        "required": ["amount", "currency"],
        "additionalProperties": false,
        "title": "PositiveMoney"
      },
      "UsdMoney": {
        "type": "object",
        "description": "A positive USD amount expressed in cents.",
        "properties": {
          "amount": {
            "type": "integer",
            "minimum": 1,
            "description": "Amount in cents. For example, `1250` represents USD 12.50.",
            "example": 1250
          },
          "currency": {
            "type": "string",
            "enum": ["USD"]
          }
        },
        "required": ["amount", "currency"],
        "additionalProperties": false,
        "title": "UsdMoney"
      },
      "Error": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Machine-readable reason; branch on this, not on `message`. Every code an endpoint can return is listed on its reference page; the ones shared by all endpoints are explained in the Errors guide.",
            "example": "invalid_request"
          },
          "message": {
            "type": "string",
            "description": "Human-readable explanation, safe to show to an operator. Wording may change; use `code` and `details` programmatically."
          },
          "details": {
            "type": "object",
            "description": "The values behind `message`, keyed per `code`. For example `insufficient_funds` carries `available` and `requested`; `invalid_request` from contract validation carries one entry per failing field, keyed by JSON pointer. Empty when the code has no variable data.",
            "additionalProperties": {
              "type": "string"
            },
            "example": {
              "available": "$120.00",
              "requested": "$500.00"
            }
          },
          "referenceId": {
            "type": "string",
            "description": "Unique id of this failure. Quote it when contacting Slash support.",
            "example": "4001-2alj5if"
          }
        },
        "required": ["code", "message", "details", "referenceId"],
        "additionalProperties": false,
        "title": "Error"
      },
      "PublicApiV2ErrorAccountsPayableLineRestricted": {
        "title": "PublicApiV2ErrorAccountsPayableLineRestricted",
        "description": "On a bill entry, the fixed line is the accounts payable line, which takes only `account`, `vendor` and `subsidiary`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["accounts_payable_line_restricted"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorAmountAboveLimit": {
        "title": "PublicApiV2ErrorAmountAboveLimit",
        "description": "The amount is more than this account may still send on this rail within its limit.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["amount_above_limit"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "transferType": {
                    "type": "string",
                    "description": "The rail of the transfer.",
                    "example": "ACH"
                  },
                  "maximum": {
                    "type": "string",
                    "description": "The amount still available under the limit.",
                    "example": "$25,000.00"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["transferType", "maximum"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorAmountBelowMinimum": {
        "title": "PublicApiV2ErrorAmountBelowMinimum",
        "description": "The amount is below the smallest transfer this account may send on this rail.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["amount_below_minimum"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "transferType": {
                    "type": "string",
                    "description": "The rail of the transfer.",
                    "example": "ACH"
                  },
                  "minimum": {
                    "type": "string",
                    "description": "The smallest amount allowed.",
                    "example": "$1.00"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["transferType", "minimum"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorBillAmountsLocked": {
        "title": "PublicApiV2ErrorBillAmountsLocked",
        "description": "Amounts can only change while the bill is `draft` or `rejected`. Void the bill to cancel its unsettled payments first.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["bill_amounts_locked"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "description": "The bill’s current `status`.",
                    "example": "scheduled"
                  }
                },
                "required": ["status"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorBillCardRequestOpen": {
        "title": "PublicApiV2ErrorBillCardRequestOpen",
        "description": "A purchase card was requested for the bill and settles it once spent, so paying it another way too would cover it twice. Cancel the card request first.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["bill_card_request_open"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "hold": {
                    "type": "string",
                    "description": "`pending` while the request awaits approval, `approved` once the card is issued.",
                    "example": "approved"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["hold"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorBillCurrencyMismatch": {
        "title": "PublicApiV2ErrorBillCurrencyMismatch",
        "description": "Every amount on a bill must be in the bill’s `currency`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["bill_currency_mismatch"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "currency": {
                    "type": "string",
                    "description": "The bill’s currency.",
                    "example": "USD"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["currency"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorBillEntryFieldReadOnly": {
        "title": "PublicApiV2ErrorBillEntryFieldReadOnly",
        "description": "A bill entry takes its lines, amounts, descriptions, memo and files from the bill, so only its coding changes here.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["bill_entry_field_read_only"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorBillNotDeletable": {
        "title": "PublicApiV2ErrorBillNotDeletable",
        "description": "The bill has a payment that is scheduled, in flight or settled. Void it first if its payments can still be canceled.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["bill_not_deletable"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "description": "The bill’s current `status`.",
                    "example": "scheduled"
                  }
                },
                "required": ["status"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorBillNotPayable": {
        "title": "PublicApiV2ErrorBillNotPayable",
        "description": "The bill already has a payment awaiting approval, scheduled or in flight, or it is fully paid. Unlink or void the existing payment first.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["bill_not_payable"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "description": "The bill’s current `status`.",
                    "example": "payment_pending"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["status"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorBillNotVoidable": {
        "title": "PublicApiV2ErrorBillNotVoidable",
        "description": "Voiding cancels payments that have not been sent yet, ones awaiting approval or scheduled. A payment on its way or settled cannot be recalled this way; a pending ACH payment can still be canceled with `POST /v2/transfers/ach/{transferId}/cancel`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["bill_not_voidable"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "description": "The bill’s current `status`.",
                    "example": "payment_pending"
                  }
                },
                "required": ["status"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorBillOwnerNotAllowed": {
        "title": "PublicApiV2ErrorBillOwnerNotAllowed",
        "description": "This API key can only create and keep bills owned by its own user.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["bill_owner_not_allowed"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorBillPaymentEntryReadOnly": {
        "title": "PublicApiV2ErrorBillPaymentEntryReadOnly",
        "description": "Bill payment entries take their coding from the bill they pay. Code the bill’s entry instead.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["bill_payment_entry_read_only"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorBillVendorLocked": {
        "title": "PublicApiV2ErrorBillVendorLocked",
        "description": "A payment against the bill has already been booked with the current vendor and accounts payable account.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["bill_vendor_locked"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCardAccountLocked": {
        "title": "PublicApiV2ErrorCardAccountLocked",
        "description": "Slash has locked the account, during a review or while it closes, so cards cannot be issued on it or changed. Contact Slash support.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["account_locked"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCardAccountRequired": {
        "title": "PublicApiV2ErrorCardAccountRequired",
        "description": "The legal entity issues cards from more than one account, so the request must name one with `accountId`. List them with `GET /v2/accounts`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["account_required"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCardClosed": {
        "title": "PublicApiV2ErrorCardClosed",
        "description": "Closing is permanent; a closed card cannot change.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["card_closed"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCardClosingLimitReached": {
        "title": "PublicApiV2ErrorCardClosingLimitReached",
        "description": "Closing virtual cards is capped per account each month. Pause the card instead, or wait for the limit to reset.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["card_closing_limit_reached"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCardClosingUnavailable": {
        "title": "PublicApiV2ErrorCardClosingUnavailable",
        "description": "The account's card limit is 0, so it can't close cards. Contact Slash support.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["card_closing_unavailable"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCardDetailsUnavailable": {
        "title": "PublicApiV2ErrorCardDetailsUnavailable",
        "description": "Card numbers are available for `active` and `paused` cards only. A physical card shows them once its holder activates it.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["card_details_unavailable"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "description": "The card’s current status.",
                    "example": "awaiting_activation"
                  }
                },
                "required": ["status"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCardFeeInsufficientFunds": {
        "title": "PublicApiV2ErrorCardFeeInsufficientFunds",
        "description": "Ordering this card charges a fee to the virtual account, which does not hold enough. Fund it and retry.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["card_fee_insufficient_funds"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCardGroupArchived": {
        "title": "PublicApiV2ErrorCardGroupArchived",
        "description": "Archived card groups cannot change or take new cards.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["card_group_archived"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCardGroupHasOpenCards": {
        "title": "PublicApiV2ErrorCardGroupHasOpenCards",
        "description": "A card group is archived only once it has no cards that are not closed. Move its cards out with `PATCH /v2/cards/{cardId}` or close them, then retry.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["card_group_has_open_cards"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "string",
                    "description": "Cards in the group that are not closed.",
                    "example": "3"
                  }
                },
                "required": ["count"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCardGroupInOtherAccount": {
        "title": "PublicApiV2ErrorCardGroupInOtherAccount",
        "description": "The card group holds the cards of another account or virtual account. Pick a group of the card’s virtual account.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["card_group_in_other_account"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCardHolderNotChangeable": {
        "title": "PublicApiV2ErrorCardHolderNotChangeable",
        "description": "The holder’s name is embossed on a physical card. Order a new card for the new holder instead.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["card_holder_not_changeable"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCardIssuerNotApproved": {
        "title": "PublicApiV2ErrorCardIssuerNotApproved",
        "description": "Cards on this account need the legal entity and the cardholder to be approved by the card issuer. `field` names which one is not approved yet: `accountId` for the legal entity, `cardholderUserId` for the cardholder. Retry once it is approved.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["card_issuer_not_approved"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCardLimitReached": {
        "title": "PublicApiV2ErrorCardLimitReached",
        "description": "The account already holds as many open cards as it may. Close cards you no longer need, or contact Slash support to raise the limit.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["card_limit_reached"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCardNeverUsed": {
        "title": "PublicApiV2ErrorCardNeverUsed",
        "description": "A virtual card that has never been used cannot be closed. Pause the card instead.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["card_never_used"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCardNotActive": {
        "title": "PublicApiV2ErrorCardNotActive",
        "description": "Only `active` cards can be paused or have a PIN set.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["card_not_active"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "description": "The card’s current status.",
                    "example": "paused"
                  }
                },
                "required": ["status"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCardNotPaused": {
        "title": "PublicApiV2ErrorCardNotPaused",
        "description": "Only `paused` cards can be unpaused. A physical card in `awaiting_activation` becomes `active` when its holder activates it.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["card_not_paused"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "description": "The card’s current status.",
                    "example": "active"
                  }
                },
                "required": ["status"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCardNotPhysical": {
        "title": "PublicApiV2ErrorCardNotPhysical",
        "description": "Only physical cards can be replaced or have a PIN. Virtual cards are closed and issued again instead.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["card_not_physical"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCardNotReplaceable": {
        "title": "PublicApiV2ErrorCardNotReplaceable",
        "description": "Only issued cards that are not closed can be replaced. A `pending` card has not been issued yet.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["card_not_replaceable"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "description": "The card’s current status.",
                    "example": "closed"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["status"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCardReorderLimitReached": {
        "title": "PublicApiV2ErrorCardReorderLimitReached",
        "description": "A card can have at most three physical card orders in 30 days. Contact Slash support if the card needs another replacement.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["card_reorder_limit_reached"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCardRequesterNotIssuable": {
        "title": "PublicApiV2ErrorCardRequesterNotIssuable",
        "description": "Cards on this account need the requester to have an approved profile with the card issuer. Request the card again once it is approved.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["card_requester_not_issuable"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCardStatusPending": {
        "title": "PublicApiV2ErrorCardStatusPending",
        "description": "An earlier status change has not finished at the card issuer. Retry once `GET /v2/cards/{cardId}` shows the new status.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["card_status_pending"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCarrierBillReadOnly": {
        "title": "PublicApiV2ErrorCarrierBillReadOnly",
        "description": "The bill was pulled from a connected carrier portal and is managed by that connection. It can be read but not changed.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["carrier_bill_read_only"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCashbackAccountLocked": {
        "title": "PublicApiV2ErrorCashbackAccountLocked",
        "description": "A locked account can’t receive cashback.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["account_locked"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCashbackDestinationNotActive": {
        "title": "PublicApiV2ErrorCashbackDestinationNotActive",
        "description": "The recipient’s destination is pending review or disabled, as its `status` shows.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["destination_not_active"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "description": "The destination’s status.",
                    "example": "pending"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["status"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCashbackDestinationNotAllowed": {
        "title": "PublicApiV2ErrorCashbackDestinationNotAllowed",
        "description": "The destination can’t receive this account’s cashback: a Global USD account’s cashback only goes back to itself, some accounts can’t receive cashback, and recipients must accept ACH.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["destination_not_allowed"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "reason": {
                    "type": "string",
                    "description": "Why the destination was refused.",
                    "example": "A Global USD account’s cashback can only go back to that account."
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["reason"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCashbackIpAllowlistRequired": {
        "title": "PublicApiV2ErrorCashbackIpAllowlistRequired",
        "description": "The legal entity does not enforce an IP allowlist. Redeeming cashback requires one, and the request must come from an allowlisted IP.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["ip_allowlist_required"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCashbackUnavailable": {
        "title": "PublicApiV2ErrorCashbackUnavailable",
        "description": "The charge card is past due, so its cashback is withheld until the account is brought current.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["cashback_unavailable"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorConflictIdempotencyKeyReused": {
        "title": "PublicApiV2ErrorConflictIdempotencyKeyReused",
        "description": "A consumed `X-Idempotency-Key` was reused; the original response is not replayed.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["conflict"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorConnectionIdRequired": {
        "title": "PublicApiV2ErrorConnectionIdRequired",
        "description": "The legal entity has several accounting connections, so the request must say which one with `connectionId`. List them with `GET /v2/accounting/connections`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["connection_id_required"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorConnectionNotSyncable": {
        "title": "PublicApiV2ErrorConnectionNotSyncable",
        "description": "Only connections linked to a platform Slash syncs with can sync entries or refresh on demand. Other connections, such as CSV exports, are handled from the Slash dashboard.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["connection_not_syncable"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCustomFieldInDimensions": {
        "title": "PublicApiV2ErrorCustomFieldInDimensions",
        "description": "Custom fields are coded through `customFields`, not `dimensions`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["custom_field_in_dimensions"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string",
                    "description": "The dimension key sent.",
                    "example": "customField:cf_cost_center"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["key"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCustomFieldOptionsReadOnly": {
        "title": "PublicApiV2ErrorCustomFieldOptionsReadOnly",
        "description": "Custom field options are defined on the accounting platform, so they cannot be turned on or off or set as a default here. Change them there and resync the connection.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["custom_field_options_read_only"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "dimension": {
                    "type": "string",
                    "description": "The dimension’s name.",
                    "example": "Cost Center"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["dimension"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorCustomFieldValueInvalid": {
        "title": "PublicApiV2ErrorCustomFieldValueInvalid",
        "description": "The custom field does not exist in this scope, or the value does not match its type or options. `problem` says which.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["custom_field_value_invalid"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "problem": {
                    "type": "string",
                    "description": "What is wrong with the value.",
                    "example": "Cost Center takes one option value."
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["problem"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorDefaultSubsidiaryRequired": {
        "title": "PublicApiV2ErrorDefaultSubsidiaryRequired",
        "description": "The platform keeps mappings per subsidiary, and the connection has no default subsidiary to read or write them for.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["default_subsidiary_required"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorDestinationArchived": {
        "title": "PublicApiV2ErrorDestinationArchived",
        "description": "The destination was archived and can no longer receive transfers.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["destination_archived"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorDestinationNotVendors": {
        "title": "PublicApiV2ErrorDestinationNotVendors",
        "description": "The destination belongs to a different recipient than the bill’s.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["destination_not_vendors"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorDestinationTypeMismatch": {
        "title": "PublicApiV2ErrorDestinationTypeMismatch",
        "description": "The destination is of a type this rail cannot send to, e.g. an `international_wire` destination for an ACH transfer.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["destination_type_mismatch"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "requiredType": {
                    "type": "string",
                    "description": "The destination type this rail sends to.",
                    "example": "bank_account"
                  },
                  "transferType": {
                    "type": "string",
                    "description": "The rail of the transfer.",
                    "example": "ACH"
                  },
                  "destinationType": {
                    "type": "string",
                    "description": "The type of the destination.",
                    "example": "international_wire"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["requiredType", "transferType", "destinationType"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorDimensionCannotBePerLine": {
        "title": "PublicApiV2ErrorDimensionCannotBePerLine",
        "description": "Bill entries can code `account`, `class`, `department`, `location`, `project` and `customer` per line.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["dimension_cannot_be_per_line"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string",
                    "description": "The dimension key sent.",
                    "example": "vendor"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["key"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorDimensionCodedPerEntry": {
        "title": "PublicApiV2ErrorDimensionCodedPerEntry",
        "description": "The dimension holds one value for the whole entry: it is in `entryLevelDimensions`, or on a bill entry it is not in `lineItemLevelDimensions`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["dimension_coded_per_entry"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string",
                    "description": "The dimension key sent.",
                    "example": "department"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["key"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorDimensionCodedPerLine": {
        "title": "PublicApiV2ErrorDimensionCodedPerLine",
        "description": "The bill entry codes this dimension per line, as `lineItemLevelDimensions` says, so it is set on each line item.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["dimension_coded_per_line"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string",
                    "description": "The dimension key sent.",
                    "example": "class"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["key"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorDimensionDisabled": {
        "title": "PublicApiV2ErrorDimensionDisabled",
        "description": "The dimension is turned off for coding. Turn it on with `PATCH /v2/accounting/dimensions/{dimensionKey}`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["dimension_disabled"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "dimension": {
                    "type": "string",
                    "description": "The dimension’s name.",
                    "example": "Class"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["dimension"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorDimensionNameReserved": {
        "title": "PublicApiV2ErrorDimensionNameReserved",
        "description": "The name belongs to a built-in dimension.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["dimension_name_reserved"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "The name sent.",
                    "example": "account"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["name"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorDimensionNotAutoCodable": {
        "title": "PublicApiV2ErrorDimensionNotAutoCodable",
        "description": "The accounting intelligence agent can only code the dimensions in `supportedDimensionKeys`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["dimension_not_auto_codable"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string",
                    "description": "The dimension key sent.",
                    "example": "subsidiary"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["key"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorDimensionNotMappable": {
        "title": "PublicApiV2ErrorDimensionNotMappable",
        "description": "The dimension only makes sense per entry, so mappings cannot set it. Its `mappable` is `false`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["dimension_not_mappable"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "dimension": {
                    "type": "string",
                    "description": "The dimension’s name.",
                    "example": "Purchase Order"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["dimension"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorDimensionNotRenamable": {
        "title": "PublicApiV2ErrorDimensionNotRenamable",
        "description": "Required dimensions and `account` keep the name the connection gives them. Any other optional dimension can be renamed.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["dimension_not_renamable"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "dimension": {
                    "type": "string",
                    "description": "The dimension’s name.",
                    "example": "Account"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["dimension"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorDimensionNotSupportedForEntry": {
        "title": "PublicApiV2ErrorDimensionNotSupportedForEntry",
        "description": "The accounting platform does not accept this dimension on this kind of entry. The entry lists these in `unsupportedDimensions`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["dimension_not_supported_for_entry"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string",
                    "description": "The dimension key sent.",
                    "example": "vendor"
                  },
                  "entryType": {
                    "type": "string",
                    "description": "The entry’s `type`.",
                    "example": "bank_transfer"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["key", "entryType"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorDimensionRequired": {
        "title": "PublicApiV2ErrorDimensionRequired",
        "description": "Required dimensions are always on.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["dimension_required"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "dimension": {
                    "type": "string",
                    "description": "The dimension’s name.",
                    "example": "Account"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["dimension"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorDimensionValueDisabled": {
        "title": "PublicApiV2ErrorDimensionValueDisabled",
        "description": "The value is turned off for coding. Turn it on with `PATCH /v2/accounting/dimensions/{dimensionKey}/values/{valueId}`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["dimension_value_disabled"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "dimension": {
                    "type": "string",
                    "description": "The dimension’s name.",
                    "example": "Account"
                  },
                  "value": {
                    "type": "string",
                    "description": "The value’s name.",
                    "example": "6100 Software Subscriptions"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["dimension", "value"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorDimensionValuesUpdateInProgress": {
        "title": "PublicApiV2ErrorDimensionValuesUpdateInProgress",
        "description": "A bulk change to this dimension’s values, started in the Slash dashboard, is still running.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["dimension_values_update_in_progress"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorDocumentPurposeMismatch": {
        "title": "PublicApiV2ErrorDocumentPurposeMismatch",
        "description": "The document was uploaded with a different `purpose`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["document_purpose_mismatch"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "expected": {
                    "type": "string",
                    "description": "The `purpose` this field takes.",
                    "example": "bill_invoice"
                  },
                  "purpose": {
                    "type": "string",
                    "description": "The document’s `purpose`.",
                    "example": "accounting_receipt"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["expected"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorEditableLineRequired": {
        "title": "PublicApiV2ErrorEditableLineRequired",
        "description": "`lineItems` lists every editable line after the update, so it cannot leave none.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["editable_line_required"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorEnabledDimensionKeysNotApplicable": {
        "title": "PublicApiV2ErrorEnabledDimensionKeysNotApplicable",
        "description": "`enabledDimensionKeys` picks the dimensions for `selected_fields`. With `all_fields` or `disabled`, leave it out, send it empty, or send back the list the settings already report.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["enabled_dimension_keys_not_applicable"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorEnabledDimensionKeysRequired": {
        "title": "PublicApiV2ErrorEnabledDimensionKeysRequired",
        "description": "The selection is only kept while the mode is `selected_fields`, so switching to it needs the keys again.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["enabled_dimension_keys_required"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorEntryNotReady": {
        "title": "PublicApiV2ErrorEntryNotReady",
        "description": "A required dimension or custom field has no value yet. `blockers` lists everything that is missing.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["entry_not_ready"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "blockers": {
                    "type": "string",
                    "description": "What is missing before the entry can sync.",
                    "example": "You must specify an account for this line item."
                  }
                },
                "required": ["blockers"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorEntryNotSplittable": {
        "title": "PublicApiV2ErrorEntryNotSplittable",
        "description": "Entries for a transfer between your own accounts book a fixed line on each side and nothing to split. Code them with entry-level `dimensions`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["entry_not_splittable"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorEntrySyncInProgress": {
        "title": "PublicApiV2ErrorEntrySyncInProgress",
        "description": "The entry is `pending_sync` or `syncing`. Retry once a read of the entry shows `synced` or `failed`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["entry_sync_in_progress"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "description": "The entry’s current `status`.",
                    "example": "syncing"
                  }
                },
                "required": ["status"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorFeatureNotEnabled": {
        "title": "PublicApiV2ErrorFeatureNotEnabled",
        "description": "The feature this request uses is not enabled for the legal entity. Contact Slash support to enable it.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["feature_not_enabled"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorFileRequired": {
        "title": "PublicApiV2ErrorFileRequired",
        "description": "The `multipart/form-data` body ended without a `file` part.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["file_required"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorFileSizeLimit": {
        "title": "PublicApiV2ErrorFileSizeLimit",
        "description": "Files can be up to 25 MB, and invoice logos up to 2 MB.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["file_too_large"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorFixedLineReadOnly": {
        "title": "PublicApiV2ErrorFixedLineReadOnly",
        "description": "The fixed line is the bank or card account the money moved through. Slash sets it, so only its other dimensions can be coded.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["fixed_line_read_only"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorForbidden": {
        "title": "PublicApiV2ErrorForbidden",
        "description": "The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["forbidden"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorForbiddenLegalEntity": {
        "title": "PublicApiV2ErrorForbiddenLegalEntity",
        "description": "The credential is not permitted to act for the selected legal entity.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["forbidden"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorFxQuoteAlreadyUsed": {
        "title": "PublicApiV2ErrorFxQuoteAlreadyUsed",
        "description": "The FX quote was already used by another transfer; create a new one.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["fx_quote_already_used"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorFxQuoteAmountMismatch": {
        "title": "PublicApiV2ErrorFxQuoteAmountMismatch",
        "description": "The FX quote was created for a different currency or amount than this transfer.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["fx_quote_amount_mismatch"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorFxQuoteExpired": {
        "title": "PublicApiV2ErrorFxQuoteExpired",
        "description": "The FX quote expired before the transfer was created; create a new one.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["fx_quote_expired"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorFxQuoteRejected": {
        "title": "PublicApiV2ErrorFxQuoteRejected",
        "description": "The FX provider declined to quote this amount and currency.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["fx_quote_rejected"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorFxQuoteRequired": {
        "title": "PublicApiV2ErrorFxQuoteRequired",
        "description": "An international wire in a currency other than USD needs an FX quote; create one with `POST /v2/transfers/international-wire/fx-quotes`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["fx_quote_required"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorGlobalUsdAccountNotSupported": {
        "title": "PublicApiV2ErrorGlobalUsdAccountNotSupported",
        "description": "The account is a Global USD account, which this request does not support.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["global_usd_account_not_supported"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorInformationRequestAlreadyPending": {
        "title": "PublicApiV2ErrorInformationRequestAlreadyPending",
        "description": "A recipient can have one pending information request at a time; cancel the pending one first.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["information_request_already_pending"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorInformationRequestNotPending": {
        "title": "PublicApiV2ErrorInformationRequestNotPending",
        "description": "The information request was already submitted or canceled, so it cannot be canceled.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["information_request_not_pending"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorInsufficientCashback": {
        "title": "PublicApiV2ErrorInsufficientCashback",
        "description": "The amount is more than the account’s available cashback. Nothing was redeemed; lower the amount and retry.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["insufficient_cashback"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "available": {
                    "type": "string",
                    "description": "Cashback available to redeem.",
                    "example": "$124.50"
                  },
                  "requested": {
                    "type": "string",
                    "description": "Amount this redemption asked for.",
                    "example": "$250.00"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["available", "requested"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorInsufficientFunds": {
        "title": "PublicApiV2ErrorInsufficientFunds",
        "description": "The source account does not hold enough to cover this transfer. Nothing was moved; fund the account or lower the amount and retry.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["insufficient_funds"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "available": {
                    "type": "string",
                    "description": "Balance available to spend from the source account.",
                    "example": "$120.00"
                  },
                  "requested": {
                    "type": "string",
                    "description": "Amount this transfer would have moved, fees included.",
                    "example": "$500.00"
                  }
                },
                "required": ["available", "requested"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorInternal": {
        "title": "PublicApiV2ErrorInternal",
        "description": "Slash could not complete the request. Quote `referenceId` when contacting Slash support.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["internal"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorInternationalShippingNotEnabled": {
        "title": "PublicApiV2ErrorInternationalShippingNotEnabled",
        "description": "Physical cards ship to US addresses unless international shipping is enabled for the legal entity. Contact Slash support.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["international_shipping_not_enabled"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorInternationalWireDetailsInvalid": {
        "title": "PublicApiV2ErrorInternationalWireDetailsInvalid",
        "description": "The bank rejected the international wire details for the destination country; `fields` lists which.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["international_wire_details_invalid"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "fields": {
                    "type": "string",
                    "description": "The details that were rejected.",
                    "example": "accountNumber"
                  }
                },
                "required": ["fields"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorInvalidBeneficiaryAddress": {
        "title": "PublicApiV2ErrorInvalidBeneficiaryAddress",
        "description": "The beneficiary address cannot be used for this destination; `problems` says why.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["invalid_beneficiary_address"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "problems": {
                    "type": "string",
                    "description": "What is wrong with the address.",
                    "example": "Enter a valid ZIP code."
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["problems"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorInvalidRequestShape": {
        "title": "PublicApiV2ErrorInvalidRequestShape",
        "description": "The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["invalid_request"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": {
                  "type": "string"
                }
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorInvalidSwiftBic": {
        "title": "PublicApiV2ErrorInvalidSwiftBic",
        "description": "The SWIFT/BIC code does not match any bank.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["invalid_swift_bic"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorInvoiceAccountRequired": {
        "title": "PublicApiV2ErrorInvoiceAccountRequired",
        "description": "The legal entity has several accounts that can receive payments, so the invoice needs to name one.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["invoice_account_required"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorInvoiceAmountBelowCryptoMinimum": {
        "title": "PublicApiV2ErrorInvoiceAmountBelowCryptoMinimum",
        "description": "Crypto payments have a minimum amount. Offer another payment method or raise the total.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["invoice_amount_below_crypto_minimum"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorInvoiceAmountExceedsAchDebitLimit": {
        "title": "PublicApiV2ErrorInvoiceAmountExceedsAchDebitLimit",
        "description": "A single ACH debit cannot cover the invoice total. Offer another payment method or lower the total.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["invoice_amount_exceeds_ach_debit_limit"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorInvoiceDueBeforeIssue": {
        "title": "PublicApiV2ErrorInvoiceDueBeforeIssue",
        "description": "With the change applied, the invoice would be due before it is issued.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["invoice_due_before_issue"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorInvoiceNotEditable": {
        "title": "PublicApiV2ErrorInvoiceNotEditable",
        "description": "Invoices can be edited until they take a payment. Remove the payments first, or void the invoice and issue a new one. See [Invoice lifecycle](/docs/v2/invoices/overview#invoice-lifecycle).",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["invoice_not_editable"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "description": "The invoice’s current `status`.",
                    "example": "partially_paid"
                  }
                },
                "required": ["status"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorInvoiceNotRemindable": {
        "title": "PublicApiV2ErrorInvoiceNotRemindable",
        "description": "Reminders are for invoices that still owe money and have been sent. See [Invoice lifecycle](/docs/v2/invoices/overview#invoice-lifecycle).",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["invoice_not_remindable"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "description": "The invoice’s current `status`.",
                    "example": "paid"
                  }
                },
                "required": ["status"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorInvoiceNotScheduled": {
        "title": "PublicApiV2ErrorInvoiceNotScheduled",
        "description": "The invoice has already been sent, so it has no send date to change. See [Invoice lifecycle](/docs/v2/invoices/overview#invoice-lifecycle).",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["invoice_not_scheduled"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "description": "The invoice’s current `status`.",
                    "example": "unpaid"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["status"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorInvoiceNotSent": {
        "title": "PublicApiV2ErrorInvoiceNotSent",
        "description": "Payments can only be recorded on sent invoices. Send the invoice first. See [Invoice lifecycle](/docs/v2/invoices/overview#invoice-lifecycle).",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["invoice_not_sent"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorInvoiceNumberTaken": {
        "title": "PublicApiV2ErrorInvoiceNumberTaken",
        "description": "Invoice numbers are unique per legal entity. Pick another number, or leave it out to take the next one.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["invoice_number_taken"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorInvoicePaymentInFlight": {
        "title": "PublicApiV2ErrorInvoicePaymentInFlight",
        "description": "The payer started an ACH debit or card payment that has not settled yet. The invoice cannot change until it does.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["invoice_payment_in_flight"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorInvoiceReminderRecentlySent": {
        "title": "PublicApiV2ErrorInvoiceReminderRecentlySent",
        "description": "One manual reminder goes out per invoice every 24 hours. Automatic reminders keep their own schedule; see `nextReminderAt`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["invoice_reminder_recently_sent"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorInvoiceScheduledInSeries": {
        "title": "PublicApiV2ErrorInvoiceScheduledInSeries",
        "description": "A recurring series always has its next invoice scheduled. Skip that invoice on the series, or cancel the series. See [How a series works](/docs/v2/invoices/recurring-invoices#how-a-series-works).",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["invoice_scheduled_in_series"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorInvoiceSeriesEndBeforeStart": {
        "title": "PublicApiV2ErrorInvoiceSeriesEndBeforeStart",
        "description": "With the change applied, the series would end before it starts.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["invoice_series_end_before_start"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorInvoiceSeriesNotActive": {
        "title": "PublicApiV2ErrorInvoiceSeriesNotActive",
        "description": "Ended and cancelled series issue no more invoices. Create a new series to keep billing the customer. See [How a series works](/docs/v2/invoices/recurring-invoices#how-a-series-works).",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["invoice_series_not_active"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "description": "The series’ current `status`.",
                    "example": "cancelled"
                  }
                },
                "required": ["status"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorInvoiceTotalNotPositive": {
        "title": "PublicApiV2ErrorInvoiceTotalNotPositive",
        "description": "After the discount and tax are applied, the line items must add up to more than zero.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["invoice_total_not_positive"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorInvoiceVoid": {
        "title": "PublicApiV2ErrorInvoiceVoid",
        "description": "A void invoice is final. Issue a new invoice to bill the customer again. See [Invoice lifecycle](/docs/v2/invoices/overview#invoice-lifecycle).",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["invoice_void"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorLastEnabledDimensionValue": {
        "title": "PublicApiV2ErrorLastEnabledDimensionValue",
        "description": "Turning these values off would leave the dimension with nothing to code with.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["last_enabled_dimension_value"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorLineItemAmountRequired": {
        "title": "PublicApiV2ErrorLineItemAmountRequired",
        "description": "A line without an `id` is a new split and needs an `amount`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["line_item_amount_required"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorLineItemAmountsMismatch": {
        "title": "PublicApiV2ErrorLineItemAmountsMismatch",
        "description": "The editable lines of a split must add up to the transaction amount.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["line_item_amounts_mismatch"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "expected": {
                    "type": "string",
                    "description": "The transaction amount.",
                    "example": "$100.00"
                  },
                  "actual": {
                    "type": "string",
                    "description": "What the lines added up to.",
                    "example": "$90.00"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["expected", "actual"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorLineItemAmountZero": {
        "title": "PublicApiV2ErrorLineItemAmountZero",
        "description": "Every editable line must carry a non-zero amount.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["line_item_amount_zero"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorLineItemCurrencyMismatch": {
        "title": "PublicApiV2ErrorLineItemCurrencyMismatch",
        "description": "Line amounts must be in the entry’s currency.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["line_item_currency_mismatch"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "currency": {
                    "type": "string",
                    "description": "The entry’s currency.",
                    "example": "USD"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["currency"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorLineItemLevelDimensionsBillOnly": {
        "title": "PublicApiV2ErrorLineItemLevelDimensionsBillOnly",
        "description": "`lineItemLevelDimensions` only applies to bill entries.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["line_item_level_dimensions_bill_only"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorLineItemTransactionLocked": {
        "title": "PublicApiV2ErrorLineItemTransactionLocked",
        "description": "A line stays with the transaction it was created for.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["line_item_transaction_locked"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorLineItemTransactionRequired": {
        "title": "PublicApiV2ErrorLineItemTransactionRequired",
        "description": "The entry books several transactions (`transactionIds`), so a new line must say which one it belongs to.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["line_item_transaction_required"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorMappingSourceNotAllowed": {
        "title": "PublicApiV2ErrorMappingSourceNotAllowed",
        "description": "This kind of source cannot set this dimension, for example an account on a class.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["mapping_source_not_allowed"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "sourceType": {
                    "type": "string",
                    "description": "The `source.type` sent.",
                    "example": "account"
                  },
                  "dimension": {
                    "type": "string",
                    "description": "The dimension’s name.",
                    "example": "Class"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["sourceType", "dimension"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorMappingValueMismatch": {
        "title": "PublicApiV2ErrorMappingValueMismatch",
        "description": "Custom field dimensions take `customFieldValue`; every other dimension takes `valueId`. `expected` names the one this dimension takes.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["mapping_value_mismatch"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "dimension": {
                    "type": "string",
                    "description": "The dimension’s name.",
                    "example": "Cost Center"
                  },
                  "expected": {
                    "type": "string",
                    "description": "`valueId` or `customFieldValue`, whichever applies.",
                    "example": "customFieldValue"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["dimension", "expected"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorMetalCardsNotEnabled": {
        "title": "PublicApiV2ErrorMetalCardsNotEnabled",
        "description": "Metal designs are not enabled for the legal entity. Order `plastic`, or contact Slash support.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["metal_cards_not_enabled"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorNotAvailable": {
        "title": "PublicApiV2ErrorNotAvailable",
        "description": "Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["not_available"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorNotFound": {
        "title": "PublicApiV2ErrorNotFound",
        "description": "No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["not_found"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorPaymentLinkedToOtherBill": {
        "title": "PublicApiV2ErrorPaymentLinkedToOtherBill",
        "description": "A payment can count toward one bill only. Unlink it from the other bill first.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["payment_linked_to_other_bill"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorPaymentMethodNotAvailable": {
        "title": "PublicApiV2ErrorPaymentMethodNotAvailable",
        "description": "The payment method is not available for the legal entity or for the account receiving the invoice. Global USD accounts do not accept ACH debit.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["payment_method_not_available"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "description": "The payment method type that was refused.",
                    "example": "ach_debit"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["type"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorPdfPageLimit": {
        "title": "PublicApiV2ErrorPdfPageLimit",
        "description": "PDFs can have up to 100 pages.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["pdf_too_many_pages"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorPhysicalCardsNotAvailable": {
        "title": "PublicApiV2ErrorPhysicalCardsNotAvailable",
        "description": "The account’s card program has no physical card stock. Issue a virtual card, or a physical card from another account.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["physical_cards_not_available"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorPrimaryVirtualAccount": {
        "title": "PublicApiV2ErrorPrimaryVirtualAccount",
        "description": "The virtual account is the account's primary one, which cannot be closed or updated.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["primary_virtual_account"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "action": {
                    "type": "string",
                    "description": "What was attempted: `closed` or `updated`.",
                    "example": "closed"
                  }
                },
                "required": ["action"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorRecipientEmailMissing": {
        "title": "PublicApiV2ErrorRecipientEmailMissing",
        "description": "Information requests are emailed to the recipient, and this recipient has no email address.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["recipient_email_missing"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorRecurringPaymentsOnlyNotEnabled": {
        "title": "PublicApiV2ErrorRecurringPaymentsOnlyNotEnabled",
        "description": "Recurring-payments-only cards are an Enterprise feature. Contact Slash sales to enable it.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["recurring_payments_only_not_enabled"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorRoutingNumberBlocked": {
        "title": "PublicApiV2ErrorRoutingNumberBlocked",
        "description": "Slash does not send to this routing number.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["routing_number_blocked"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorRoutingNumberNotFound": {
        "title": "PublicApiV2ErrorRoutingNumberNotFound",
        "description": "The routing number does not belong to any US bank.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["routing_number_not_found"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorShippingAddressUndeliverable": {
        "title": "PublicApiV2ErrorShippingAddressUndeliverable",
        "description": "The carrier cannot deliver to the shipping address. `details.reason` says why: `no_match` (the address was not found), `secondary_required` (an apartment, suite or unit is missing), `international_unverified`, `po_box_express` (express shipping cannot go to a PO box) or `undeliverable` (a line is too long or too short). Correct the address and retry.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["shipping_address_undeliverable"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "reason": {
                    "type": "string",
                    "description": "Why the address was refused.",
                    "example": "no_match"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["reason"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorShippingCountryRestricted": {
        "title": "PublicApiV2ErrorShippingCountryRestricted",
        "description": "Shipping restrictions rule out the destination country. Ship to an address in another country.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["shipping_country_restricted"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "countryCode": {
                    "type": "string",
                    "description": "The destination country.",
                    "example": "RU"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["countryCode"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorTaxDetailsNotOnFile": {
        "title": "PublicApiV2ErrorTaxDetailsNotOnFile",
        "description": "The recipient exists and the credential can view it, but it has no tax details on file. They are filled in when the recipient submits an information request that asks for `tax`, or when someone enters them in the Slash dashboard.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["tax_details_not_on_file"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorToAccountInOtherAccount": {
        "title": "PublicApiV2ErrorToAccountInOtherAccount",
        "description": "A book transfer moves money between virtual accounts of one account, but `toAccount` belongs to a different account than `fromAccount`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["to_account_in_other_account"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorToAccountSameAsFromAccount": {
        "title": "PublicApiV2ErrorToAccountSameAsFromAccount",
        "description": "A book transfer moves money between two virtual accounts, but `toAccount` is the same one as `fromAccount`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["to_account_same_as_from_account"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorTransferCancelWindowPassed": {
        "title": "PublicApiV2ErrorTransferCancelWindowPassed",
        "description": "The transfer is still pending, but it is past the point where it can be canceled.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["transfer_cancel_window_passed"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorTransferCountLimitReached": {
        "title": "PublicApiV2ErrorTransferCountLimitReached",
        "description": "The account has sent as many transfers as its limit allows for the current interval.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["transfer_count_limit_reached"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "interval": {
                    "type": "string",
                    "description": "The interval the limit applies to.",
                    "example": "daily"
                  },
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "required": ["interval"],
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorTransferIpAllowlistRequired": {
        "title": "PublicApiV2ErrorTransferIpAllowlistRequired",
        "description": "The legal entity does not enforce an IP allowlist. Creating or cancelling transfers requires one, and the request must come from an allowlisted IP.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["ip_allowlist_required"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorTransferNotPending": {
        "title": "PublicApiV2ErrorTransferNotPending",
        "description": "The transfer is no longer pending, so it cannot be canceled.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["transfer_not_pending"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorUnauthorized": {
        "title": "PublicApiV2ErrorUnauthorized",
        "description": "API key authentication is missing or invalid.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["unauthorized"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorUnreadablePdf": {
        "title": "PublicApiV2ErrorUnreadablePdf",
        "description": "The file is not a valid PDF, or it is damaged or encrypted.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["unreadable_pdf"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorUnsupportedBeneficiaryName": {
        "title": "PublicApiV2ErrorUnsupportedBeneficiaryName",
        "description": "The beneficiary name has characters banks do not accept.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["unsupported_beneficiary_name"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorUnsupportedCurrency": {
        "title": "PublicApiV2ErrorUnsupportedCurrency",
        "description": "The currency is not an ISO 4217 code Slash can quote.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["unsupported_currency"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorUnsupportedFileType": {
        "title": "PublicApiV2ErrorUnsupportedFileType",
        "description": "Only PDF, PNG and JPEG files are accepted, and only PNG and JPEG for invoice logos. HEIC photos are converted to JPEG on upload.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["unsupported_file_type"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorUsdDoesNotUseFxQuotes": {
        "title": "PublicApiV2ErrorUsdDoesNotUseFxQuotes",
        "description": "The amount is in USD, which international wires send without an FX quote.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["usd_does_not_use_fx_quotes"]
              },
              "details": {
                "type": "object",
                "properties": {
                  "field": {
                    "type": "string",
                    "description": "Dot path of the request field at fault."
                  },
                  "id": {
                    "type": "string",
                    "description": "The identifier that field carried, when it is one."
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorUserApiKeyRequired": {
        "title": "PublicApiV2ErrorUserApiKeyRequired",
        "description": "The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["user_api_key_required"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "PublicApiV2ErrorVirtualAccountClosed": {
        "title": "PublicApiV2ErrorVirtualAccountClosed",
        "description": "The virtual account, or the account it belongs to, is closed.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Error"
          },
          {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": ["virtual_account_closed"]
              },
              "details": {
                "type": "object",
                "properties": {},
                "additionalProperties": false
              }
            },
            "required": ["code", "details"]
          }
        ]
      },
      "account": {
        "title": "Account",
        "description": "A Slash financial product and its user-facing balances. An Account can contain a primary virtual account and additional virtual accounts. API v2 exposes eligible banking products and Global USD; savings, acquiring, and legacy treasury products are omitted. Global USD is readable but cannot source an API v2 transfer.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Account id with the `sa_group_` prefix.",
            "example": "sa_group_primary123"
          },
          "name": {
            "type": "string",
            "description": "Display name.",
            "example": "Slash Platinum"
          },
          "type": {
            "type": "string",
            "description": "Financial product represented by this Account.",
            "enum": [
              "checking",
              "secured_charge_card",
              "unsecured_charge_card",
              "business_debit",
              "global_usd"
            ]
          },
          "status": {
            "type": "string",
            "enum": ["open", "locked", "pending_close", "closed"]
          },
          "currency": {
            "type": "string",
            "pattern": "^[A-Z]{3}$",
            "example": "USD"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number presented to the customer, when applicable."
          },
          "routingNumber": {
            "type": "string",
            "description": "Routing number presented to the customer, when applicable."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "balanceComponents": {
            "type": "array",
            "description": "User-facing balance breakdown. Returned by account retrieval when the credential can view balances.",
            "items": {
              "oneOf": [
                {
                  "title": "Transactional",
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": ["transactional"]
                    },
                    "available": {
                      "$ref": "#/components/schemas/Money"
                    },
                    "posted": {
                      "$ref": "#/components/schemas/Money"
                    }
                  },
                  "required": ["type", "available", "posted"],
                  "additionalProperties": false
                },
                {
                  "title": "Collateral",
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": ["collateral"]
                    },
                    "balance": {
                      "$ref": "#/components/schemas/Money"
                    }
                  },
                  "required": ["type", "balance"],
                  "additionalProperties": false
                },
                {
                  "title": "Credit",
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": ["credit"]
                    },
                    "creditLimit": {
                      "$ref": "#/components/schemas/Money"
                    },
                    "availableToSpend": {
                      "$ref": "#/components/schemas/Money"
                    },
                    "pendingBalance": {
                      "$ref": "#/components/schemas/Money"
                    },
                    "settledBalance": {
                      "$ref": "#/components/schemas/Money"
                    }
                  },
                  "required": [
                    "type",
                    "creditLimit",
                    "availableToSpend",
                    "pendingBalance",
                    "settledBalance"
                  ],
                  "additionalProperties": false
                },
                {
                  "title": "Global USD",
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": ["global_usd"]
                    },
                    "available": {
                      "$ref": "#/components/schemas/Money"
                    },
                    "posted": {
                      "$ref": "#/components/schemas/Money"
                    }
                  },
                  "required": ["type", "available", "posted"],
                  "additionalProperties": false
                }
              ]
            }
          }
        },
        "required": ["id", "name", "type", "status", "currency", "createdAt"],
        "additionalProperties": false
      },
      "pagination-metadata": {
        "title": "PaginationMetadata",
        "type": "object",
        "properties": {
          "nextCursor": {
            "type": "string",
            "description": "Opaque cursor for the next page. Omitted on the final page."
          },
          "count": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of items in this page."
          }
        },
        "required": ["count"],
        "additionalProperties": false
      },
      "transfer-list": {
        "title": "TransferList",
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/transfer"
            }
          },
          "metadata": {
            "$ref": "#/components/schemas/pagination-metadata"
          }
        },
        "required": ["items", "metadata"],
        "additionalProperties": false
      },
      "transfer": {
        "title": "Transfer",
        "description": "A money movement request. One transfer can produce multiple transactions, including source, destination, return, and fee entries.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/transfer-ach"
          },
          {
            "$ref": "#/components/schemas/transfer-wire"
          },
          {
            "$ref": "#/components/schemas/transfer-international-wire"
          },
          {
            "$ref": "#/components/schemas/transfer-realtime"
          },
          {
            "$ref": "#/components/schemas/transfer-book"
          }
        ],
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "ach": "#/components/schemas/transfer-ach",
            "wire": "#/components/schemas/transfer-wire",
            "international_wire": "#/components/schemas/transfer-international-wire",
            "realtime": "#/components/schemas/transfer-realtime",
            "book": "#/components/schemas/transfer-book"
          }
        }
      },
      "transfer-ach": {
        "title": "TransferAch",
        "description": "An ACH transfer or a queued ACH awaiting destination details.",
        "allOf": [
          {
            "$ref": "#/components/schemas/transfer-base"
          },
          {
            "type": "object",
            "properties": {
              "recipientId": {
                "type": "string",
                "description": "Recipient receiving the transfer.",
                "example": "le_c_vendor123"
              },
              "destinationId": {
                "type": "string",
                "description": "Saved destination used for the transfer.",
                "example": "le_contact_destination_bank123"
              },
              "type": {
                "type": "string",
                "enum": ["ach"]
              },
              "status": {
                "$ref": "#/components/schemas/slashfi.models.entity.Transfer.AchStatus.yaml"
              },
              "informationRequestId": {
                "type": "string",
                "description": "Information request backing a queued ACH transfer.",
                "example": "le_c_info_req_vendor123"
              },
              "ach": {
                "type": "object",
                "properties": {
                  "speed": {
                    "type": "string",
                    "enum": ["standard"]
                  },
                  "companyEntryDescription": {
                    "type": "string"
                  },
                  "companyDiscretionaryData": {
                    "type": "string"
                  },
                  "addenda": {
                    "type": "string"
                  },
                  "submitsAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "traceNumber": {
                    "type": "string"
                  },
                  "returnCode": {
                    "type": "string"
                  },
                  "returnReason": {
                    "type": "string"
                  }
                },
                "required": ["speed"],
                "additionalProperties": false
              }
            },
            "required": ["type", "status", "ach"]
          }
        ]
      },
      "transfer-base": {
        "title": "TransferBase",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Transfer id with the `transfer_intent_` prefix.",
            "example": "transfer_intent_2rj4l7hmrrrcv"
          },
          "accountId": {
            "type": "string",
            "description": "Account containing the source balance.",
            "example": "sa_group_primary123"
          },
          "fromAccount": {
            "type": "string",
            "description": "Source virtual-account id, when the transfer is scoped to one.",
            "example": "subaccount_operations123"
          },
          "amount": {
            "$ref": "#/components/schemas/Money"
          },
          "description": {
            "type": "string",
            "description": "Human-readable private transfer memo.",
            "example": "Invoice 1042"
          },
          "statementDescriptor": {
            "type": "string",
            "description": "Statement or network descriptor supplied when the transfer was created.",
            "example": "VENDOR PAYMENT"
          },
          "billId": {
            "type": "string",
            "description": "Bill this transfer pays, when it was linked to one, with the `bill_` prefix. Set from `billId` at creation or by `POST /v2/bills/{billId}/payments`. Absent when your key can't see that bill.",
            "example": "bill_2rj4l7hmrrrcv"
          },
          "transactionIds": {
            "type": "array",
            "description": "Transaction ids produced by this transfer.",
            "items": {
              "type": "string",
              "description": "Transaction id with the `agg_tx_` prefix.",
              "example": "agg_tx_2rj4l7hmrrrcv"
            }
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Time the transfer was created."
          },
          "submittedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Time the transfer was submitted for processing."
          },
          "settledAt": {
            "type": "string",
            "format": "date-time",
            "description": "Time the transfer settled."
          },
          "failedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Time the transfer failed."
          },
          "canceledAt": {
            "type": "string",
            "format": "date-time",
            "description": "Time the transfer was canceled."
          }
        },
        "required": ["id", "accountId", "amount", "transactionIds", "createdAt"]
      },
      "slashfi.models.entity.Transfer.AchStatus.yaml": {
        "type": "string",
        "description": "Lifecycle state of an ACH transfer.",
        "enum": [
          "pending",
          "pending_destination",
          "pending_approval",
          "in_review",
          "scheduled",
          "canceled",
          "failed",
          "settled",
          "returned"
        ],
        "title": "AchStatus"
      },
      "transfer-wire": {
        "title": "TransferWire",
        "description": "A domestic wire transfer, or a queued wire awaiting destination details.",
        "allOf": [
          {
            "$ref": "#/components/schemas/transfer-base"
          },
          {
            "type": "object",
            "properties": {
              "recipientId": {
                "type": "string",
                "description": "Recipient receiving the transfer.",
                "example": "le_c_vendor123"
              },
              "destinationId": {
                "type": "string",
                "description": "Saved destination used for the transfer.",
                "example": "le_contact_destination_bank123"
              },
              "type": {
                "type": "string",
                "enum": ["wire"]
              },
              "status": {
                "$ref": "#/components/schemas/slashfi.models.entity.Transfer.WireStatus.yaml"
              },
              "informationRequestId": {
                "type": "string",
                "description": "Information request backing a queued wire transfer.",
                "example": "le_c_info_req_vendor123"
              },
              "wire": {
                "type": "object",
                "properties": {
                  "imad": {
                    "type": "string"
                  },
                  "omad": {
                    "type": "string"
                  },
                  "returnReason": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["type", "status", "wire"]
          }
        ]
      },
      "slashfi.models.entity.Transfer.WireStatus.yaml": {
        "type": "string",
        "description": "Lifecycle state of a domestic or international wire transfer.",
        "enum": [
          "pending",
          "pending_destination",
          "pending_approval",
          "in_review",
          "scheduled",
          "canceled",
          "failed",
          "settled",
          "returned"
        ],
        "title": "WireStatus"
      },
      "transfer-international-wire": {
        "title": "TransferInternationalWire",
        "description": "A domestic-currency or foreign-currency international wire.",
        "allOf": [
          {
            "$ref": "#/components/schemas/transfer-base"
          },
          {
            "type": "object",
            "properties": {
              "recipientId": {
                "type": "string",
                "description": "Recipient receiving the transfer.",
                "example": "le_c_vendor123"
              },
              "destinationId": {
                "type": "string",
                "description": "Saved destination used for the transfer.",
                "example": "le_contact_destination_intl123"
              },
              "type": {
                "type": "string",
                "enum": ["international_wire"]
              },
              "status": {
                "$ref": "#/components/schemas/slashfi.models.entity.Transfer.WireStatus.yaml"
              },
              "internationalWire": {
                "type": "object",
                "properties": {
                  "fxQuoteId": {
                    "type": "string"
                  },
                  "purposeCode": {
                    "type": "string"
                  },
                  "remittanceInfo": {
                    "type": "string"
                  },
                  "intermediaryBankBic": {
                    "type": "string"
                  },
                  "uetr": {
                    "type": "string"
                  },
                  "returnReason": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["type", "status", "internationalWire"]
          }
        ]
      },
      "transfer-realtime": {
        "title": "TransferRealtime",
        "description": "An RTP or FedNow transfer, or a queued realtime transfer awaiting destination details.",
        "allOf": [
          {
            "$ref": "#/components/schemas/transfer-base"
          },
          {
            "type": "object",
            "properties": {
              "recipientId": {
                "type": "string",
                "description": "Recipient receiving the transfer.",
                "example": "le_c_vendor123"
              },
              "destinationId": {
                "type": "string",
                "description": "Saved destination used for the transfer.",
                "example": "le_contact_destination_bank123"
              },
              "type": {
                "type": "string",
                "enum": ["realtime"]
              },
              "status": {
                "$ref": "#/components/schemas/slashfi.models.entity.Transfer.RealtimeStatus.yaml"
              },
              "informationRequestId": {
                "type": "string",
                "description": "Information request backing a queued realtime transfer.",
                "example": "le_c_info_req_vendor123"
              },
              "realtime": {
                "type": "object",
                "properties": {
                  "remittanceInfo": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["type", "status", "realtime"]
          }
        ]
      },
      "slashfi.models.entity.Transfer.RealtimeStatus.yaml": {
        "type": "string",
        "description": "Lifecycle state of a realtime (RTP/FedNow) transfer.",
        "enum": [
          "pending",
          "pending_destination",
          "pending_approval",
          "in_review",
          "scheduled",
          "canceled",
          "failed",
          "settled"
        ],
        "title": "RealtimeStatus"
      },
      "transfer-book": {
        "title": "TransferBook",
        "description": "A transfer between Slash balances in the same Account.",
        "allOf": [
          {
            "$ref": "#/components/schemas/transfer-base"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["book"]
              },
              "status": {
                "$ref": "#/components/schemas/slashfi.models.entity.Transfer.BookStatus.yaml"
              },
              "toAccount": {
                "type": "string",
                "description": "Destination virtual-account id.",
                "example": "subaccount_payroll123"
              }
            },
            "required": ["type", "status"]
          }
        ]
      },
      "slashfi.models.entity.Transfer.BookStatus.yaml": {
        "type": "string",
        "description": "Lifecycle state of a book transfer between Slash balances.",
        "enum": [
          "pending",
          "scheduled",
          "in_review",
          "canceled",
          "failed",
          "settled"
        ],
        "title": "BookStatus"
      },
      "slashfi.models.entity.Transfer.Type.yaml": {
        "type": "string",
        "description": "Payment rail of a transfer.",
        "enum": ["ach", "wire", "international_wire", "realtime", "book"],
        "title": "Type"
      },
      "slashfi.models.entity.Transfer.Status.yaml": {
        "type": "string",
        "description": "Lifecycle state across every transfer rail.",
        "enum": [
          "pending",
          "pending_destination",
          "pending_approval",
          "in_review",
          "scheduled",
          "canceled",
          "failed",
          "settled",
          "returned"
        ],
        "title": "Status"
      },
      "transfer-list-ach": {
        "title": "TransferListAch",
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/transfer-ach"
            }
          },
          "metadata": {
            "$ref": "#/components/schemas/pagination-metadata"
          }
        },
        "required": ["items", "metadata"],
        "additionalProperties": false
      },
      "transfer-create-ach": {
        "title": "TransferCreateAch",
        "description": "Send USD to a saved US bank-account destination, or queue the transfer against an information request while awaiting the recipient's bank details. Provide exactly one of `destinationId` or `informationRequestId`.",
        "type": "object",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/UsdMoney"
          },
          "fromAccount": {
            "type": "string",
            "description": "Source virtual-account id with the `subaccount_` prefix.",
            "example": "subaccount_source123"
          },
          "destinationId": {
            "type": "string",
            "description": "Saved US bank-account destination. Mutually exclusive with `informationRequestId`.",
            "example": "le_contact_destination_bank123"
          },
          "informationRequestId": {
            "type": "string",
            "description": "Information request used to queue the transfer until the recipient supplies a US bank account. Mutually exclusive with `destinationId`.",
            "example": "le_c_info_req_vendor123"
          },
          "description": {
            "type": "string",
            "maxLength": 100,
            "description": "Human-readable private transfer memo.",
            "example": "Invoice 1042"
          },
          "billId": {
            "type": "string",
            "description": "Bill this transfer pays, with the `bill_` prefix. The transfer is linked to the bill as a payment and the bill's status follows it. The bill must be on the same legal entity and accept a new payment. Not accepted with `informationRequestId`: link the payment with `POST /v2/bills/{billId}/payments` once the transfer has a destination.",
            "example": "bill_2rj4l7hmrrrcv"
          },
          "ach": {
            "type": "object",
            "properties": {
              "speed": {
                "type": "string",
                "enum": ["standard"]
              },
              "companyEntryDescription": {
                "type": "string",
                "maxLength": 10,
                "description": "Optional NACHA company entry description (10 characters max)."
              },
              "companyDiscretionaryData": {
                "type": "string",
                "maxLength": 20,
                "description": "Optional NACHA company discretionary data (20 characters max)."
              },
              "addenda": {
                "type": "string",
                "maxLength": 80,
                "description": "Optional ACH addenda text (80 characters max)."
              }
            },
            "required": ["speed"],
            "additionalProperties": false
          }
        },
        "required": ["amount", "fromAccount", "ach"],
        "additionalProperties": false
      },
      "transfer-list-wire": {
        "title": "TransferListWire",
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/transfer-wire"
            }
          },
          "metadata": {
            "$ref": "#/components/schemas/pagination-metadata"
          }
        },
        "required": ["items", "metadata"],
        "additionalProperties": false
      },
      "transfer-create-wire": {
        "title": "TransferCreateWire",
        "description": "Send USD to a saved US bank-account destination by domestic wire, or queue the transfer against an information request while awaiting the recipient's bank details. Provide exactly one of `destinationId` or `informationRequestId`.",
        "type": "object",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/UsdMoney"
          },
          "fromAccount": {
            "type": "string",
            "description": "Source virtual-account id with the `subaccount_` prefix.",
            "example": "subaccount_source123"
          },
          "destinationId": {
            "type": "string",
            "description": "Saved US bank-account destination. Mutually exclusive with `informationRequestId`.",
            "example": "le_contact_destination_bank123"
          },
          "informationRequestId": {
            "type": "string",
            "description": "Information request used to queue the transfer until the recipient supplies a US bank account. Mutually exclusive with `destinationId`.",
            "example": "le_c_info_req_vendor123"
          },
          "description": {
            "type": "string",
            "maxLength": 100,
            "description": "Human-readable private transfer memo.",
            "example": "Invoice 1042"
          },
          "billId": {
            "type": "string",
            "description": "Bill this transfer pays, with the `bill_` prefix. The transfer is linked to the bill as a payment and the bill's status follows it. The bill must be on the same legal entity and accept a new payment.",
            "example": "bill_2rj4l7hmrrrcv"
          },
          "statementDescriptor": {
            "type": "string",
            "maxLength": 140,
            "description": "Optional statement text."
          }
        },
        "required": ["amount", "fromAccount"],
        "additionalProperties": false
      },
      "transfer-list-international-wire": {
        "title": "TransferListInternationalWire",
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/transfer-international-wire"
            }
          },
          "metadata": {
            "$ref": "#/components/schemas/pagination-metadata"
          }
        },
        "required": ["items", "metadata"],
        "additionalProperties": false
      },
      "transfer-create-international-wire": {
        "title": "TransferCreateInternationalWire",
        "description": "Send USD or a supported foreign currency to an international destination.",
        "type": "object",
        "properties": {
          "amount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveMoney"
              }
            ],
            "description": "Exact amount the beneficiary receives. A non-USD amount requires a matching `internationalWire.fxQuoteId`."
          },
          "fromAccount": {
            "type": "string",
            "description": "Source virtual-account id with the `subaccount_` prefix.",
            "example": "subaccount_source123"
          },
          "destinationId": {
            "type": "string",
            "description": "Saved international-wire destination.",
            "example": "le_contact_destination_intl123"
          },
          "description": {
            "type": "string",
            "maxLength": 100,
            "description": "Human-readable private transfer memo.",
            "example": "International invoice 1042"
          },
          "billId": {
            "type": "string",
            "description": "Bill this transfer pays, with the `bill_` prefix. The transfer is linked to the bill as a payment and the bill's status follows it. The bill must be on the same legal entity and accept a new payment.",
            "example": "bill_2rj4l7hmrrrcv"
          },
          "internationalWire": {
            "type": "object",
            "properties": {
              "fxQuoteId": {
                "type": "string",
                "description": "Unexpired FX quote matching `amount`. Required when the currency is not USD and forbidden when it is USD.",
                "example": "fx_rate_quote_123"
              },
              "purposeCode": {
                "type": "string",
                "minLength": 1,
                "description": "Purpose code required by the destination rail.",
                "example": "GDDS"
              },
              "remittanceInfo": {
                "type": "string",
                "maxLength": 140,
                "description": "Optional remittance information shown to the beneficiary."
              },
              "intermediaryBankBic": {
                "type": "string",
                "description": "Optional BIC for an intermediary bank."
              }
            },
            "required": ["purposeCode"],
            "additionalProperties": false
          }
        },
        "required": [
          "amount",
          "fromAccount",
          "destinationId",
          "internationalWire"
        ],
        "additionalProperties": false
      },
      "transfer-list-realtime": {
        "title": "TransferListRealtime",
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/transfer-realtime"
            }
          },
          "metadata": {
            "$ref": "#/components/schemas/pagination-metadata"
          }
        },
        "required": ["items", "metadata"],
        "additionalProperties": false
      },
      "transfer-create-realtime": {
        "title": "TransferCreateRealtime",
        "description": "Send USD to a saved RTP- or FedNow-capable destination, or queue the transfer against an information request while awaiting the recipient's bank details. Provide exactly one of `destinationId` or `informationRequestId`.",
        "type": "object",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/UsdMoney"
          },
          "fromAccount": {
            "type": "string",
            "description": "Source virtual-account id with the `subaccount_` prefix.",
            "example": "subaccount_source123"
          },
          "destinationId": {
            "type": "string",
            "description": "Saved RTP- or FedNow-capable destination. Mutually exclusive with `informationRequestId`.",
            "example": "le_contact_destination_bank123"
          },
          "informationRequestId": {
            "type": "string",
            "description": "Information request used to queue the transfer until the recipient supplies a US bank account. Mutually exclusive with `destinationId`.",
            "example": "le_c_info_req_vendor123"
          },
          "description": {
            "type": "string",
            "maxLength": 100,
            "description": "Human-readable private transfer memo.",
            "example": "Invoice 1042"
          },
          "billId": {
            "type": "string",
            "description": "Bill this transfer pays, with the `bill_` prefix. The transfer is linked to the bill as a payment and the bill's status follows it. The bill must be on the same legal entity and accept a new payment.",
            "example": "bill_2rj4l7hmrrrcv"
          },
          "realtime": {
            "type": "object",
            "properties": {
              "remittanceInfo": {
                "type": "string",
                "maxLength": 140,
                "description": "Optional network remittance information."
              }
            },
            "additionalProperties": false
          }
        },
        "required": ["amount", "fromAccount", "realtime"],
        "additionalProperties": false
      },
      "transfer-list-book": {
        "title": "TransferListBook",
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/transfer-book"
            }
          },
          "metadata": {
            "$ref": "#/components/schemas/pagination-metadata"
          }
        },
        "required": ["items", "metadata"],
        "additionalProperties": false
      },
      "transfer-create-book": {
        "title": "TransferCreateBook",
        "description": "Move USD between virtual accounts in the same Account.",
        "type": "object",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/UsdMoney"
          },
          "fromAccount": {
            "type": "string",
            "description": "Source virtual-account id with the `subaccount_` prefix.",
            "example": "subaccount_source123"
          },
          "toAccount": {
            "type": "string",
            "description": "Destination virtual-account id in the same Account.",
            "example": "subaccount_destination123"
          },
          "description": {
            "type": "string",
            "maxLength": 100,
            "description": "Human-readable private transfer memo.",
            "example": "Move funds to payroll"
          }
        },
        "required": ["amount", "fromAccount", "toAccount"],
        "additionalProperties": false
      },
      "fx-quote": {
        "title": "FxQuote",
        "description": "A time-limited USD price for an exact foreign-currency amount.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "FX quote id with the `fx_rate_quote_` prefix."
          },
          "status": {
            "type": "string",
            "enum": ["pending", "available", "expired", "used", "canceled"]
          },
          "amount": {
            "$ref": "#/components/schemas/PositiveMoney"
          },
          "estimatedDebit": {
            "$ref": "#/components/schemas/UsdMoney"
          },
          "exchangeRate": {
            "type": "string",
            "description": "Foreign currency units received per USD, including the FX fee."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "description": "Exact expiration time. Quotes are typically valid for about 15 minutes; clients must treat this timestamp as authoritative."
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "status",
          "amount",
          "estimatedDebit",
          "exchangeRate",
          "createdAt",
          "expiresAt",
          "updatedAt"
        ],
        "additionalProperties": false
      },
      "fx-quote-create": {
        "title": "FxQuoteCreate",
        "description": "An exact foreign-currency amount to quote from a source virtual account.",
        "type": "object",
        "properties": {
          "fromAccount": {
            "type": "string",
            "description": "Source virtual-account id with the `subaccount_` prefix."
          },
          "amount": {
            "$ref": "#/components/schemas/PositiveMoney"
          }
        },
        "required": ["fromAccount", "amount"],
        "additionalProperties": false
      },
      "transaction": {
        "title": "Transaction",
        "description": "A signed account impact. Every transaction includes the common fields below.\nThe required `category` property identifies the transaction type and tells\nyou which payment or network fields may appear under `details`.\n\nThis is the response model for transaction listing, transaction retrieval,\nand transaction note updates.\n",
        "oneOf": [
          {
            "$ref": "#/components/schemas/transaction-card"
          },
          {
            "$ref": "#/components/schemas/transaction-ach"
          },
          {
            "$ref": "#/components/schemas/transaction-wire"
          },
          {
            "$ref": "#/components/schemas/transaction-international-wire"
          },
          {
            "$ref": "#/components/schemas/transaction-realtime"
          },
          {
            "$ref": "#/components/schemas/transaction-book"
          },
          {
            "$ref": "#/components/schemas/transaction-fee"
          },
          {
            "$ref": "#/components/schemas/transaction-check"
          },
          {
            "$ref": "#/components/schemas/transaction-crypto"
          },
          {
            "$ref": "#/components/schemas/transaction-treasury"
          },
          {
            "$ref": "#/components/schemas/transaction-other"
          }
        ],
        "discriminator": {
          "propertyName": "category",
          "mapping": {
            "card": "#/components/schemas/transaction-card",
            "ach": "#/components/schemas/transaction-ach",
            "wire": "#/components/schemas/transaction-wire",
            "international_wire": "#/components/schemas/transaction-international-wire",
            "realtime": "#/components/schemas/transaction-realtime",
            "book": "#/components/schemas/transaction-book",
            "fee": "#/components/schemas/transaction-fee",
            "check": "#/components/schemas/transaction-check",
            "crypto": "#/components/schemas/transaction-crypto",
            "treasury": "#/components/schemas/transaction-treasury",
            "other": "#/components/schemas/transaction-other"
          }
        }
      },
      "transaction-card": {
        "title": "TransactionCard",
        "description": "Card activity with merchant and authorization data in `details`. This is the\ncard variant of the unified Transaction model: `category` is always `card`\nand `detailedStatus` is limited to card lifecycle states.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/transaction-base"
          },
          {
            "type": "object",
            "properties": {
              "category": {
                "type": "string",
                "enum": ["card"]
              },
              "detailedStatus": {
                "$ref": "#/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.CardDetailedStatus.yaml"
              },
              "details": {
                "type": "object",
                "description": "Card, merchant, and authorization data for a card transaction.",
                "properties": {
                  "cardId": {
                    "type": "string"
                  },
                  "merchant": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "The merchant's id, with the `merchant_v2_` prefix. Use it as a `merchant` source in `PUT /v2/accounting/mappings` to code every transaction at this merchant the same way. Absent while the merchant is still being identified.",
                        "example": "merchant_v2_2rj4l7hmrrrcv"
                      },
                      "description": {
                        "type": "string"
                      },
                      "categoryCode": {
                        "type": "string",
                        "description": "The merchant category code (MCC) the network reported."
                      },
                      "categoryId": {
                        "type": "string",
                        "description": "The Slash merchant category the `categoryCode` falls in, with the `merchant_category_` prefix. Use it as a `merchant_category` source in `PUT /v2/accounting/mappings` to code every transaction in the category the same way. Absent when the code is not in any category.",
                        "example": "merchant_category_2rj4l7hmrrrcv"
                      },
                      "location": {
                        "type": "object",
                        "properties": {
                          "city": {
                            "type": "string"
                          },
                          "state": {
                            "type": "string"
                          },
                          "country": {
                            "type": "string"
                          },
                          "zip": {
                            "type": "string"
                          }
                        },
                        "required": ["city", "state", "country", "zip"],
                        "additionalProperties": false
                      }
                    },
                    "required": ["description", "categoryCode"],
                    "additionalProperties": false
                  },
                  "orderId": {
                    "type": "string"
                  },
                  "referenceNumber": {
                    "type": "string"
                  },
                  "authorizedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "declineReason": {
                    "type": "string"
                  },
                  "approvalReason": {
                    "type": "string"
                  },
                  "providerAuthorizationId": {
                    "type": "string"
                  },
                  "cashback": {
                    "type": "object",
                    "properties": {
                      "amountCents": {
                        "type": "integer",
                        "description": "Cashback earned, in cents."
                      },
                      "rate": {
                        "type": "number"
                      }
                    },
                    "required": ["amountCents", "rate"],
                    "additionalProperties": false
                  },
                  "fxFee": {
                    "type": "object",
                    "properties": {
                      "amountCents": {
                        "type": "integer",
                        "description": "Foreign transaction fee charged, in cents."
                      }
                    },
                    "required": ["amountCents"],
                    "additionalProperties": false
                  }
                },
                "additionalProperties": false
              }
            },
            "required": ["category", "detailedStatus"]
          }
        ]
      },
      "transaction-base": {
        "title": "TransactionBase",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Transaction id.",
            "example": "agg_tx_2rj4l7hmrrrcv"
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "description": "Posting date, or creation date while pending or failed.",
            "example": "2026-08-18T01:00:00.000Z"
          },
          "description": {
            "type": "string",
            "description": "Statement descriptor when one was supplied; otherwise a Slash-generated display description.",
            "example": "VENDOR PAYMENT"
          },
          "memo": {
            "type": "string",
            "description": "Human-readable payment memo, when present. For transfers, this is the request's top-level `description`.",
            "example": "Invoice 1042"
          },
          "note": {
            "type": "string",
            "description": "User-editable private note, when present.",
            "example": "Reconciled with invoice 1042"
          },
          "amountCents": {
            "type": "integer",
            "description": "Signed USD account impact in cents. Debits are negative.",
            "example": -1250
          },
          "status": {
            "$ref": "#/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.Status.yaml"
          },
          "accountId": {
            "type": "string",
            "description": "Account containing the transaction.",
            "example": "sa_group_primary123"
          },
          "virtualAccountId": {
            "type": "string",
            "description": "Virtual account containing the transaction, when applicable.",
            "example": "subaccount_operations123"
          },
          "accountSubtype": {
            "type": "string",
            "description": "Balance type affected by the transaction.",
            "enum": ["cash", "credit"],
            "example": "cash"
          },
          "transferId": {
            "type": "string",
            "description": "The transfer that produced this transaction, if any. Uses the `transfer_intent_` prefix.",
            "example": "transfer_intent_2rj4l7hmrrrcv"
          },
          "accountingEntryId": {
            "type": "string",
            "description": "The accounting entry created for this transaction once it settled, if the legal entity has an accounting connection. Read it at `GET /v2/accounting/entries/{entryId}`.",
            "example": "accounting_entry_2rj4l7hmrrrcv"
          },
          "originalCurrency": {
            "type": "object",
            "description": "Original currency details when the transaction was converted. Despite the historical `amountCents` field name, the amount uses the original currency's native minor unit.",
            "properties": {
              "code": {
                "type": "string"
              },
              "amountCents": {
                "type": "number",
                "description": "Amount in the original currency's native minor unit."
              },
              "conversionRate": {
                "type": "number"
              }
            },
            "required": ["code", "amountCents"],
            "additionalProperties": false
          }
        },
        "required": [
          "id",
          "date",
          "description",
          "amountCents",
          "status",
          "accountId",
          "accountSubtype"
        ]
      },
      "slashfi.models.entity.PublicApiV2.Transaction.Status.yaml": {
        "type": "string",
        "description": "Coarse transaction state.",
        "enum": ["pending", "posted", "failed"],
        "title": "Status"
      },
      "slashfi.models.entity.PublicApiV2.Transaction.CardDetailedStatus.yaml": {
        "type": "string",
        "description": "Exact lifecycle state of a card transaction.",
        "enum": [
          "pending",
          "canceled",
          "failed",
          "settled",
          "declined",
          "refund",
          "reversed",
          "dispute"
        ],
        "title": "CardDetailedStatus"
      },
      "transaction-ach": {
        "title": "TransactionAch",
        "description": "ACH activity with network data in `details`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/transaction-base"
          },
          {
            "type": "object",
            "properties": {
              "category": {
                "type": "string",
                "enum": ["ach"]
              },
              "detailedStatus": {
                "$ref": "#/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.AchDetailedStatus.yaml"
              },
              "details": {
                "$ref": "#/components/schemas/transaction-details-ach"
              }
            },
            "required": ["category", "detailedStatus"]
          }
        ]
      },
      "slashfi.models.entity.PublicApiV2.Transaction.AchDetailedStatus.yaml": {
        "type": "string",
        "description": "Exact lifecycle state of an ACH transaction.",
        "enum": [
          "pending",
          "pending_destination",
          "pending_approval",
          "in_review",
          "scheduled",
          "canceled",
          "failed",
          "settled",
          "reversed",
          "returned"
        ],
        "title": "AchDetailedStatus"
      },
      "transaction-details-ach": {
        "title": "TransactionDetailsAch",
        "type": "object",
        "description": "ACH network and counterparty data. Network fields are always present and empty until the entry has been submitted to the network, e.g. while `detailedStatus` is `pending_destination`.",
        "properties": {
          "counterpartyBank": {
            "type": "string"
          },
          "recipientId": {
            "type": "string",
            "description": "Recipient awaiting payment details for a queued ACH transfer."
          },
          "informationRequestId": {
            "type": "string",
            "description": "Information request backing a queued ACH transfer while `detailedStatus` is `pending_destination`."
          },
          "receiverId": {
            "type": "string"
          },
          "companyId": {
            "type": "string"
          },
          "companyDiscretionaryData": {
            "type": "string"
          },
          "companyEntryDescription": {
            "type": "string"
          },
          "traceNumber": {
            "type": "string"
          },
          "entryClassCode": {
            "type": "string"
          },
          "paymentRelatedInfo": {
            "type": "string"
          }
        },
        "required": [
          "receiverId",
          "companyId",
          "companyDiscretionaryData",
          "traceNumber",
          "entryClassCode",
          "paymentRelatedInfo"
        ],
        "additionalProperties": false
      },
      "transaction-wire": {
        "title": "TransactionWire",
        "description": "Domestic wire activity with network data in `details`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/transaction-base"
          },
          {
            "type": "object",
            "properties": {
              "category": {
                "type": "string",
                "enum": ["wire"]
              },
              "detailedStatus": {
                "$ref": "#/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.WireDetailedStatus.yaml"
              },
              "details": {
                "$ref": "#/components/schemas/transaction-details-wire"
              }
            },
            "required": ["category", "detailedStatus"]
          }
        ]
      },
      "slashfi.models.entity.PublicApiV2.Transaction.WireDetailedStatus.yaml": {
        "type": "string",
        "description": "Exact lifecycle state of a wire transaction.",
        "enum": [
          "pending",
          "pending_destination",
          "pending_approval",
          "in_review",
          "scheduled",
          "canceled",
          "failed",
          "settled",
          "reversed",
          "returned"
        ],
        "title": "WireDetailedStatus"
      },
      "transaction-details-wire": {
        "title": "TransactionDetailsWire",
        "type": "object",
        "description": "Domestic or international wire network data. Network fields are always present and empty until the wire has been submitted to the bank, e.g. while `detailedStatus` is `pending_destination`.",
        "properties": {
          "counterpartyBank": {
            "type": "string"
          },
          "recipientId": {
            "type": "string",
            "description": "Recipient awaiting payment details for a queued wire transfer."
          },
          "informationRequestId": {
            "type": "string",
            "description": "Information request backing a queued wire transfer while `detailedStatus` is `pending_destination`."
          },
          "typeCode": {
            "type": "string"
          },
          "subtypeCode": {
            "type": "string"
          },
          "omad": {
            "type": "string"
          },
          "imad": {
            "type": "string"
          },
          "senderReference": {
            "type": "string"
          },
          "messageFromSender": {
            "type": "string",
            "description": "Free-text message the originator sent to the beneficiary (Fedwire originator-to-beneficiary information, or SWIFT remittance information). Omitted when the sender did not include one."
          },
          "businessFunctionCode": {
            "type": "string"
          }
        },
        "required": [
          "typeCode",
          "subtypeCode",
          "omad",
          "imad",
          "senderReference",
          "businessFunctionCode"
        ],
        "additionalProperties": false
      },
      "transaction-international-wire": {
        "title": "TransactionInternationalWire",
        "description": "International wire activity with network data in `details`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/transaction-base"
          },
          {
            "type": "object",
            "properties": {
              "category": {
                "type": "string",
                "enum": ["international_wire"]
              },
              "detailedStatus": {
                "$ref": "#/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.WireDetailedStatus.yaml"
              },
              "details": {
                "$ref": "#/components/schemas/transaction-details-wire"
              }
            },
            "required": ["category", "detailedStatus"]
          }
        ]
      },
      "transaction-realtime": {
        "title": "TransactionRealtime",
        "description": "RTP or FedNow activity with network data in `details`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/transaction-base"
          },
          {
            "type": "object",
            "properties": {
              "category": {
                "type": "string",
                "enum": ["realtime"]
              },
              "detailedStatus": {
                "$ref": "#/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.RealtimeDetailedStatus.yaml"
              },
              "details": {
                "$ref": "#/components/schemas/transaction-details-realtime"
              }
            },
            "required": ["category", "detailedStatus"]
          }
        ]
      },
      "slashfi.models.entity.PublicApiV2.Transaction.RealtimeDetailedStatus.yaml": {
        "type": "string",
        "description": "Exact lifecycle state of a realtime transaction.",
        "enum": [
          "pending",
          "pending_destination",
          "pending_approval",
          "in_review",
          "scheduled",
          "canceled",
          "failed",
          "settled"
        ],
        "title": "RealtimeDetailedStatus"
      },
      "transaction-details-realtime": {
        "title": "TransactionDetailsRealtime",
        "type": "object",
        "description": "RTP or FedNow network and counterparty data. Network fields are empty until the payment has been submitted to the network, e.g. while `detailedStatus` is `pending_destination`.",
        "properties": {
          "counterpartyBank": {
            "type": "string"
          },
          "recipientId": {
            "type": "string",
            "description": "Recipient awaiting payment details for a queued realtime transfer."
          },
          "informationRequestId": {
            "type": "string",
            "description": "Information request backing a queued realtime transfer while `detailedStatus` is `pending_destination`."
          },
          "endToEndId": {
            "type": "string"
          },
          "routingNumber": {
            "type": "string"
          },
          "originatorName": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "transaction-book": {
        "title": "TransactionBook",
        "description": "Movement between Slash balances.",
        "allOf": [
          {
            "$ref": "#/components/schemas/transaction-base"
          },
          {
            "type": "object",
            "properties": {
              "category": {
                "type": "string",
                "enum": ["book"]
              },
              "detailedStatus": {
                "$ref": "#/components/schemas/slashfi.models.entity.Transfer.BookStatus.yaml"
              }
            },
            "required": ["category", "detailedStatus"]
          }
        ]
      },
      "transaction-fee": {
        "title": "TransactionFee",
        "description": "A Slash fee with its component charges in `fees`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/transaction-base"
          },
          {
            "type": "object",
            "properties": {
              "category": {
                "type": "string",
                "enum": ["fee"]
              },
              "detailedStatus": {
                "$ref": "#/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.FeeDetailedStatus.yaml"
              },
              "details": {
                "$ref": "#/components/schemas/transaction-details-fee"
              },
              "fees": {
                "type": "array",
                "description": "Component charges that make up this fee transaction.",
                "items": {
                  "$ref": "#/components/schemas/transaction-fee-component"
                }
              }
            },
            "required": ["category", "detailedStatus", "fees"]
          }
        ]
      },
      "slashfi.models.entity.PublicApiV2.Transaction.FeeDetailedStatus.yaml": {
        "type": "string",
        "description": "Exact lifecycle state of a fee transaction.",
        "enum": ["pending", "canceled", "failed", "settled", "returned"],
        "title": "FeeDetailedStatus"
      },
      "transaction-details-fee": {
        "title": "TransactionDetailsFee",
        "type": "object",
        "description": "Relationship between the fee and its originating transaction.",
        "properties": {
          "relatedTransaction": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Transaction id with the `agg_tx_` prefix."
              },
              "amountCents": {
                "type": "integer",
                "description": "Signed USD account impact of the related transaction, in cents."
              }
            },
            "required": ["id", "amountCents"],
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "transaction-fee-component": {
        "title": "TransactionFeeComponent",
        "type": "object",
        "description": "One charge that makes up a fee transaction.",
        "properties": {
          "id": {
            "type": "string"
          },
          "dateCharged": {
            "type": "string",
            "format": "date-time"
          },
          "amountCents": {
            "type": "integer",
            "description": "Signed USD amount of this charge, in cents."
          },
          "type": {
            "type": "string",
            "enum": [
              "foreign_transaction_fees",
              "dormant_card_fees",
              "high_decline_fees",
              "physical_card_fees",
              "transfer_fees",
              "deposit_fees",
              "market_order_fees"
            ]
          },
          "status": {
            "type": "string",
            "enum": ["pending", "completed", "failed", "cancelled"]
          },
          "chargeType": {
            "type": "string",
            "enum": ["flat", "percentage"]
          },
          "sourceAccountId": {
            "type": "string"
          },
          "relatedEntityId": {
            "type": "string"
          },
          "cardId": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "dateCharged",
          "amountCents",
          "type",
          "status",
          "chargeType",
          "sourceAccountId",
          "relatedEntityId"
        ],
        "additionalProperties": false
      },
      "transaction-check": {
        "title": "TransactionCheck",
        "description": "Check payment or deposit activity.",
        "allOf": [
          {
            "$ref": "#/components/schemas/transaction-base"
          },
          {
            "type": "object",
            "properties": {
              "category": {
                "type": "string",
                "enum": ["check"]
              },
              "detailedStatus": {
                "$ref": "#/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.BasicDetailedStatus.yaml"
              }
            },
            "required": ["category", "detailedStatus"]
          }
        ]
      },
      "slashfi.models.entity.PublicApiV2.Transaction.BasicDetailedStatus.yaml": {
        "type": "string",
        "description": "Exact lifecycle state of a check transaction.",
        "enum": ["pending", "canceled", "failed", "settled"],
        "title": "BasicDetailedStatus"
      },
      "transaction-crypto": {
        "title": "TransactionCrypto",
        "description": "On-chain activity with transaction data in `details`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/transaction-base"
          },
          {
            "type": "object",
            "properties": {
              "category": {
                "type": "string",
                "enum": ["crypto"]
              },
              "detailedStatus": {
                "$ref": "#/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.CryptoDetailedStatus.yaml"
              },
              "details": {
                "$ref": "#/components/schemas/transaction-details-crypto"
              }
            },
            "required": ["category", "detailedStatus"]
          }
        ]
      },
      "slashfi.models.entity.PublicApiV2.Transaction.CryptoDetailedStatus.yaml": {
        "type": "string",
        "description": "Exact lifecycle state of a crypto transaction.",
        "enum": [
          "pending",
          "pending_approval",
          "in_review",
          "canceled",
          "failed",
          "settled",
          "refund",
          "reversed",
          "returned"
        ],
        "title": "CryptoDetailedStatus"
      },
      "transaction-details-crypto": {
        "title": "TransactionDetailsCrypto",
        "type": "object",
        "description": "On-chain transaction data.",
        "properties": {
          "txHash": {
            "type": "string"
          },
          "senderAddress": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "transaction-treasury": {
        "title": "TransactionTreasury",
        "description": "Treasury deposit, withdrawal, or internal movement.",
        "allOf": [
          {
            "$ref": "#/components/schemas/transaction-base"
          },
          {
            "type": "object",
            "properties": {
              "category": {
                "type": "string",
                "enum": ["treasury"]
              },
              "detailedStatus": {
                "$ref": "#/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.TreasuryDetailedStatus.yaml"
              }
            },
            "required": ["category", "detailedStatus"]
          }
        ]
      },
      "slashfi.models.entity.PublicApiV2.Transaction.TreasuryDetailedStatus.yaml": {
        "type": "string",
        "description": "Exact lifecycle state of a treasury transaction.",
        "enum": ["pending", "canceled", "failed", "settled", "returned"],
        "title": "TreasuryDetailedStatus"
      },
      "transaction-other": {
        "title": "TransactionOther",
        "description": "Activity that maps to no other category, such as a SEPA, PIX, SPEI, Faster Payments, or Bre-B deposit into a Global USD account. `details` is present for the rails that report network data.",
        "allOf": [
          {
            "$ref": "#/components/schemas/transaction-base"
          },
          {
            "type": "object",
            "properties": {
              "category": {
                "type": "string",
                "enum": ["other"]
              },
              "detailedStatus": {
                "$ref": "#/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.OtherDetailedStatus.yaml"
              },
              "details": {
                "$ref": "#/components/schemas/transaction-details-other-rail"
              }
            },
            "required": ["category", "detailedStatus"]
          }
        ]
      },
      "slashfi.models.entity.PublicApiV2.Transaction.OtherDetailedStatus.yaml": {
        "type": "string",
        "description": "Exact lifecycle state of a transaction that maps to no other category, such as a deposit on another rail (SEPA, PIX, SPEI, Faster Payments, Bre-B).",
        "enum": [
          "pending",
          "pending_approval",
          "in_review",
          "canceled",
          "failed",
          "settled",
          "reversed",
          "returned"
        ],
        "title": "OtherDetailedStatus"
      },
      "transaction-details-other-rail": {
        "title": "TransactionDetailsOtherRail",
        "type": "object",
        "description": "Network data for a SEPA, PIX, SPEI, or Faster Payments deposit into a Global USD account. Counterparty identifiers describe the originator of the deposit, as they appear on the network message.",
        "properties": {
          "type": {
            "type": "string",
            "description": "Network the deposit arrived on.",
            "enum": ["sepa", "pix", "spei", "fps"]
          },
          "senderName": {
            "type": "string",
            "description": "Name of the originator."
          },
          "recipientName": {
            "type": "string",
            "description": "Name of the recipient (SEPA and Faster Payments)."
          },
          "description": {
            "type": "string",
            "description": "Description supplied by the originator (PIX and SPEI)."
          },
          "reference": {
            "type": "string",
            "description": "Free-form reference set by the originator."
          },
          "iban": {
            "type": "string",
            "description": "IBAN of the originator (SEPA)."
          },
          "ibanLast4": {
            "type": "string",
            "description": "Last 4 characters of the originator's IBAN (SEPA)."
          },
          "bic": {
            "type": "string",
            "description": "BIC of the originator's bank (SEPA)."
          },
          "uetr": {
            "type": "string",
            "description": "Unique end-to-end transaction reference (SEPA and Faster Payments)."
          },
          "paymentScheme": {
            "type": "string",
            "description": "SEPA scheme used, e.g. `sepa_credit_transfer` or `sepa_instant`."
          },
          "trackingNumber": {
            "type": "string",
            "description": "Network tracking number (PIX `endToEndId`, SPEI clave de rastreo)."
          },
          "clabe": {
            "type": "string",
            "description": "CLABE of the originator (SPEI)."
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number of the originator (Faster Payments)."
          },
          "last4": {
            "type": "string",
            "description": "Last 4 digits of the originator's account number (Faster Payments)."
          },
          "sortCode": {
            "type": "string",
            "description": "Sort code of the originator's bank (Faster Payments)."
          }
        },
        "required": ["type"],
        "additionalProperties": false
      },
      "transaction-summary": {
        "title": "TransactionSummary",
        "type": "object",
        "description": "Totals over every transaction matching the request's filters, not just the returned page. Present only when `includeSummary=true`.",
        "properties": {
          "count": {
            "type": "integer",
            "description": "Number of matching transactions."
          },
          "totalInCents": {
            "type": "integer",
            "description": "Sum of positive amounts, in cents. Excludes failed, declined, canceled, and reversed transactions and transfers between virtual accounts."
          },
          "totalOutCents": {
            "type": "integer",
            "description": "Sum of negative amounts, in cents, with the same exclusions as `totalInCents`."
          },
          "netChangeCents": {
            "type": "integer",
            "description": "`totalInCents + totalOutCents`."
          }
        },
        "required": [
          "count",
          "totalInCents",
          "totalOutCents",
          "netChangeCents"
        ],
        "additionalProperties": false
      },
      "slashfi.models.entity.PublicApiV2.Transaction.CategoryFilter.yaml": {
        "type": "string",
        "description": "Category filter for listing transactions. `other` is not filterable; those transactions only appear in unfiltered lists.",
        "enum": [
          "card",
          "ach",
          "wire",
          "international_wire",
          "realtime",
          "book",
          "fee",
          "check",
          "crypto",
          "treasury"
        ],
        "title": "CategoryFilter"
      },
      "slashfi.models.entity.PublicApiV2.Transaction.DetailedStatus.yaml": {
        "type": "string",
        "description": "Exact transaction lifecycle state across every category.",
        "enum": [
          "pending",
          "pending_destination",
          "pending_approval",
          "in_review",
          "scheduled",
          "canceled",
          "failed",
          "settled",
          "declined",
          "refund",
          "reversed",
          "returned",
          "dispute"
        ],
        "title": "DetailedStatus"
      },
      "virtual-account": {
        "title": "VirtualAccount",
        "description": "A balance-bearing virtual account. Virtual accounts in eligible bank Accounts can source or receive API v2 transfers; Global USD virtual accounts are readable but cannot be used by the API v2 transfer endpoints.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Virtual account id with the `subaccount_` prefix."
          },
          "name": {
            "type": "string"
          },
          "accountId": {
            "type": "string",
            "description": "Parent Account id with the `sa_group_` prefix."
          },
          "accountType": {
            "type": "string",
            "enum": ["primary", "default"]
          },
          "status": {
            "type": "string",
            "enum": ["open", "closed"]
          },
          "balance": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Money"
              }
            ],
            "description": "Current ledger balance. Zero for a newly created virtual account."
          },
          "commission": {
            "$ref": "#/components/schemas/virtual-account-commission"
          }
        },
        "required": [
          "id",
          "name",
          "accountId",
          "accountType",
          "status",
          "balance"
        ],
        "additionalProperties": false
      },
      "virtual-account-commission": {
        "title": "VirtualAccountCommission",
        "description": "Funds diverted to the Account's primary virtual account.",
        "oneOf": [
          {
            "title": "Flat fee",
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Commission configuration id."
              },
              "type": {
                "type": "string",
                "enum": ["flat_fee"]
              },
              "amount": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UsdMoney"
                  }
                ],
                "description": "Fixed USD amount collected each period."
              },
              "frequency": {
                "type": "string",
                "enum": ["monthly", "yearly"]
              },
              "startsAt": {
                "type": "string",
                "format": "date-time",
                "description": "RFC 3339 date and time when collection begins."
              }
            },
            "required": ["id", "type", "amount", "frequency"],
            "additionalProperties": false
          },
          {
            "title": "Take rate",
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Commission configuration id."
              },
              "type": {
                "type": "string",
                "enum": ["take_rate"]
              },
              "rate": {
                "type": "number",
                "minimum": 0,
                "maximum": 1,
                "description": "Fraction of incoming funds diverted. `0.1` means 10%."
              }
            },
            "required": ["id", "type", "rate"],
            "additionalProperties": false
          }
        ]
      },
      "virtual-account-create": {
        "title": "VirtualAccountCreate",
        "description": "Create a balance-bearing virtual account inside an accessible, non-Global USD bank Account.",
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "description": "Parent non-Global USD bank Account for the new virtual account. This is required even when the legal entity currently has only one Account.",
            "example": "sa_group_primary123"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 70,
            "description": "Display name for the virtual account.",
            "example": "Payroll"
          },
          "commission": {
            "$ref": "#/components/schemas/virtual-account-commission-create"
          }
        },
        "required": ["accountId", "name"],
        "additionalProperties": false
      },
      "virtual-account-commission-create": {
        "title": "VirtualAccountCommissionCreate",
        "description": "Optionally divert funds from this virtual account to its Account's primary virtual account.",
        "oneOf": [
          {
            "title": "Flat fee",
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["flat_fee"]
              },
              "amount": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UsdMoney"
                  }
                ],
                "description": "Fixed USD amount collected each period."
              },
              "frequency": {
                "type": "string",
                "enum": ["monthly", "yearly"]
              },
              "startsAt": {
                "type": "string",
                "format": "date-time",
                "description": "Optional RFC 3339 date and time when collection begins."
              }
            },
            "required": ["type", "amount", "frequency"],
            "additionalProperties": false
          },
          {
            "title": "Take rate",
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["take_rate"]
              },
              "rate": {
                "type": "number",
                "minimum": 0,
                "maximum": 1,
                "description": "Fraction of incoming funds to divert. `0.1` means 10%."
              }
            },
            "required": ["type", "rate"],
            "additionalProperties": false
          }
        ]
      },
      "virtual-account-update": {
        "title": "VirtualAccountUpdate",
        "description": "Fields to change on a virtual account. Omitted fields are left as they are. A virtual account has at most one commission, so `commission` replaces the current one; sending a different `type` switches it.",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 70,
            "description": "New display name for the virtual account.",
            "example": "Payroll (2026)"
          },
          "commission": {
            "$ref": "#/components/schemas/virtual-account-commission-create"
          }
        },
        "additionalProperties": false
      },
      "recipient": {
        "title": "Recipient",
        "description": "A person or business you pay, and the owner of the destinations you pay them at.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Recipient id."
          },
          "name": {
            "type": "string",
            "description": "Display name visible to your organization."
          },
          "recipientType": {
            "type": "string",
            "description": "`contact` is a person (shown as \"Person\" in the Slash dashboard); `vendor` is a business.",
            "enum": ["contact", "vendor"]
          },
          "recipientLegalName": {
            "type": "string"
          },
          "recipientEmail": {
            "type": "string"
          },
          "address": {
            "$ref": "#/components/schemas/address"
          },
          "status": {
            "type": "string",
            "enum": ["active", "archived"]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "archivedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "name",
          "recipientType",
          "recipientLegalName",
          "status",
          "createdAt"
        ],
        "additionalProperties": false
      },
      "address": {
        "title": "Address",
        "type": "object",
        "properties": {
          "line1": {
            "type": "string",
            "minLength": 1
          },
          "line2": {
            "type": "string"
          },
          "city": {
            "type": "string",
            "minLength": 1
          },
          "state": {
            "type": "string"
          },
          "postalCode": {
            "type": "string"
          },
          "countryCode": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "ISO 3166-1 alpha-2 country code."
          }
        },
        "required": ["line1", "city"],
        "additionalProperties": false
      },
      "recipient-create": {
        "title": "RecipientCreate",
        "description": "The person or business you will pay.",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Display name visible to your organization."
          },
          "recipientType": {
            "type": "string",
            "description": "`contact` for a person (shown as \"Person\" in the Slash dashboard), `vendor` for a business.",
            "enum": ["contact", "vendor"]
          },
          "recipientLegalName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "recipientEmail": {
            "type": "string",
            "format": "email"
          },
          "address": {
            "$ref": "#/components/schemas/address"
          }
        },
        "required": ["name", "recipientType", "recipientLegalName"],
        "additionalProperties": false
      },
      "recipient-tax-details": {
        "title": "RecipientTaxDetails",
        "description": "The tax details on file for a recipient. `federalTaxClassification` is set for US recipients only. The taxpayer identification number itself is never returned.",
        "type": "object",
        "properties": {
          "recipientId": {
            "type": "string",
            "description": "The recipient these details belong to."
          },
          "legalName": {
            "type": "string",
            "description": "Legal name as reported for tax purposes."
          },
          "countryCode": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "ISO 3166-1 alpha-2 country of tax residence."
          },
          "federalTaxClassification": {
            "$ref": "#/components/schemas/slashfi.models.enums.FederalTaxClassification.yaml"
          },
          "taxIdType": {
            "type": "string",
            "description": "Kind of taxpayer identification number on file. The number itself is never returned.",
            "enum": ["ssn", "ein", "itin", "foreign_tin"]
          },
          "address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/address"
              }
            ],
            "description": "Address as reported for tax purposes. Can differ from the recipient's `address`."
          },
          "email": {
            "type": "string",
            "description": "Email address for tax correspondence."
          },
          "informationRequestId": {
            "type": "string",
            "description": "Information request the recipient submitted these details through, with the `le_c_info_req_` prefix. Absent when the details were entered in the Slash dashboard."
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When these tax details were last written."
          }
        },
        "required": [
          "recipientId",
          "legalName",
          "countryCode",
          "taxIdType",
          "updatedAt"
        ],
        "additionalProperties": false
      },
      "slashfi.models.enums.FederalTaxClassification.yaml": {
        "description": "Federal tax classification as reported on a W-9.",
        "type": "string",
        "enum": [
          "individual",
          "sole_proprietor",
          "c_corporation",
          "s_corporation",
          "partnership",
          "trust_estate",
          "llc_c",
          "llc_s",
          "llc_partnership",
          "other"
        ],
        "title": "FederalTaxClassification"
      },
      "contact-create": {
        "title": "ContactCreate",
        "description": "The body of the former `POST /v2/contacts`, the same as `POST /v2/recipients`.",
        "allOf": [
          {
            "$ref": "#/components/schemas/recipient-create"
          }
        ]
      },
      "information-request-list": {
        "title": "InformationRequestList",
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/information-request"
            }
          },
          "metadata": {
            "$ref": "#/components/schemas/pagination-metadata"
          }
        },
        "required": ["items", "metadata"],
        "additionalProperties": false
      },
      "information-request": {
        "title": "InformationRequest",
        "description": "A request asking a recipient to securely provide payment, address, or tax details. A requested crypto address is collected through the recipient flow but is not exposed by the API v2 Destination collection.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Information request id."
          },
          "recipientId": {
            "type": "string",
            "description": "The recipient that received the request."
          },
          "status": {
            "type": "string",
            "description": "Current recipient response state.",
            "enum": ["pending", "submitted", "canceled"]
          },
          "requestedInformation": {
            "type": "object",
            "minProperties": 1,
            "description": "Information the recipient may provide through the secure form.",
            "properties": {
              "destinationTypes": {
                "type": "array",
                "minItems": 1,
                "uniqueItems": true,
                "description": "Payment destination types the recipient may add.",
                "items": {
                  "type": "string",
                  "enum": [
                    "bank_account",
                    "international_wire",
                    "crypto_address"
                  ]
                }
              },
              "address": {
                "type": "boolean",
                "description": "Present when the request asks for the recipient's address.",
                "enum": [true]
              },
              "tax": {
                "type": "boolean",
                "description": "Present when the request asks for the recipient's tax details.",
                "enum": [true]
              }
            },
            "additionalProperties": false
          },
          "sentToEmail": {
            "type": "string",
            "format": "email",
            "description": "Email address to which Slash sent the request."
          },
          "ccEmails": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "email"
            }
          },
          "requesterName": {
            "type": "string",
            "description": "Name shown to the recipient in the request email and secure form."
          },
          "note": {
            "type": "string"
          },
          "sentAt": {
            "type": "string",
            "format": "date-time"
          },
          "firstSubmittedAt": {
            "type": "string",
            "format": "date-time"
          },
          "lastSubmittedAt": {
            "type": "string",
            "format": "date-time"
          },
          "canceledAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "recipientId",
          "status",
          "requestedInformation",
          "sentToEmail",
          "ccEmails",
          "requesterName",
          "sentAt",
          "createdAt"
        ],
        "additionalProperties": false
      },
      "information-request-create": {
        "title": "InformationRequestCreate",
        "description": "Ask a recipient to securely provide payment, address, or tax details. Crypto addresses collected through this flow are not exposed as destinations.",
        "type": "object",
        "properties": {
          "recipientId": {
            "type": "string",
            "description": "The recipient to ask."
          },
          "requestedInformation": {
            "type": "object",
            "minProperties": 1,
            "description": "Information the recipient may provide through the secure form.",
            "properties": {
              "destinationTypes": {
                "type": "array",
                "minItems": 1,
                "uniqueItems": true,
                "description": "Payment destination types the recipient may add. Submitted destinations appear in `GET /v2/destinations`.",
                "items": {
                  "type": "string",
                  "enum": [
                    "bank_account",
                    "international_wire",
                    "crypto_address"
                  ]
                }
              },
              "address": {
                "type": "boolean",
                "description": "Ask for the recipient's address. The submitted address replaces the recipient's `address`.",
                "enum": [true]
              },
              "tax": {
                "type": "boolean",
                "description": "Ask for the recipient's tax details: legal name, tax classification, and taxpayer identification number. Read them with `GET /v2/recipients/{recipientId}/tax-details`.",
                "enum": [true]
              }
            },
            "additionalProperties": false
          },
          "requesterName": {
            "type": "string",
            "minLength": 1,
            "description": "Name shown to the recipient in the request email and secure form."
          },
          "ccEmails": {
            "type": "array",
            "uniqueItems": true,
            "items": {
              "type": "string",
              "format": "email"
            }
          },
          "note": {
            "type": "string",
            "description": "Optional message shown to the recipient."
          }
        },
        "required": ["recipientId", "requestedInformation", "requesterName"],
        "additionalProperties": false,
        "example": {
          "recipientId": "le_c_vendor123",
          "requestedInformation": {
            "destinationTypes": ["bank_account"],
            "tax": true
          },
          "requesterName": "Northwind Operations"
        }
      },
      "destination": {
        "title": "Destination",
        "description": "Saved payment instructions belonging to a recipient.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/destination-bank-account"
          },
          {
            "$ref": "#/components/schemas/destination-international-wire"
          }
        ],
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "bank_account": "#/components/schemas/destination-bank-account",
            "international_wire": "#/components/schemas/destination-international-wire"
          }
        }
      },
      "destination-bank-account": {
        "title": "DestinationBankAccount",
        "description": "US routing and account details usable for ACH, wire, or realtime payments.",
        "allOf": [
          {
            "$ref": "#/components/schemas/destination-base"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["bank_account"]
              },
              "bankAccount": {
                "type": "object",
                "properties": {
                  "bankName": {
                    "type": "string"
                  },
                  "accountType": {
                    "type": "string",
                    "enum": ["checking", "savings"]
                  },
                  "accountNumberLastFour": {
                    "type": "string"
                  },
                  "routingNumber": {
                    "type": "string"
                  }
                },
                "required": [
                  "bankName",
                  "accountType",
                  "accountNumberLastFour",
                  "routingNumber"
                ],
                "additionalProperties": false
              }
            },
            "required": ["type", "bankAccount"]
          }
        ]
      },
      "destination-base": {
        "title": "DestinationBase",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Destination id."
          },
          "recipientId": {
            "type": "string",
            "description": "The recipient that owns this destination."
          },
          "name": {
            "type": "string",
            "description": "Display name visible to your organization."
          },
          "status": {
            "type": "string",
            "enum": ["active", "pending", "disabled", "archived"]
          },
          "supportedTransferTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": ["ach", "wire", "realtime", "international_wire"]
            }
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "archivedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "recipientId",
          "name",
          "status",
          "supportedTransferTypes",
          "createdAt",
          "updatedAt"
        ]
      },
      "destination-international-wire": {
        "title": "DestinationInternationalWire",
        "description": "SWIFT beneficiary details usable for international wire payments.",
        "allOf": [
          {
            "$ref": "#/components/schemas/destination-base"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["international_wire"]
              },
              "internationalWire": {
                "type": "object",
                "properties": {
                  "beneficiaryName": {
                    "type": "string"
                  },
                  "accountType": {
                    "type": "string",
                    "enum": ["checking", "savings"]
                  },
                  "accountNumberLastFour": {
                    "type": "string"
                  },
                  "swiftBic": {
                    "type": "string"
                  },
                  "bankCountryCode": {
                    "type": "string"
                  },
                  "localBankCode": {
                    "type": "string"
                  },
                  "localAccountNumberLastFour": {
                    "type": "string"
                  }
                },
                "required": [
                  "beneficiaryName",
                  "accountType",
                  "accountNumberLastFour",
                  "swiftBic"
                ],
                "additionalProperties": false
              }
            },
            "required": ["type", "internationalWire"]
          }
        ]
      },
      "destination-create": {
        "title": "DestinationCreate",
        "description": "Bank instructions to save on a recipient.",
        "oneOf": [
          {
            "title": "US bank account",
            "description": "Save US routing and account details for ACH, wire, or realtime payments.",
            "type": "object",
            "properties": {
              "recipientId": {
                "type": "string",
                "description": "The recipient to save the destination on."
              },
              "type": {
                "type": "string",
                "enum": ["bank_account"]
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 127,
                "description": "Your label for the destination."
              },
              "accountNumber": {
                "type": "string",
                "minLength": 1,
                "maxLength": 34
              },
              "routingNumber": {
                "type": "string",
                "pattern": "^[0-9]{9}$"
              },
              "accountType": {
                "type": "string",
                "enum": ["checking", "savings"]
              },
              "beneficiary": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "maxLength": 127
                  },
                  "address": {
                    "$ref": "#/components/schemas/destination-address"
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "phone": {
                    "type": "string",
                    "maxLength": 31
                  }
                },
                "required": ["name", "address"],
                "additionalProperties": false
              }
            },
            "required": [
              "recipientId",
              "type",
              "name",
              "accountNumber",
              "routingNumber",
              "accountType",
              "beneficiary"
            ],
            "additionalProperties": false
          },
          {
            "title": "International bank account",
            "description": "Save SWIFT and beneficiary details for international wires.",
            "type": "object",
            "properties": {
              "recipientId": {
                "type": "string",
                "description": "The recipient to save the destination on."
              },
              "type": {
                "type": "string",
                "enum": ["international_wire"]
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 127,
                "description": "Your label for the destination."
              },
              "accountNumber": {
                "type": "string",
                "minLength": 1,
                "maxLength": 34
              },
              "swiftBic": {
                "type": "string",
                "minLength": 8,
                "maxLength": 11
              },
              "accountType": {
                "type": "string",
                "enum": ["checking", "savings"]
              },
              "beneficiary": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "maxLength": 127,
                    "pattern": "^[A-Za-z0-9 /?:().,'+-]*$",
                    "description": "SWIFT characters only: letters, digits, spaces and `/ - ? : ( ) . , ' +`."
                  },
                  "address": {
                    "type": "object",
                    "description": "Beneficiary address; `countryCode` is required for international wires.",
                    "properties": {
                      "line1": {
                        "type": "string",
                        "minLength": 1,
                        "pattern": "^[A-Za-z0-9\\s.?!,;:_@&/\\\\'\"~()<>$#%+={}*|\\[\\]^-]*$",
                        "description": "Fedwire characters only: letters, digits, spaces and `. ? ! , ; : _ @ & / \\ ' \" ~ ( ) < > $ # % + - = { } * | [ ] ^`."
                      },
                      "line2": {
                        "type": "string",
                        "pattern": "^[A-Za-z0-9\\s.?!,;:_@&/\\\\'\"~()<>$#%+={}*|\\[\\]^-]*$",
                        "description": "Fedwire characters only: letters, digits, spaces and `. ? ! , ; : _ @ & / \\ ' \" ~ ( ) < > $ # % + - = { } * | [ ] ^`."
                      },
                      "city": {
                        "type": "string",
                        "minLength": 1,
                        "pattern": "^[A-Za-z0-9\\s.?!,;:_@&/\\\\'\"~()<>$#%+={}*|\\[\\]^-]*$",
                        "description": "Fedwire characters only: letters, digits, spaces and `. ? ! , ; : _ @ & / \\ ' \" ~ ( ) < > $ # % + - = { } * | [ ] ^`."
                      },
                      "state": {
                        "type": "string",
                        "pattern": "^[A-Za-z0-9\\s.?!,;:_@&/\\\\'\"~()<>$#%+={}*|\\[\\]^-]*$",
                        "description": "Fedwire characters only: letters, digits, spaces and `. ? ! , ; : _ @ & / \\ ' \" ~ ( ) < > $ # % + - = { } * | [ ] ^`."
                      },
                      "postalCode": {
                        "type": "string",
                        "pattern": "^[A-Za-z0-9\\s.?!,;:_@&/\\\\'\"~()<>$#%+={}*|\\[\\]^-]*$",
                        "description": "Fedwire characters only: letters, digits, spaces and `. ? ! , ; : _ @ & / \\ ' \" ~ ( ) < > $ # % + - = { } * | [ ] ^`."
                      },
                      "countryCode": {
                        "type": "string",
                        "minLength": 2,
                        "maxLength": 2,
                        "description": "ISO 3166-1 alpha-2 country code."
                      }
                    },
                    "required": ["line1", "city", "countryCode"],
                    "additionalProperties": false
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "phone": {
                    "type": "string",
                    "maxLength": 31
                  },
                  "legalId": {
                    "type": "string",
                    "maxLength": 127
                  },
                  "legalType": {
                    "type": "string",
                    "enum": [
                      "individual",
                      "business",
                      "non_profit",
                      "sole_proprietor"
                    ]
                  }
                },
                "required": ["name", "address"],
                "additionalProperties": false
              },
              "bankCountryCode": {
                "type": "string",
                "minLength": 2,
                "maxLength": 2
              },
              "localBankCode": {
                "type": "string",
                "maxLength": 63
              },
              "localAccountNumber": {
                "type": "string",
                "maxLength": 63
              }
            },
            "required": [
              "recipientId",
              "type",
              "name",
              "accountNumber",
              "swiftBic",
              "accountType",
              "beneficiary"
            ],
            "additionalProperties": false
          }
        ],
        "discriminator": {
          "propertyName": "type"
        }
      },
      "destination-address": {
        "title": "Destination address",
        "type": "object",
        "properties": {
          "line1": {
            "type": "string",
            "minLength": 1,
            "pattern": "^[A-Za-z0-9\\s.?!,;:_@&/\\\\'\"~()<>$#%+={}*|\\[\\]^-]*$",
            "description": "Fedwire characters only: letters, digits, spaces and `. ? ! , ; : _ @ & / \\ ' \" ~ ( ) < > $ # % + - = { } * | [ ] ^`."
          },
          "line2": {
            "type": "string",
            "pattern": "^[A-Za-z0-9\\s.?!,;:_@&/\\\\'\"~()<>$#%+={}*|\\[\\]^-]*$",
            "description": "Fedwire characters only: letters, digits, spaces and `. ? ! , ; : _ @ & / \\ ' \" ~ ( ) < > $ # % + - = { } * | [ ] ^`."
          },
          "city": {
            "type": "string",
            "minLength": 1,
            "pattern": "^[A-Za-z0-9\\s.?!,;:_@&/\\\\'\"~()<>$#%+={}*|\\[\\]^-]*$",
            "description": "Fedwire characters only: letters, digits, spaces and `. ? ! , ; : _ @ & / \\ ' \" ~ ( ) < > $ # % + - = { } * | [ ] ^`."
          },
          "state": {
            "type": "string",
            "pattern": "^[A-Za-z0-9\\s.?!,;:_@&/\\\\'\"~()<>$#%+={}*|\\[\\]^-]*$",
            "description": "Fedwire characters only: letters, digits, spaces and `. ? ! , ; : _ @ & / \\ ' \" ~ ( ) < > $ # % + - = { } * | [ ] ^`."
          },
          "postalCode": {
            "type": "string",
            "pattern": "^[A-Za-z0-9\\s.?!,;:_@&/\\\\'\"~()<>$#%+={}*|\\[\\]^-]*$",
            "description": "Fedwire characters only: letters, digits, spaces and `. ? ! , ; : _ @ & / \\ ' \" ~ ( ) < > $ # % + - = { } * | [ ] ^`."
          },
          "countryCode": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "ISO 3166-1 alpha-2 country code."
          }
        },
        "required": ["line1", "city"],
        "additionalProperties": false
      },
      "document": {
        "title": "Document",
        "description": "A file stored on Slash, uploaded through the API or generated by Slash. Attach it by id where its `purpose` is accepted; the file itself is fetched through `downloadUrl`.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Document id with the `st_` prefix.",
            "example": "st_2rj4l7hmrrrcv"
          },
          "filename": {
            "type": "string",
            "description": "The filename supplied at upload.",
            "example": "invoice-4471.pdf"
          },
          "purpose": {
            "type": "string",
            "enum": ["bill_invoice", "accounting_receipt", "invoice_logo"],
            "description": "What the document was uploaded for. Absent on files Slash generated.",
            "example": "bill_invoice"
          },
          "contentType": {
            "type": "string",
            "description": "MIME type detected from the file's bytes.",
            "example": "application/pdf"
          },
          "sizeBytes": {
            "type": "integer",
            "description": "Size of the stored file in bytes, or `0` for files Slash generated.",
            "example": 48213
          },
          "downloadUrl": {
            "type": "string",
            "format": "uri",
            "description": "Presigned URL for the file. Valid for about 15 minutes; fetch the document again for a fresh one."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the document was uploaded."
          }
        },
        "required": [
          "id",
          "filename",
          "contentType",
          "sizeBytes",
          "downloadUrl",
          "createdAt"
        ],
        "additionalProperties": false
      },
      "legal-entity": {
        "title": "LegalEntity",
        "description": "A legal entity the API key's user can act on. Pass its `id` in the `x-legal-entity` header.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Legal entity id with the `le_` prefix.",
            "example": "le_2rj4l7hmrrrcv"
          },
          "name": {
            "type": "string",
            "description": "The business name, or the person's name for an individual. Absent while the legal entity has neither yet, during onboarding.",
            "example": "Acme Inc."
          }
        },
        "required": ["id"],
        "additionalProperties": false
      },
      "user": {
        "title": "User",
        "description": "A member of the legal entity.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "User id with the `u_` prefix.",
            "example": "u_2rj4l7hmrrrcv"
          },
          "firstName": {
            "type": "string",
            "example": "Jordan"
          },
          "lastName": {
            "type": "string",
            "example": "Lee"
          },
          "email": {
            "type": "string",
            "format": "email",
            "example": "jordan@acme.com"
          },
          "joinedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the user joined the legal entity, as shown under Joined on the dashboard's Users page.",
            "example": "2026-03-04T17:22:10.000Z"
          }
        },
        "required": ["id", "email", "joinedAt"],
        "additionalProperties": false
      },
      "card-product": {
        "title": "CardProduct",
        "description": "A BIN program cards can be issued from.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Card product id with the `card_product_` prefix.",
            "example": "card_product_2rj4l7hmrrrcv"
          },
          "prefix": {
            "type": "string",
            "description": "The BIN the program's card numbers start with.",
            "example": "42424242"
          },
          "status": {
            "type": "string",
            "enum": ["active", "inactive"]
          }
        },
        "required": ["id", "prefix", "status"],
        "additionalProperties": false
      },
      "cashback-balance": {
        "title": "CashbackBalance",
        "description": "Cashback earned on one account's card spend.",
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "description": "Account id with the `sa_group_` prefix.",
            "example": "sa_group_2rj4l7hmrrrcv"
          },
          "available": {
            "description": "Ready to redeem.",
            "$ref": "#/components/schemas/Money"
          },
          "pending": {
            "description": "Earned, but not available yet.",
            "$ref": "#/components/schemas/Money"
          },
          "pendingReleases": {
            "type": "array",
            "description": "When pending cashback becomes available, earliest first.",
            "items": {
              "type": "object",
              "properties": {
                "amount": {
                  "$ref": "#/components/schemas/Money"
                },
                "availableOn": {
                  "type": "string",
                  "format": "date",
                  "example": "2026-10-25"
                }
              },
              "required": ["amount", "availableOn"],
              "additionalProperties": false
            }
          },
          "redeemable": {
            "type": "boolean",
            "description": "`false` while the account is past due.",
            "example": true
          }
        },
        "required": [
          "accountId",
          "available",
          "pending",
          "pendingReleases",
          "redeemable"
        ],
        "additionalProperties": false
      },
      "cashback-rate": {
        "title": "CashbackRate",
        "description": "What one account's card spend earns this month.",
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "description": "Account id with the `sa_group_` prefix.",
            "example": "sa_group_2rj4l7hmrrrcv"
          },
          "current": {
            "type": "number",
            "description": "The account's standard rate now, as a fraction; `0.015` is 1.5%. Some purchases may earn a different rate.",
            "example": 0.015
          },
          "tiers": {
            "type": "array",
            "description": "Rates by card spend this month, lowest minimum first. A tier's rate can be higher or lower than the one before. Spend below the first tier's minimum earns nothing. A flat rate has one tier.",
            "items": {
              "type": "object",
              "properties": {
                "rate": {
                  "type": "number",
                  "example": 0.015
                },
                "minimumSpend": {
                  "description": "Card spend this month needed to reach the tier.",
                  "$ref": "#/components/schemas/Money"
                },
                "status": {
                  "type": "string",
                  "enum": ["reached", "current", "upcoming"],
                  "description": "`current` is the highest tier reached; lower tiers are `reached`, higher ones `upcoming`.",
                  "example": "current"
                }
              },
              "required": ["rate", "minimumSpend", "status"],
              "additionalProperties": false
            }
          },
          "cycleSpend": {
            "description": "Card spend this month that counts toward the tiers. Only on plans where spend decides the rate.",
            "$ref": "#/components/schemas/Money"
          },
          "spendToNextTier": {
            "description": "More card spend this month needed to reach the next tier. Only on plans where spend decides the rate, and absent on the last tier.",
            "$ref": "#/components/schemas/Money"
          }
        },
        "required": ["accountId", "current", "tiers"],
        "additionalProperties": false
      },
      "cashback-cycle": {
        "title": "CashbackCycle",
        "description": "One month of cashback on an account.",
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "description": "Account id with the `sa_group_` prefix.",
            "example": "sa_group_2rj4l7hmrrrcv"
          },
          "month": {
            "type": "string",
            "pattern": "^[0-9]{4}-[0-9]{2}$",
            "example": "2026-09"
          },
          "status": {
            "type": "string",
            "enum": ["open", "pending", "available"],
            "description": "`open` while the month is under way, `pending` until its cashback becomes available, then `available`.",
            "example": "available"
          },
          "cashback": {
            "description": "Earned in the month, net of refunds.",
            "$ref": "#/components/schemas/Money"
          },
          "spend": {
            "description": "Card spend that earned cashback.",
            "$ref": "#/components/schemas/Money"
          },
          "refunds": {
            "description": "Refunds that reduced the month's cashback.",
            "$ref": "#/components/schemas/Money"
          },
          "rate": {
            "type": "object",
            "description": "The lowest and highest rate earned in the month. Absent when nothing earned cashback.",
            "properties": {
              "min": {
                "type": "number",
                "example": 0.01
              },
              "max": {
                "type": "number",
                "example": 0.015
              }
            },
            "required": ["min", "max"],
            "additionalProperties": false
          },
          "availableOn": {
            "type": "string",
            "format": "date",
            "description": "When the month's cashback becomes, or became, available.",
            "example": "2026-10-25"
          }
        },
        "required": [
          "accountId",
          "month",
          "status",
          "cashback",
          "spend",
          "refunds",
          "availableOn"
        ],
        "additionalProperties": false
      },
      "cashback-redemption": {
        "title": "CashbackRedemption",
        "description": "Cashback paid out of an account's balance.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Redemption id with the `transfer_intent_` prefix.",
            "example": "transfer_intent_2rj4l7hmrrrcv"
          },
          "status": {
            "type": "string",
            "enum": ["pending", "completed", "returned", "failed"],
            "description": "`returned` when the recipient's bank sends the ACH back; the cashback goes back to the balance.",
            "example": "completed"
          },
          "accountId": {
            "type": "string",
            "description": "The account whose cashback was redeemed.",
            "example": "sa_group_2rj4l7hmrrrcv"
          },
          "amount": {
            "$ref": "#/components/schemas/Money"
          },
          "destination": {
            "description": "Where the cashback went.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/cashback-redemption-destination-account"
              },
              {
                "$ref": "#/components/schemas/cashback-redemption-destination-recipient"
              },
              {
                "$ref": "#/components/schemas/cashback-redemption-destination-bank-account"
              }
            ],
            "discriminator": {
              "propertyName": "type",
              "mapping": {
                "account": "#/components/schemas/cashback-redemption-destination-account",
                "recipient": "#/components/schemas/cashback-redemption-destination-recipient",
                "bank_account": "#/components/schemas/cashback-redemption-destination-bank-account"
              }
            }
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "example": "2026-10-22T00:12:00.000Z"
          },
          "completedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the cashback was paid out.",
            "example": "2026-10-22T00:12:03.000Z"
          }
        },
        "required": [
          "id",
          "status",
          "accountId",
          "amount",
          "destination",
          "createdAt"
        ],
        "additionalProperties": false
      },
      "cashback-redemption-destination-account": {
        "title": "CashbackRedemptionDestinationAccount",
        "description": "One of the legal entity's accounts. The cashback lands in its primary virtual account.",
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["account"]
          },
          "accountId": {
            "type": "string",
            "description": "Account id with the `sa_group_` prefix.",
            "example": "sa_group_3k8m2p9qwexyz"
          }
        },
        "required": ["type", "accountId"],
        "additionalProperties": false
      },
      "cashback-redemption-destination-recipient": {
        "title": "CashbackRedemptionDestinationRecipient",
        "description": "A recipient's bank account, paid by ACH.",
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["recipient"]
          },
          "destinationId": {
            "type": "string",
            "description": "Destination id with the `le_contact_destination_` prefix. See [Recipients and destinations](/docs/v2/concepts/recipients-and-destinations).",
            "example": "le_contact_destination_2rj4l7hmrrrcv"
          }
        },
        "required": ["type", "destinationId"],
        "additionalProperties": false
      },
      "cashback-redemption-destination-bank-account": {
        "title": "CashbackRedemptionDestinationBankAccount",
        "description": "A bank account linked in Slash. Cashback is redeemed to linked bank accounts in Slash.",
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["bank_account"]
          },
          "bankAccountId": {
            "type": "string",
            "description": "Linked bank account id with the `ub_` prefix.",
            "example": "ub_2rj4l7hmrrrcv"
          }
        },
        "required": ["type", "bankAccountId"],
        "additionalProperties": false
      },
      "cashback-redemption-create": {
        "title": "CashbackRedemptionCreate",
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "description": "The account whose cashback to redeem, with the `sa_group_` prefix.",
            "example": "sa_group_2rj4l7hmrrrcv"
          },
          "amount": {
            "description": "Up to the account's `available` cashback.",
            "$ref": "#/components/schemas/UsdMoney"
          },
          "destination": {
            "$ref": "#/components/schemas/cashback-redemption-destination"
          }
        },
        "required": ["accountId", "amount", "destination"],
        "additionalProperties": false
      },
      "cashback-redemption-destination": {
        "title": "CashbackRedemptionDestination",
        "description": "Where to send the cashback.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/cashback-redemption-destination-account"
          },
          {
            "$ref": "#/components/schemas/cashback-redemption-destination-recipient"
          }
        ],
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "account": "#/components/schemas/cashback-redemption-destination-account",
            "recipient": "#/components/schemas/cashback-redemption-destination-recipient"
          }
        }
      },
      "merchant": {
        "title": "Merchant",
        "description": "A merchant card controls can allow or block by id.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Merchant id with the `merchant_v2_` prefix.",
            "example": "merchant_v2_2rj4l7hmrrrcv"
          },
          "name": {
            "type": "string",
            "example": "Meta"
          },
          "url": {
            "type": "string",
            "example": "https://meta.com"
          },
          "categoryId": {
            "type": "string",
            "description": "The merchant category the merchant belongs to, with the `merchant_category_` prefix.",
            "example": "merchant_category_2rj4l7hmrrrcv"
          }
        },
        "required": ["id", "name"],
        "additionalProperties": false
      },
      "merchant-category": {
        "title": "MerchantCategory",
        "description": "A category of merchants card controls can allow or block by id.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Merchant category id with the `merchant_category_` prefix.",
            "example": "merchant_category_2rj4l7hmrrrcv"
          },
          "name": {
            "type": "string",
            "example": "Advertising"
          }
        },
        "required": ["id", "name"],
        "additionalProperties": false
      },
      "card": {
        "title": "Card",
        "description": "A virtual or physical card. Its number and security code are only available from `GET /v2/cards/{cardId}/details`.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Card id with the `c_` prefix.",
            "example": "c_2rj4l7hmrrrcv"
          },
          "type": {
            "type": "string",
            "enum": ["virtual", "physical"]
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "awaiting_activation",
              "active",
              "paused",
              "inactive",
              "closed"
            ],
            "description": "`pending`: being issued, or waiting for a physical card's fee. `awaiting_activation`: a physical card its holder has not activated. `active`: approves authorizations. `paused`: declines them. `inactive`: deactivated by Slash or the issuer; can only be closed. `closed`: permanent."
          },
          "name": {
            "type": "string",
            "example": "Ads – Meta"
          },
          "last4": {
            "type": "string",
            "description": "Absent on physical cards until they are activated.",
            "example": "4242"
          },
          "expiryMonth": {
            "type": "integer",
            "example": 9
          },
          "expiryYear": {
            "type": "integer",
            "example": 2030
          },
          "accountId": {
            "type": "string",
            "description": "Account id with the `sa_group_` prefix.",
            "example": "sa_group_2rj4l7hmrrrcv"
          },
          "virtualAccountId": {
            "type": "string",
            "description": "Virtual account the card spends from, with the `subaccount_` prefix.",
            "example": "subaccount_2rj4l7hmrrrcv"
          },
          "cardGroupId": {
            "type": "string",
            "description": "Card group id with the `card_group_` prefix.",
            "example": "card_group_2rj4l7hmrrrcv"
          },
          "cardProductId": {
            "type": "string",
            "description": "Card product id with the `card_product_` prefix.",
            "example": "card_product_2rj4l7hmrrrcv"
          },
          "cardholderUserId": {
            "type": "string",
            "description": "The user who holds the card, with the `u_` prefix.",
            "example": "u_2rj4l7hmrrrcv"
          },
          "controls": {
            "$ref": "#/components/schemas/card-controls"
          },
          "singleUse": {
            "type": "boolean",
            "description": "Whether the card closes after its first transaction. Virtual cards only."
          },
          "billingAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/address"
              }
            ],
            "description": "The address checked by address verification (AVS). Absent when the legal entity's address is used."
          },
          "physical": {
            "type": "object",
            "description": "Present on physical cards.",
            "properties": {
              "design": {
                "type": "string",
                "enum": ["plastic", "silver_metal", "gold_metal"]
              },
              "secondLine": {
                "type": "string",
                "description": "The line embossed under the holder's name.",
                "example": "Computer Services"
              },
              "shipping": {
                "type": "object",
                "properties": {
                  "address": {
                    "$ref": "#/components/schemas/address"
                  },
                  "service": {
                    "type": "string",
                    "enum": ["standard", "express", "priority"]
                  },
                  "status": {
                    "type": "string",
                    "enum": ["pending", "shipped", "canceled"],
                    "description": "`pending`: ordered, not yet shipped."
                  },
                  "carrier": {
                    "type": "string",
                    "enum": ["fedex", "usps"]
                  },
                  "trackingNumber": {
                    "type": "string"
                  },
                  "trackingUrl": {
                    "type": "string"
                  },
                  "shippedAt": {
                    "type": "string",
                    "format": "date-time"
                  }
                },
                "required": ["address", "service", "status"],
                "additionalProperties": false
              }
            },
            "required": ["design"],
            "additionalProperties": false
          },
          "closedReason": {
            "type": "string",
            "enum": [
              "no_longer_needed",
              "lost_or_stolen",
              "never_arrived",
              "damaged",
              "closed_by_slash"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "closedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "type",
          "status",
          "name",
          "accountId",
          "singleUse",
          "createdAt"
        ],
        "additionalProperties": false
      },
      "card-controls": {
        "title": "CardControls",
        "description": "What the card may spend. The controls of its card group apply too. Replaced whole on update; `null` clears it.",
        "type": "object",
        "properties": {
          "limit": {
            "$ref": "#/components/schemas/card-controls-limit"
          },
          "transactionLimit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UsdMoney"
              }
            ],
            "description": "The most a single transaction may be."
          },
          "merchantCategories": {
            "allOf": [
              {
                "$ref": "#/components/schemas/card-controls-restriction"
              }
            ],
            "description": "Merchant category ids from `GET /v2/merchant-categories`."
          },
          "merchantCategoryCodes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/card-controls-restriction"
              }
            ],
            "description": "Four-digit merchant category codes (MCC)."
          },
          "merchants": {
            "allOf": [
              {
                "$ref": "#/components/schemas/card-controls-restriction"
              }
            ],
            "description": "Merchant ids from `GET /v2/merchants`."
          },
          "countries": {
            "allOf": [
              {
                "$ref": "#/components/schemas/card-controls-restriction"
              }
            ],
            "description": "ISO 3166-1 alpha-2 codes of merchant countries."
          },
          "recurringPaymentsOnly": {
            "type": "boolean",
            "description": "Approve recurring payments only. An Enterprise feature."
          }
        },
        "additionalProperties": false,
        "example": {
          "limit": {
            "amount": {
              "amount": 500000,
              "currency": "USD"
            },
            "period": "monthly"
          },
          "transactionLimit": {
            "amount": 250000,
            "currency": "USD"
          },
          "merchantCategoryCodes": {
            "mode": "block",
            "values": ["7995"]
          }
        }
      },
      "card-controls-limit": {
        "title": "CardControlsLimit",
        "description": "How much may be spent per period.",
        "type": "object",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/UsdMoney"
          },
          "period": {
            "type": "string",
            "enum": ["daily", "weekly", "monthly", "yearly", "lifetime"],
            "description": "Every period but `lifetime` resets at its boundary in `timezone`; `lifetime` never resets."
          },
          "startDate": {
            "type": "string",
            "format": "date",
            "description": "Day the first period starts, today or earlier. Defaults to the start of the current period. Not used by `daily`.",
            "example": "2026-09-01"
          },
          "timezone": {
            "type": "string",
            "description": "IANA timezone the period boundaries use. Defaults to UTC.",
            "example": "America/Los_Angeles"
          }
        },
        "required": ["amount", "period"],
        "additionalProperties": false
      },
      "card-controls-restriction": {
        "title": "CardControlsRestriction",
        "description": "With `allow`, only the listed values are approved. With `block`, the listed values are declined.",
        "type": "object",
        "properties": {
          "mode": {
            "type": "string",
            "enum": ["allow", "block"]
          },
          "values": {
            "type": "array",
            "minItems": 1,
            "uniqueItems": true,
            "items": {
              "type": "string"
            }
          }
        },
        "required": ["mode", "values"],
        "additionalProperties": false
      },
      "card-create": {
        "title": "CardCreate",
        "oneOf": [
          {
            "$ref": "#/components/schemas/card-create-virtual"
          },
          {
            "$ref": "#/components/schemas/card-create-physical"
          }
        ],
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "virtual": "#/components/schemas/card-create-virtual",
            "physical": "#/components/schemas/card-create-physical"
          }
        }
      },
      "card-create-virtual": {
        "title": "CardCreateVirtual",
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["virtual"]
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "example": "Ads – Meta"
          },
          "cardholderUserId": {
            "type": "string",
            "description": "The user who holds the card, from `GET /v2/users`.",
            "example": "u_2rj4l7hmrrrcv"
          },
          "accountId": {
            "type": "string",
            "description": "The account to issue from. Required when the legal entity has more than one card account.",
            "example": "sa_group_2rj4l7hmrrrcv"
          },
          "virtualAccountId": {
            "type": "string",
            "description": "Defaults to the account's primary virtual account.",
            "example": "subaccount_2rj4l7hmrrrcv"
          },
          "cardGroupId": {
            "type": "string",
            "example": "card_group_2rj4l7hmrrrcv"
          },
          "cardProductId": {
            "type": "string",
            "description": "From `GET /v2/card-products`. Defaults to the account's.",
            "example": "card_product_2rj4l7hmrrrcv"
          },
          "controls": {
            "$ref": "#/components/schemas/card-controls"
          },
          "billingAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/address"
              }
            ],
            "description": "The address address verification (AVS) checks."
          },
          "singleUse": {
            "type": "boolean",
            "description": "Close the card after its first transaction."
          }
        },
        "required": ["type", "name", "cardholderUserId"],
        "additionalProperties": false
      },
      "card-create-physical": {
        "title": "CardCreatePhysical",
        "description": "The holder's name is embossed on the card.",
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["physical"]
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "example": "Ads – Meta"
          },
          "cardholderUserId": {
            "type": "string",
            "description": "The user who holds the card, from `GET /v2/users`.",
            "example": "u_2rj4l7hmrrrcv"
          },
          "accountId": {
            "type": "string",
            "description": "The account to issue from. Required when the legal entity has more than one card account.",
            "example": "sa_group_2rj4l7hmrrrcv"
          },
          "virtualAccountId": {
            "type": "string",
            "description": "Defaults to the account's primary virtual account.",
            "example": "subaccount_2rj4l7hmrrrcv"
          },
          "cardGroupId": {
            "type": "string",
            "example": "card_group_2rj4l7hmrrrcv"
          },
          "cardProductId": {
            "type": "string",
            "description": "From `GET /v2/card-products`. Defaults to the account's.",
            "example": "card_product_2rj4l7hmrrrcv"
          },
          "controls": {
            "$ref": "#/components/schemas/card-controls"
          },
          "billingAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/address"
              }
            ],
            "description": "The address address verification (AVS) checks."
          },
          "physical": {
            "type": "object",
            "properties": {
              "design": {
                "type": "string",
                "enum": ["plastic", "silver_metal", "gold_metal"],
                "default": "plastic"
              },
              "secondLine": {
                "type": "string",
                "minLength": 1,
                "maxLength": 19,
                "pattern": "^[A-Za-z0-9\\-'& ]+$",
                "description": "The line embossed under the holder's name.",
                "example": "Computer Services"
              },
              "shipping": {
                "type": "object",
                "properties": {
                  "address": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/address"
                      }
                    ],
                    "description": "US addresses need a state and a postal code."
                  },
                  "service": {
                    "type": "string",
                    "enum": ["standard", "express", "priority"],
                    "default": "standard",
                    "description": "`priority` ships to US addresses only."
                  }
                },
                "required": ["address"],
                "additionalProperties": false
              }
            },
            "required": ["shipping"],
            "additionalProperties": false
          }
        },
        "required": ["type", "name", "cardholderUserId", "physical"],
        "additionalProperties": false
      },
      "card-update": {
        "title": "CardUpdate",
        "description": "Omitted fields keep their value; `null` clears a field.",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "cardholderUserId": {
            "type": "string",
            "description": "Virtual cards only; a physical card's holder is embossed on it."
          },
          "virtualAccountId": {
            "type": "string",
            "description": "Another virtual account of the same account. The move finishes in the background."
          },
          "cardGroupId": {
            "type": "string",
            "nullable": true
          },
          "controls": {
            "allOf": [
              {
                "$ref": "#/components/schemas/card-controls"
              }
            ],
            "nullable": true
          },
          "billingAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/address"
              }
            ],
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "card-replace": {
        "title": "CardReplace",
        "description": "The new card keeps the original's name, holder, account, virtual account, card group, design and spending limits and restrictions, and ships to the original's address with its second line unless `physical` sets them. Set a billing address or `recurringPaymentsOnly`, or change anything else, on the new card with `PATCH /v2/cards/{cardId}`.",
        "type": "object",
        "properties": {
          "reason": {
            "type": "string",
            "enum": ["lost_or_stolen", "never_arrived", "damaged"],
            "description": "Why the card is replaced. The original closes with it as its `closedReason`."
          },
          "physical": {
            "type": "object",
            "properties": {
              "secondLine": {
                "type": "string",
                "minLength": 1,
                "maxLength": 19,
                "pattern": "^[A-Za-z0-9\\-'& ]+$",
                "description": "The line embossed under the holder's name.",
                "example": "Computer Services"
              },
              "shipping": {
                "type": "object",
                "properties": {
                  "address": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/address"
                      }
                    ],
                    "description": "US addresses need a state and a postal code."
                  },
                  "service": {
                    "type": "string",
                    "enum": ["standard", "express", "priority"],
                    "default": "standard",
                    "description": "`priority` ships to US addresses only."
                  }
                },
                "required": ["address"],
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          }
        },
        "required": ["reason"],
        "additionalProperties": false
      },
      "card-details": {
        "title": "CardDetails",
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "example": "4242424242424242"
          },
          "cvc": {
            "type": "string",
            "example": "123"
          },
          "expiryMonth": {
            "type": "integer",
            "example": 9
          },
          "expiryYear": {
            "type": "integer",
            "example": 2030
          }
        },
        "required": ["number", "cvc", "expiryMonth", "expiryYear"],
        "additionalProperties": false
      },
      "card-utilization": {
        "title": "CardUtilization",
        "description": "Spend in the current period of the limit.",
        "type": "object",
        "properties": {
          "spent": {
            "$ref": "#/components/schemas/Money"
          },
          "available": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Money"
              }
            ],
            "description": "What is left of the limit. Absent without a limit."
          },
          "resetsAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the period ends. Absent without a limit or for `lifetime`."
          }
        },
        "required": ["spent"],
        "additionalProperties": false
      },
      "card-group": {
        "title": "CardGroup",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Card group id with the `card_group_` prefix.",
            "example": "card_group_2rj4l7hmrrrcv"
          },
          "name": {
            "type": "string",
            "example": "Marketing"
          },
          "status": {
            "type": "string",
            "enum": ["active", "archived"]
          },
          "controls": {
            "$ref": "#/components/schemas/card-group-controls"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": ["id", "name", "status", "createdAt"],
        "additionalProperties": false
      },
      "card-group-controls": {
        "title": "CardGroupControls",
        "description": "What the group's cards may spend together; a group limit is shared across its cards. Replaced whole on update; `null` clears it.",
        "type": "object",
        "properties": {
          "limit": {
            "$ref": "#/components/schemas/card-controls-limit"
          },
          "transactionLimit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UsdMoney"
              }
            ],
            "description": "The most a single transaction may be."
          },
          "merchantCategories": {
            "allOf": [
              {
                "$ref": "#/components/schemas/card-controls-restriction"
              }
            ],
            "description": "Merchant category ids from `GET /v2/merchant-categories`."
          },
          "merchantCategoryCodes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/card-controls-restriction"
              }
            ],
            "description": "Four-digit merchant category codes (MCC)."
          },
          "merchants": {
            "allOf": [
              {
                "$ref": "#/components/schemas/card-controls-restriction"
              }
            ],
            "description": "Merchant ids from `GET /v2/merchants`."
          },
          "countries": {
            "allOf": [
              {
                "$ref": "#/components/schemas/card-controls-restriction"
              }
            ],
            "description": "ISO 3166-1 alpha-2 codes of merchant countries."
          }
        },
        "additionalProperties": false,
        "example": {
          "limit": {
            "amount": {
              "amount": 500000,
              "currency": "USD"
            },
            "period": "monthly"
          },
          "transactionLimit": {
            "amount": 250000,
            "currency": "USD"
          },
          "merchantCategoryCodes": {
            "mode": "block",
            "values": ["7995"]
          }
        }
      },
      "card-group-create": {
        "title": "CardGroupCreate",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "controls": {
            "$ref": "#/components/schemas/card-group-controls"
          }
        },
        "required": ["name"],
        "additionalProperties": false
      },
      "card-group-update": {
        "title": "CardGroupUpdate",
        "description": "Omitted fields keep their value; `null` controls clear them.",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "controls": {
            "allOf": [
              {
                "$ref": "#/components/schemas/card-group-controls"
              }
            ],
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "card-request": {
        "title": "CardRequest",
        "description": "A request for a card that an approver decides on in Slash.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Card request id with the `card_request_` prefix.",
            "example": "card_request_2rj4l7hmrrrcv"
          },
          "status": {
            "type": "string",
            "enum": ["pending", "approved", "rejected", "canceled", "expired"],
            "description": "`approved` requests issue their card shortly after; `cardId` is set once it exists."
          },
          "type": {
            "type": "string",
            "enum": ["virtual", "physical"]
          },
          "name": {
            "type": "string",
            "example": "Ads – Meta"
          },
          "accountId": {
            "type": "string",
            "example": "sa_group_2rj4l7hmrrrcv"
          },
          "virtualAccountId": {
            "type": "string",
            "example": "subaccount_2rj4l7hmrrrcv"
          },
          "cardGroupId": {
            "type": "string",
            "example": "card_group_2rj4l7hmrrrcv"
          },
          "requesterUserId": {
            "type": "string",
            "example": "u_2rj4l7hmrrrcv"
          },
          "requestedLimit": {
            "$ref": "#/components/schemas/card-request-limit"
          },
          "memo": {
            "type": "string"
          },
          "cardId": {
            "type": "string",
            "description": "The card issued for the request.",
            "example": "c_2rj4l7hmrrrcv"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "resolvedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "status",
          "type",
          "name",
          "accountId",
          "requesterUserId",
          "createdAt"
        ],
        "additionalProperties": false
      },
      "card-request-limit": {
        "title": "CardRequestLimit",
        "type": "object",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/UsdMoney"
          },
          "period": {
            "type": "string",
            "enum": ["daily", "weekly", "monthly", "yearly", "lifetime"]
          }
        },
        "required": ["amount", "period"],
        "additionalProperties": false
      },
      "card-request-create": {
        "title": "CardRequestCreate",
        "oneOf": [
          {
            "$ref": "#/components/schemas/card-request-create-virtual"
          },
          {
            "$ref": "#/components/schemas/card-request-create-physical"
          }
        ],
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "virtual": "#/components/schemas/card-request-create-virtual",
            "physical": "#/components/schemas/card-request-create-physical"
          }
        }
      },
      "card-request-create-virtual": {
        "title": "CardRequestCreateVirtual",
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["virtual"]
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "accountId": {
            "type": "string",
            "description": "The account to request the card on. Required when the legal entity has more than one card account."
          },
          "virtualAccountId": {
            "type": "string",
            "description": "Defaults to the account's primary virtual account."
          },
          "cardGroupId": {
            "type": "string"
          },
          "requestedLimit": {
            "$ref": "#/components/schemas/card-request-limit"
          },
          "memo": {
            "type": "string",
            "maxLength": 1000
          }
        },
        "required": ["type", "name"],
        "additionalProperties": false
      },
      "card-request-create-physical": {
        "title": "CardRequestCreatePhysical",
        "description": "Requests order plastic cards embossed with the requester's name.",
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["physical"]
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "accountId": {
            "type": "string",
            "description": "The account to request the card on. Required when the legal entity has more than one card account."
          },
          "virtualAccountId": {
            "type": "string",
            "description": "Defaults to the account's primary virtual account."
          },
          "cardGroupId": {
            "type": "string"
          },
          "requestedLimit": {
            "$ref": "#/components/schemas/card-request-limit"
          },
          "memo": {
            "type": "string",
            "maxLength": 1000
          },
          "physical": {
            "type": "object",
            "properties": {
              "secondLine": {
                "type": "string",
                "minLength": 1,
                "maxLength": 19,
                "pattern": "^[A-Za-z0-9\\-'& ]+$",
                "description": "The line embossed under the requester's name."
              },
              "shipping": {
                "type": "object",
                "properties": {
                  "address": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/address"
                      }
                    ],
                    "description": "US addresses need a state and a postal code."
                  },
                  "service": {
                    "type": "string",
                    "enum": ["standard", "express", "priority"],
                    "default": "standard",
                    "description": "`priority` ships to US addresses only."
                  }
                },
                "required": ["address"],
                "additionalProperties": false
              }
            },
            "required": ["shipping"],
            "additionalProperties": false
          }
        },
        "required": ["type", "name", "physical"],
        "additionalProperties": false
      },
      "bill": {
        "title": "Bill",
        "description": "Money your legal entity owes a vendor. `status` and `amounts.outstanding` are derived from the bill's payments and cannot be set directly.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Bill id with the `bill_` prefix.",
            "example": "bill_2rj4l7hmrrrcv"
          },
          "status": {
            "type": "string",
            "description": "Derived from the bill's payments. `draft` until a payment exists; `pending_approval` while a payment awaits approval; `rejected` when the latest approval was rejected; `scheduled` when a payment is scheduled; `payment_pending` while a payment is in flight; `partially_paid` when settled payments cover part of the total; `paid` when they cover all of it; `payment_failed` when the latest payment failed or was returned.",
            "enum": [
              "draft",
              "pending_approval",
              "rejected",
              "scheduled",
              "payment_pending",
              "paid",
              "payment_failed",
              "partially_paid"
            ]
          },
          "source": {
            "type": "string",
            "description": "How the bill entered Slash. `api` for bills created through this API, `manual` for the dashboard, `email` for the accounts-payable inbox, `carrier_account` for bills pulled from a connected carrier portal. Carrier bills are read-only over the API.",
            "enum": ["manual", "email", "carrier_account", "api"]
          },
          "recipientId": {
            "type": "string",
            "description": "The vendor, a recipient readable at `GET /v2/recipients/{recipientId}`.",
            "example": "le_c_2rj4l7hmrrrcv"
          },
          "destinationId": {
            "type": "string",
            "description": "The destination the bill is expected to be paid to, readable at `GET /v2/destinations/{destinationId}`.",
            "example": "le_contact_destination_2rj4l7hmrrrcv"
          },
          "ownerUserId": {
            "type": "string",
            "description": "The user responsible for the bill. Absent for bills that arrived by email and have not been assigned.",
            "example": "u_2rj4l7hmrrrcv"
          },
          "invoiceNumber": {
            "type": "string",
            "description": "The vendor's invoice number.",
            "example": "INV-4471"
          },
          "invoiceDate": {
            "type": "string",
            "format": "date",
            "description": "Invoice date as `YYYY-MM-DD`.",
            "example": "2026-09-01"
          },
          "dueDate": {
            "type": "string",
            "format": "date",
            "description": "Due date as `YYYY-MM-DD`.",
            "example": "2026-10-01"
          },
          "currency": {
            "type": "string",
            "pattern": "^[A-Z]{3}$",
            "description": "Uppercase ISO 4217 currency code shared by every amount on the bill.",
            "example": "USD"
          },
          "amounts": {
            "type": "object",
            "description": "Every amount is in `currency`, in minor units.",
            "properties": {
              "total": {
                "$ref": "#/components/schemas/Money"
              },
              "tax": {
                "$ref": "#/components/schemas/Money"
              },
              "discount": {
                "$ref": "#/components/schemas/Money"
              },
              "outstanding": {
                "$ref": "#/components/schemas/Money"
              }
            },
            "required": ["total", "tax", "discount", "outstanding"],
            "additionalProperties": false
          },
          "lineItems": {
            "type": "array",
            "description": "Line items in display order.",
            "items": {
              "$ref": "#/components/schemas/bill-line-item"
            }
          },
          "documentIds": {
            "type": "array",
            "description": "Documents attached to the bill, readable at `GET /v2/documents/{documentId}`.",
            "items": {
              "type": "string",
              "example": "st_2rj4l7hmrrrcv"
            }
          },
          "payments": {
            "type": "array",
            "description": "Payments linked to the bill, oldest first.",
            "items": {
              "$ref": "#/components/schemas/bill-payment"
            }
          },
          "notes": {
            "type": "string",
            "description": "Free-text notes visible to your organization."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the bill was created."
          }
        },
        "required": [
          "id",
          "status",
          "source",
          "currency",
          "amounts",
          "lineItems",
          "documentIds",
          "payments",
          "createdAt"
        ],
        "additionalProperties": false
      },
      "bill-line-item": {
        "title": "BillLineItem",
        "description": "One line of a bill. `total` is `unitAmount` × `quantity`, rounded to minor units.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Line item id with the `bill_line_item_` prefix.",
            "example": "bill_line_item_2rj4l7hmrrrcv"
          },
          "name": {
            "type": "string",
            "description": "What the line is for, as printed on the invoice.",
            "example": "Hosting"
          },
          "quantity": {
            "type": "number",
            "description": "Number of units. Fractional quantities are allowed.",
            "example": 1
          },
          "unitAmount": {
            "$ref": "#/components/schemas/Money"
          },
          "total": {
            "$ref": "#/components/schemas/Money"
          }
        },
        "required": ["id", "name", "quantity", "unitAmount", "total"],
        "additionalProperties": false
      },
      "bill-payment": {
        "title": "BillPayment",
        "description": "A payment linked to a bill. State lives on the underlying transfer and transaction; this is the bill's view of it. A payment is listed once its transfer or card purchase has produced a transaction (including an approval request or a scheduled payment). `status` and `detailedStatus` are that transaction's, as `GET /v2/transactions/{transactionId}` reports them.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Payment link id with the `bill_payment_` prefix. Unlink the payment with `DELETE /v2/bills/{billId}/payments/{paymentId}`.",
            "example": "bill_payment_2rj4l7hmrrrcv"
          },
          "transferId": {
            "type": "string",
            "description": "Id of the transfer that pays the bill, with the `transfer_intent_` prefix, readable at `GET /v2/transfers/{transferId}`. Absent for payments that are not yet a transfer (a scheduled payment whose transfer has not been constructed) or that were made outside the transfer rails.",
            "example": "transfer_intent_2rj4l7hmrrrcv"
          },
          "transactionId": {
            "type": "string",
            "description": "Id of the transaction that moved the money, with the `agg_tx_` prefix, readable at `GET /v2/transactions/{transactionId}`. For a card purchase it's the card transaction. Absent when the payment's only transactions are ones the transactions API doesn't return, such as a rejected or canceled approval request.",
            "example": "agg_tx_2rj4l7hmrrrcv"
          },
          "status": {
            "$ref": "#/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.Status.yaml"
          },
          "detailedStatus": {
            "$ref": "#/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.DetailedStatus.yaml"
          },
          "amount": {
            "$ref": "#/components/schemas/Money"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the payment was linked to the bill."
          }
        },
        "required": ["id", "status", "detailedStatus", "amount", "createdAt"],
        "additionalProperties": false
      },
      "bill-summary": {
        "title": "BillSummary",
        "description": "Totals over every bill the list filters match, one entry per currency. Present only when `includeSummary=true`. The aging buckets are the accounts-payable aging report: outstanding balances grouped by whole days past due as of `asOf`. Bills with nothing outstanding are counted in `count` and `total` but not aged.",
        "type": "object",
        "properties": {
          "asOf": {
            "type": "string",
            "format": "date",
            "description": "The UTC date the aging buckets were computed against, as `YYYY-MM-DD`.",
            "example": "2026-09-19"
          },
          "currencies": {
            "type": "array",
            "description": "One entry per currency with at least one matching bill, ordered by currency code.",
            "items": {
              "type": "object",
              "properties": {
                "currency": {
                  "type": "string",
                  "pattern": "^[A-Z]{3}$",
                  "description": "Uppercase ISO 4217 currency code.",
                  "example": "USD"
                },
                "count": {
                  "type": "integer",
                  "description": "Number of matching bills in this currency.",
                  "example": 12
                },
                "total": {
                  "$ref": "#/components/schemas/Money"
                },
                "outstanding": {
                  "$ref": "#/components/schemas/Money"
                },
                "aging": {
                  "type": "object",
                  "description": "Outstanding balances by days past due. A bill without a due date is `current`.",
                  "properties": {
                    "current": {
                      "$ref": "#/components/schemas/bill-aging-bucket"
                    },
                    "1_30": {
                      "$ref": "#/components/schemas/bill-aging-bucket"
                    },
                    "31_60": {
                      "$ref": "#/components/schemas/bill-aging-bucket"
                    },
                    "61_90": {
                      "$ref": "#/components/schemas/bill-aging-bucket"
                    },
                    "over_90": {
                      "$ref": "#/components/schemas/bill-aging-bucket"
                    }
                  },
                  "required": ["current", "1_30", "31_60", "61_90", "over_90"],
                  "additionalProperties": false
                }
              },
              "required": [
                "currency",
                "count",
                "total",
                "outstanding",
                "aging"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": ["asOf", "currencies"],
        "additionalProperties": false
      },
      "bill-aging-bucket": {
        "title": "BillAgingBucket",
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "Number of bills with an outstanding balance in the bucket.",
            "example": 3
          },
          "total": {
            "$ref": "#/components/schemas/Money"
          }
        },
        "required": ["count", "total"],
        "additionalProperties": false
      },
      "bill-create": {
        "title": "BillCreate",
        "description": "A new bill in `draft`. Every money field must use the same currency.",
        "type": "object",
        "properties": {
          "recipientId": {
            "type": "string",
            "description": "The vendor: any recipient on the legal entity that isn't archived, usually one with `recipientType: vendor`. Create one with `POST /v2/recipients`.",
            "example": "le_c_2rj4l7hmrrrcv"
          },
          "destinationId": {
            "type": "string",
            "description": "The destination the bill should be paid to. Must belong to `recipientId` when both are given.",
            "example": "le_contact_destination_2rj4l7hmrrrcv"
          },
          "ownerUserId": {
            "type": "string",
            "description": "The user responsible for the bill. Defaults to the user behind the API key.",
            "example": "u_2rj4l7hmrrrcv"
          },
          "invoiceNumber": {
            "type": "string",
            "maxLength": 255,
            "description": "The vendor's invoice number.",
            "example": "INV-4471"
          },
          "invoiceDate": {
            "type": "string",
            "format": "date",
            "description": "Invoice date as `YYYY-MM-DD`.",
            "example": "2026-09-01"
          },
          "dueDate": {
            "type": "string",
            "format": "date",
            "description": "Due date as `YYYY-MM-DD`.",
            "example": "2026-10-01"
          },
          "lineItems": {
            "type": "array",
            "minItems": 1,
            "description": "At least one line. The bill's currency is the lines' currency, and the total is the sum of line totals plus `tax` minus `discount`.",
            "items": {
              "$ref": "#/components/schemas/bill-line-item-create"
            }
          },
          "tax": {
            "type": "object",
            "description": "Tax added to the line totals, in the bill's currency.",
            "properties": {
              "amount": {
                "type": "integer",
                "minimum": 0,
                "description": "Amount in the currency's minor units.",
                "example": 800
              },
              "currency": {
                "type": "string",
                "pattern": "^[A-Z]{3}$",
                "description": "Uppercase ISO 4217 currency code.",
                "example": "USD"
              }
            },
            "required": ["amount", "currency"],
            "additionalProperties": false
          },
          "discount": {
            "type": "object",
            "description": "Discount taken off the line totals, in the bill's currency.",
            "properties": {
              "amount": {
                "type": "integer",
                "minimum": 0,
                "description": "Amount in the currency's minor units.",
                "example": 500
              },
              "currency": {
                "type": "string",
                "pattern": "^[A-Z]{3}$",
                "description": "Uppercase ISO 4217 currency code.",
                "example": "USD"
              }
            },
            "required": ["amount", "currency"],
            "additionalProperties": false
          },
          "documentIds": {
            "type": "array",
            "maxItems": 20,
            "description": "Documents uploaded with purpose `bill_invoice`.",
            "items": {
              "type": "string",
              "example": "st_2rj4l7hmrrrcv"
            }
          },
          "notes": {
            "type": "string",
            "maxLength": 5000,
            "description": "Free-text notes visible to your organization."
          }
        },
        "required": ["lineItems"],
        "additionalProperties": false
      },
      "bill-line-item-create": {
        "title": "BillLineItemCreate",
        "description": "One line of a new bill.",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "What the line is for.",
            "example": "Hosting"
          },
          "quantity": {
            "type": "number",
            "exclusiveMinimum": 0,
            "description": "Number of units greater than zero. Fractional quantities are allowed.",
            "example": 1
          },
          "unitAmount": {
            "$ref": "#/components/schemas/Money"
          }
        },
        "required": ["name", "quantity", "unitAmount"],
        "additionalProperties": false
      },
      "bill-update": {
        "title": "BillUpdate",
        "description": "Partial update. An omitted field is left unchanged; `null` clears a clearable field. `lineItems`, `tax`, and `discount` are financial fields and are rejected with `bill_amounts_locked` once the bill has a payment that is not canceled or rejected.",
        "type": "object",
        "properties": {
          "recipientId": {
            "type": "string",
            "nullable": true,
            "description": "The vendor, a recipient. `null` clears it. Changing the vendor also clears `destinationId` unless you send one or the current destination belongs to the new vendor.",
            "example": "le_c_2rj4l7hmrrrcv"
          },
          "destinationId": {
            "type": "string",
            "nullable": true,
            "description": "The destination the bill should be paid to. `null` clears it.",
            "example": "le_contact_destination_2rj4l7hmrrrcv"
          },
          "ownerUserId": {
            "type": "string",
            "description": "The user responsible for the bill.",
            "example": "u_2rj4l7hmrrrcv"
          },
          "invoiceNumber": {
            "type": "string",
            "maxLength": 255,
            "nullable": true,
            "description": "The vendor's invoice number. `null` clears it."
          },
          "invoiceDate": {
            "type": "string",
            "format": "date",
            "nullable": true,
            "description": "Invoice date as `YYYY-MM-DD`. `null` clears it."
          },
          "dueDate": {
            "type": "string",
            "format": "date",
            "nullable": true,
            "description": "Due date as `YYYY-MM-DD`. `null` clears it."
          },
          "lineItems": {
            "type": "array",
            "minItems": 1,
            "description": "Replaces the line items. Lines sent with an `id` are updated in place; lines without one are appended; existing lines whose ids are omitted are removed.",
            "items": {
              "$ref": "#/components/schemas/bill-line-item-update"
            }
          },
          "tax": {
            "type": "object",
            "description": "Tax added to the line totals, in the bill's currency.",
            "properties": {
              "amount": {
                "type": "integer",
                "minimum": 0,
                "description": "Amount in the currency's minor units.",
                "example": 800
              },
              "currency": {
                "type": "string",
                "pattern": "^[A-Z]{3}$",
                "description": "Uppercase ISO 4217 currency code.",
                "example": "USD"
              }
            },
            "required": ["amount", "currency"],
            "additionalProperties": false
          },
          "discount": {
            "type": "object",
            "description": "Discount taken off the line totals, in the bill's currency.",
            "properties": {
              "amount": {
                "type": "integer",
                "minimum": 0,
                "description": "Amount in the currency's minor units.",
                "example": 500
              },
              "currency": {
                "type": "string",
                "pattern": "^[A-Z]{3}$",
                "description": "Uppercase ISO 4217 currency code.",
                "example": "USD"
              }
            },
            "required": ["amount", "currency"],
            "additionalProperties": false
          },
          "notes": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true,
            "description": "Free-text notes. `null` clears them."
          }
        },
        "additionalProperties": false
      },
      "bill-line-item-update": {
        "title": "BillLineItemUpdate",
        "description": "One line of a bill. Send `id` to change an existing line in place; omit it to add a line.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The id of an existing line to change in place. Lines whose ids are omitted from the array are removed.",
            "example": "bill_line_item_2rj4l7hmrrrcv"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "What the line is for.",
            "example": "Hosting"
          },
          "quantity": {
            "type": "number",
            "exclusiveMinimum": 0,
            "description": "Number of units greater than zero. Fractional quantities are allowed.",
            "example": 1
          },
          "unitAmount": {
            "$ref": "#/components/schemas/Money"
          }
        },
        "required": ["name", "quantity", "unitAmount"],
        "additionalProperties": false
      },
      "accounting-connection": {
        "title": "AccountingConnection",
        "description": "A link between your legal entity and one accounting platform. Every accounting entry, dimension, and mapping belongs to a connection. Most legal entities have exactly one.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Connection id with the `accounting_connection_` prefix.",
            "example": "accounting_connection_2rj4l7hmrrrcv"
          },
          "platform": {
            "type": "string",
            "description": "The connected platform: `quickbooks`, `xero`, `netsuite`, `sage_intacct`, `dynamics_365`, `odoo`, `dualentry`, `campfire`, `rillet`, or `manual_csv` for a connection whose entries are exported as CSV instead of synced. New platforms may appear without notice; treat unknown values as opaque.",
            "example": "quickbooks"
          },
          "status": {
            "type": "string",
            "description": "Health of the link to the platform. Only `active` connections sync. `needs_reauth` means a user must reconnect from the dashboard; `not_ready` means the platform is still completing its initial import.",
            "enum": [
              "active",
              "unhealthy",
              "not_ready",
              "needs_reauth",
              "disabled"
            ]
          },
          "organizationName": {
            "type": "string",
            "description": "The connected company or tenant name reported by the platform, when known.",
            "example": "Acme Robotics LLC"
          },
          "defaultSubsidiaryId": {
            "type": "string",
            "description": "The `subsidiary` dimension value new line items default to, on platforms with subsidiaries.",
            "example": "accounting_subsidiary_2rj4l7hmrrrcv"
          },
          "syncStartDate": {
            "type": "string",
            "format": "date",
            "description": "Transactions dated before this are not turned into accounting entries, as `YYYY-MM-DD`. Chosen by a user during connection setup.",
            "example": "2026-01-01"
          },
          "lastSyncedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When settled transactions were last materialized into entries.",
            "example": "2026-09-19T14:00:00.000Z"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "example": "2026-01-15T09:30:00.000Z"
          }
        },
        "required": ["id", "platform", "status", "createdAt"],
        "additionalProperties": false
      },
      "accounting-dimension": {
        "title": "AccountingDimension",
        "description": "One axis a line item can be coded on: the general-ledger account, a vendor, a class, a custom field, and so on. Which dimensions exist depends on the connection's platform and settings. Every dimension has values, listed at `GET /v2/accounting/dimensions/{dimensionKey}/values`.",
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "Stable identifier used in every other accounting endpoint. Platform dimensions use fixed keys (`account`, `vendor`, `customer`, `class`, `department`, `location`, `project`, `subsidiary`); custom fields use `customField:` followed by the field's key; generic dimensions use the key defined on the connection.",
            "example": "account"
          },
          "connectionId": {
            "type": "string",
            "description": "The connection this dimension belongs to.",
            "example": "accounting_connection_2rj4l7hmrrrcv"
          },
          "name": {
            "type": "string",
            "description": "Display name shown in the dashboard.",
            "example": "Account"
          },
          "type": {
            "type": "string",
            "description": "`platform` dimensions are the platform's own objects and their values carry that object's id prefix (`accounting_account_`, `accounting_vendor_`, ...). `generic` dimensions are stored on the connection itself and their values use the `acc_dim_val_` prefix. `custom_field` dimensions are platform custom fields exposed through the same interface; their values are the field's options, each identified by the option value itself.",
            "enum": ["platform", "generic", "custom_field"]
          },
          "parentKey": {
            "type": "string",
            "description": "Key of the dimension whose value narrows this one, when the platform nests dimensions (for example `cost_code` under `project` on Procore). Values can then be filtered by `parentValueId`. Hierarchies inside a single dimension, such as sub-accounts or sub-classes, are not nesting: those values report their parent in `metadata.parentExternalId`.",
            "example": "project"
          },
          "required": {
            "type": "boolean",
            "description": "Every editable line item must carry a value for this dimension before the entry can sync."
          },
          "mappable": {
            "type": "boolean",
            "description": "Whether accounting rules can set this dimension automatically."
          },
          "enabled": {
            "type": "boolean",
            "description": "Whether the dimension is switched on for coding. Disabled dimensions are still listed so you can recognize keys that appear on older entries."
          },
          "defaultValueId": {
            "type": "string",
            "description": "The value new line items receive when none is provided.",
            "example": "accounting_account_2rj4l7hmrrrcv"
          },
          "customField": {
            "type": "object",
            "description": "Present on `custom_field` dimensions. Custom fields are not coded with value ids: their raw values live in `customFields` on the entry (for `entry` level fields) or on each line item (for `line_item` level fields), keyed by `fieldKey`. `select` and `multiselect` fields list their allowed options as this dimension's values.",
            "properties": {
              "fieldKey": {
                "type": "string",
                "description": "The key to use in `customFields`.",
                "example": "cf_cost_center"
              },
              "fieldType": {
                "type": "string",
                "description": "The type of value the field accepts.",
                "enum": ["boolean", "select", "string", "number", "multiselect"]
              },
              "level": {
                "type": "string",
                "description": "Whether the value is set once per entry or per line item.",
                "enum": ["entry", "line_item"]
              }
            },
            "required": ["fieldKey", "fieldType", "level"],
            "additionalProperties": false
          }
        },
        "required": [
          "key",
          "connectionId",
          "name",
          "type",
          "required",
          "mappable",
          "enabled"
        ],
        "additionalProperties": false
      },
      "accounting-dimension-value": {
        "title": "AccountingDimensionValue",
        "description": "One selectable value of a dimension: a general-ledger account, a vendor record, a class, and so on. Use `id` when coding a line item.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Value id. The prefix depends on the dimension's `type`: `accounting_account_`, `accounting_vendor_`, and so on for `platform` dimensions; `acc_dim_val_` for `generic` dimensions. A `custom_field` option's id is the option value itself, the string `customFields` takes.",
            "example": "accounting_account_2rj4l7hmrrrcv"
          },
          "dimensionKey": {
            "type": "string",
            "description": "The dimension this value belongs to.",
            "example": "account"
          },
          "connectionId": {
            "type": "string",
            "example": "accounting_connection_2rj4l7hmrrrcv"
          },
          "name": {
            "type": "string",
            "description": "Display name, as shown in the dashboard and the platform.",
            "example": "6100 Software Subscriptions"
          },
          "externalId": {
            "type": "string",
            "description": "The accounting platform's own id for this value, or the id in the imported file on CSV connections. For the few values a platform reports no id for, a stable id assigned when the value was synced.",
            "example": "80"
          },
          "platformStatus": {
            "type": "string",
            "description": "The value's status on the accounting platform, when it reports one (for example `active` or `archived`). Whether Slash offers the value for coding is `enabled`.",
            "example": "active"
          },
          "parentId": {
            "type": "string",
            "description": "The value on the dimension named by the dimension's `parentKey` that this value belongs under. Only set on nested dimensions.",
            "example": "acc_dim_val_2rj4l7hmrrrcv"
          },
          "enabled": {
            "type": "boolean",
            "description": "Whether a user has switched this value on for coding. Disabled values are not offered in the dashboard but stay valid on existing entries."
          },
          "metadata": {
            "type": "object",
            "description": "Platform-specific details such as the account number, account type, or currency. Keys vary by platform and dimension; treat them as informational.",
            "additionalProperties": true
          }
        },
        "required": [
          "id",
          "dimensionKey",
          "connectionId",
          "name",
          "externalId",
          "enabled"
        ],
        "additionalProperties": false
      },
      "accounting-entry": {
        "title": "AccountingEntry",
        "description": "The accounting record for one settled transaction (or group of related transactions) or one bill. An entry is created automatically when its source settles, coded with dimensions on its line items, and then synced to the connected platform. `status` tracks that lifecycle.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Entry id with the `accounting_entry_` prefix.",
            "example": "accounting_entry_2rj4l7hmrrrcv"
          },
          "connectionId": {
            "type": "string",
            "description": "The accounting connection the entry belongs to.",
            "example": "accounting_connection_2rj4l7hmrrrcv"
          },
          "type": {
            "type": "string",
            "description": "What the entry represents on the platform. `expense_card` and `expense_card_refund` come from card transactions; `bank_transfer`, `bank_deposit`, and `expense` from account transactions; `journal_entry` from transactions posted as journals; `bill` is the accounts-payable bill and `bill_payment` the transaction that settles one. `unknown` entries have not yet been classified.",
            "enum": [
              "unknown",
              "expense",
              "bank_transfer",
              "bank_deposit",
              "journal_entry",
              "expense_card",
              "expense_card_refund",
              "bill_payment",
              "bill"
            ]
          },
          "status": {
            "type": "string",
            "description": "`in_review` until a user or rule marks it ready; `ready_to_sync` when coding is complete; `pending_sync` and `syncing` while a sync is queued or in flight; `synced` once the platform holds it; `failed` when the platform rejected it (see `lastSyncError`); `archived` when excluded from the books.",
            "enum": [
              "in_review",
              "ready_to_sync",
              "pending_sync",
              "syncing",
              "synced",
              "archived",
              "failed"
            ]
          },
          "statusUpdatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When `status` last changed.",
            "example": "2026-09-19T14:05:22.000Z"
          },
          "date": {
            "type": "string",
            "format": "date",
            "description": "Accounting date as `YYYY-MM-DD`: the settlement date of the source transaction or the invoice date of the bill.",
            "example": "2026-09-18"
          },
          "memo": {
            "type": "string",
            "description": "Memo sent to the platform.",
            "example": "AWS hosting, September"
          },
          "amount": {
            "$ref": "#/components/schemas/Money",
            "description": "Net amount in minor units. Negative for money leaving the account (expenses, bill payments) and positive for money arriving. On a bill's entry it is the bill's total, which is positive."
          },
          "source": {
            "type": "object",
            "description": "What the entry was created from.",
            "properties": {
              "type": {
                "type": "string",
                "description": "`transaction` entries reference a transaction; `bill` entries reference a bill from `GET /v2/bills/{billId}`.",
                "enum": ["transaction", "bill"]
              },
              "id": {
                "type": "string",
                "description": "The transaction (`agg_tx_`) or bill (`bill_`) id. For transaction entries it is one of `transactionIds`.",
                "example": "agg_tx_2rj4l7hmrrrcv"
              }
            },
            "required": ["type", "id"],
            "additionalProperties": false
          },
          "transactionIds": {
            "type": "array",
            "description": "Every transaction the entry covers. Usually one; internal transfers and card repayments combine two.",
            "items": {
              "type": "string"
            },
            "example": ["agg_tx_2rj4l7hmrrrcv"]
          },
          "lineItems": {
            "type": "array",
            "description": "Ordered `fixed` lines first, then `editable` lines by `splitIndex`.",
            "items": {
              "$ref": "#/components/schemas/accounting-line-item"
            }
          },
          "lineItemLevelDimensions": {
            "type": "array",
            "description": "For `bill` entries, the dimension keys coded per line item. Dimensions not listed take the same value on every line. Empty for transaction entries.",
            "items": {
              "type": "string"
            },
            "example": ["account", "class"]
          },
          "entryLevelDimensions": {
            "type": "array",
            "description": "Dimension keys the platform records once per entry rather than per line item. Every line item carries the same value for these, and a split cannot code them differently across its lines.",
            "items": {
              "type": "string"
            },
            "example": ["department"]
          },
          "unsupportedDimensions": {
            "type": "array",
            "description": "Dimension keys the platform does not accept for this entry `type`. Any value set on them is dropped at sync time.",
            "items": {
              "type": "string"
            },
            "example": ["customer"]
          },
          "customFields": {
            "type": "object",
            "description": "Raw values of entry level custom fields, keyed by the field's `fieldKey` from `GET /v2/accounting/dimensions`.",
            "additionalProperties": true,
            "example": {
              "cf_approved_by": "jane@acme.com"
            }
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/accounting-attachment"
            }
          },
          "externalId": {
            "type": "string",
            "description": "The platform's id for the synced record. Present once `status` is `synced`.",
            "example": "1234"
          },
          "externalUrl": {
            "type": "string",
            "format": "uri",
            "description": "A link to the record in the platform, when the platform provides one.",
            "example": "https://app.qbo.intuit.com/app/expense?txnId=1234"
          },
          "lastSyncError": {
            "type": "object",
            "description": "Why the most recent sync attempt failed. Present while `status` is `failed`.",
            "properties": {
              "code": {
                "type": "string",
                "description": "Snake_case code from Slash's accounting error catalog, or `sync_error` when the failure isn't one Slash recognizes.",
                "example": "qbo_invalid_account_type"
              },
              "message": {
                "type": "string",
                "description": "What went wrong, in words you can show a user. For unrecognized failures this is the platform's own explanation when it gives one.",
                "example": "The selected account type cannot be used for this type of transaction."
              },
              "title": {
                "type": "string",
                "description": "Short summary of the failure.",
                "example": "Invalid account type"
              },
              "suggestion": {
                "type": "string",
                "description": "How to fix it.",
                "example": "Use an Expense, Cost of Goods Sold, or Other Current Asset type account instead."
              }
            },
            "required": ["code", "message", "title", "suggestion"],
            "additionalProperties": false
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "example": "2026-09-18T20:11:02.000Z"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2026-09-19T14:05:22.000Z"
          }
        },
        "required": [
          "id",
          "connectionId",
          "type",
          "status",
          "statusUpdatedAt",
          "date",
          "amount",
          "source",
          "transactionIds",
          "lineItems",
          "lineItemLevelDimensions",
          "entryLevelDimensions",
          "unsupportedDimensions",
          "customFields",
          "attachments",
          "createdAt",
          "updatedAt"
        ],
        "additionalProperties": false
      },
      "accounting-line-item": {
        "title": "AccountingLineItem",
        "description": "One line of an accounting entry. Entries always carry at least one `fixed` line (the bank or credit-card account the money moved through, or the accounts-payable account on a bill) and one or more `editable` lines that hold the coding. Splitting an entry produces several `editable` lines.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Line item id with the `accounting_line_item_` prefix.",
            "example": "accounting_line_item_2rj4l7hmrrrcv"
          },
          "type": {
            "type": "string",
            "description": "`fixed` lines are set by Slash from the connection's account mappings and cannot be recoded. `editable` lines carry the dimensions you code.",
            "enum": ["fixed", "editable"]
          },
          "amount": {
            "$ref": "#/components/schemas/Money",
            "description": "Signed amount in minor units. Debits are positive and credits negative, so the lines of an entry sum to zero."
          },
          "description": {
            "type": "string",
            "description": "Line memo sent to the platform.",
            "example": "AWS hosting"
          },
          "splitIndex": {
            "type": "integer",
            "description": "Position of the line among the entry's `editable` lines; `0` for unsplit entries.",
            "example": 0
          },
          "transactionId": {
            "type": "string",
            "description": "For transaction entries, the transaction this line settles. Entries that combine several transactions carry one `fixed` line per transaction.",
            "example": "agg_tx_2rj4l7hmrrrcv"
          },
          "dimensions": {
            "type": "object",
            "description": "The line's coding, keyed by dimension key (see `GET /v2/accounting/dimensions`). Only dimensions with a value are present.",
            "additionalProperties": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The dimension value id.",
                  "example": "accounting_account_2rj4l7hmrrrcv"
                },
                "name": {
                  "type": "string",
                  "description": "The value's display name at read time.",
                  "example": "6100 Software Subscriptions"
                }
              },
              "required": ["id"],
              "additionalProperties": false
            },
            "example": {
              "account": {
                "id": "accounting_account_2rj4l7hmrrrcv",
                "name": "6100 Software Subscriptions"
              },
              "class": {
                "id": "accounting_class_3sk5m8inssscw",
                "name": "Engineering"
              }
            }
          },
          "customFields": {
            "type": "object",
            "description": "Raw values of line-item level custom fields, keyed by the field's `fieldKey` from `GET /v2/accounting/dimensions`. Value type follows the field's `fieldType`: strings, numbers, booleans, or arrays of option values for `multiselect`.",
            "additionalProperties": true,
            "example": {
              "cf_cost_center": "CC-100"
            }
          }
        },
        "required": [
          "id",
          "type",
          "amount",
          "splitIndex",
          "dimensions",
          "customFields"
        ],
        "additionalProperties": false
      },
      "accounting-attachment": {
        "title": "AccountingAttachment",
        "description": "A document attached to an accounting entry and pushed to the platform as a receipt or bill image. Download the file through `GET /v2/documents/{documentId}`.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Attachment id with the `accounting_attachment_` prefix.",
            "example": "accounting_attachment_2rj4l7hmrrrcv"
          },
          "documentId": {
            "type": "string",
            "description": "The underlying document.",
            "example": "st_2rj4l7hmrrrcv"
          },
          "filename": {
            "type": "string",
            "example": "receipt-4471.pdf"
          },
          "contentType": {
            "type": "string",
            "description": "MIME type of the file.",
            "example": "application/pdf"
          },
          "status": {
            "type": "string",
            "description": "`pending_sync` until the entry has synced and the file has been pushed; `synced` once the platform holds a copy; `failed` when the push was rejected.",
            "enum": ["pending_sync", "synced", "failed"]
          }
        },
        "required": ["id", "documentId", "filename", "status"],
        "additionalProperties": false
      },
      "accounting-entry-update": {
        "title": "AccountingEntryUpdate",
        "description": "How an entry is coded. Omitted fields are kept and `null` clears a clearable field. Nothing here changes the entry's `status`; use the status actions for that.",
        "type": "object",
        "properties": {
          "memo": {
            "type": "string",
            "maxLength": 5000,
            "nullable": true,
            "description": "The memo posted with the entry. Transaction entries only; it is also written back to the transaction's memo. Bill entries take theirs from the bill.",
            "example": "AWS hosting, September"
          },
          "dimensions": {
            "type": "object",
            "description": "Coding applied across the entry, by dimension key. On a transaction entry `account` is set on every `editable` line and every other dimension on every line. On a bill entry these are the bill-level values: `vendor` and `subsidiary` land on the accounts-payable line, `account` is the expense account of every line, and any dimension named in `lineItemLevelDimensions` must be coded per line instead. A value id sets the dimension, `null` clears it, and an omitted key leaves it alone.",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "example": {
              "vendor": "accounting_vendor_4tl6n9jottdx",
              "department": "accounting_department_5um7o0kputtey"
            }
          },
          "customFields": {
            "type": "object",
            "nullable": true,
            "description": "Replaces the entry-level custom field values, keyed by the field's `fieldKey`; `null` clears them all. Unknown keys and values of the wrong type are `custom_field_value_invalid`. Missing required fields do not fail the update; they block `mark-ready` and `sync` instead.",
            "additionalProperties": true,
            "example": {
              "cf_approved_by": "jane@acme.com"
            }
          },
          "lineItems": {
            "type": "array",
            "minItems": 1,
            "maxItems": 100,
            "description": "On a transaction entry, the complete set of `editable` lines after the update: lines with an `id` are changed in place, lines without one are new splits, and editable lines whose ids are left out are removed. Their amounts must total the transaction amount. `fixed` lines may be listed by `id` to recode them. On a bill entry, lines mirror the bill's line items, so every line needs an `id` and only its coding can change.",
            "items": {
              "$ref": "#/components/schemas/accounting-line-item-update"
            }
          },
          "lineItemLevelDimensions": {
            "type": "array",
            "description": "Bill entries only. The dimensions coded per line rather than once for the bill: any of `account`, `class`, `department`, `location`, `project`, `customer`. Replaces the current list.",
            "items": {
              "type": "string"
            },
            "example": ["class"]
          }
        },
        "additionalProperties": false
      },
      "accounting-line-item-update": {
        "title": "AccountingLineItemUpdate",
        "description": "One line of an entry's `editable` side after the update, or the coding of a `fixed` line. Send `id` to change an existing line in place; omit it on a transaction entry to add a split. Omitted fields are kept and `null` clears a clearable field.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The id of an existing line to change in place. On transaction entries, `editable` lines whose ids are omitted from `lineItems` are removed; `fixed` lines are never removed, so they may be left out.",
            "example": "accounting_line_item_2rj4l7hmrrrcv"
          },
          "amount": {
            "$ref": "#/components/schemas/Money",
            "description": "The line's signed amount. Transaction entries only, `editable` lines only, and required on a new split. The editable lines of an entry must total the transaction amount."
          },
          "description": {
            "type": "string",
            "maxLength": 1000,
            "nullable": true,
            "description": "Line memo sent to the platform. Transaction entries only.",
            "example": "AWS hosting"
          },
          "transactionId": {
            "type": "string",
            "description": "On a new split of an entry that books several transactions, which transaction the line settles. Optional when the entry books one.",
            "example": "agg_tx_2rj4l7hmrrrcv"
          },
          "dimensions": {
            "type": "object",
            "description": "Coding by dimension key, as `GET /v2/accounting/dimensions` lists them. A value id sets the dimension, `null` clears it, and an omitted key leaves it alone. Custom fields go in `customFields`.",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "example": {
              "account": "accounting_account_2rj4l7hmrrrcv",
              "class": "accounting_class_3sk5m8inssscw"
            }
          },
          "customFields": {
            "type": "object",
            "nullable": true,
            "description": "Replaces the line's custom field values, keyed by the field's `fieldKey`; `null` clears them all. Unknown keys and values of the wrong type are `custom_field_value_invalid`. Missing required fields do not fail the update; they block `mark-ready` and `sync` instead.",
            "additionalProperties": true,
            "example": {
              "cf_cost_center": "CC-100"
            }
          }
        },
        "additionalProperties": false
      },
      "accounting-dimension-update": {
        "title": "AccountingDimensionUpdate",
        "description": "Switch a dimension on or off for coding, rename it, or set the value new entries are coded with. Provide any combination of `enabled`, `name` and `defaultValueId`; omitted fields keep their current value.",
        "type": "object",
        "properties": {
          "connectionId": {
            "type": "string",
            "description": "The connection the dimension belongs to. Optional when the legal entity has exactly one connection; required when it has several.",
            "example": "accounting_connection_2rj4l7hmrrrcv"
          },
          "enabled": {
            "type": "boolean",
            "description": "Whether line items can be coded on this dimension. `required` dimensions cannot be disabled."
          },
          "name": {
            "type": "string",
            "description": "New display name, shown in the dashboard. `required` dimensions and `account` cannot be renamed, and `Account` is reserved as a name.",
            "minLength": 1,
            "maxLength": 100,
            "example": "Cost Center"
          },
          "defaultValueId": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 255,
            "description": "The value entries are coded with when nothing else applies, or `null` to stop defaulting. Must be an enabled value of this dimension; disabling that value later clears the default. `custom_field` dimensions take no default.",
            "example": "accounting_class_2rj4l7hmrrrcv"
          }
        },
        "additionalProperties": false
      },
      "accounting-mapping": {
        "title": "AccountingMapping",
        "description": "A rule that codes one dimension automatically: whenever an entry's transaction involves the `source`, the entry gets the mapped value for `dimensionKey`. An `account` source codes the fixed, cash-side line of its transactions; every other source codes the editable lines, and `accounts_payable` sets the account bills are posted to when they sync. Sources are things you can already list through the API (accounts, cards, merchants, recipients, ...); the value is a dimension value id, or for custom-field dimensions the raw field value. One source maps each dimension at most once, so writing the same source and dimension again replaces the earlier mapping.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Mapping id with the `accounting_mapping_` prefix.",
            "example": "accounting_mapping_2rj4l7hmrrrcv"
          },
          "connectionId": {
            "type": "string",
            "description": "The connection the mapping belongs to.",
            "example": "accounting_connection_2rj4l7hmrrrcv"
          },
          "source": {
            "$ref": "#/components/schemas/accounting-mapping-source"
          },
          "dimensionKey": {
            "type": "string",
            "description": "The dimension this mapping codes, a `key` from `GET /v2/accounting/dimensions`.",
            "example": "account"
          },
          "valueId": {
            "type": "string",
            "description": "The dimension value applied, from `GET /v2/accounting/dimensions/{dimensionKey}/values`. Absent on custom-field mappings, which carry `customFieldValue` instead.",
            "example": "accounting_account_2rj4l7hmrrrcv"
          },
          "customFieldValue": {
            "description": "The custom field value applied, present only when `dimensionKey` is a `custom_field` dimension. Its shape follows the field's `fieldType`: an option value for `select`, a list of option values for `multiselect`, otherwise a boolean, string or number.",
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "createdBy": {
            "type": "string",
            "description": "`user` for mappings written by people or the API, `ai` for mappings the accounting intelligence agent proposed and applied.",
            "enum": ["user", "ai"]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "connectionId",
          "source",
          "dimensionKey",
          "createdAt"
        ],
        "additionalProperties": false
      },
      "accounting-mapping-source": {
        "title": "AccountingMappingSource",
        "description": "What a mapping keys on.",
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Which resource `id` names. `account` is an Account (`sa_group_`) and sets the cash-side account of its transactions; `virtual_account` (`subaccount_`), `card` (`c_`), `card_group` (`card_group_`), `merchant` (`merchant_v2_`, from a card transaction's `details.merchant.id`), `merchant_category` (`merchant_category_`, from a card transaction's `details.merchant.categoryId`) and `recipient` (the recipient of a transfer) code the expense side of matching transactions; `accounts_payable` takes no `id` and sets the accounts payable account bills are posted to. When several rules reach the same dimension of one transaction the more specific source wins, from weakest to strongest: `virtual_account`, `card_group`, `card`, `merchant_category`, `merchant`, `recipient`.",
            "enum": [
              "account",
              "virtual_account",
              "card",
              "card_group",
              "merchant",
              "merchant_category",
              "recipient",
              "accounts_payable"
            ]
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "The id of that resource. Required for every type except `accounts_payable`.",
            "example": "c_2rj4l7hmrrrcv"
          }
        },
        "required": ["type"],
        "additionalProperties": false
      },
      "accounting-mapping-upsert": {
        "title": "AccountingMappingUpsert",
        "description": "Create or replace the mapping of one source for one dimension. Exactly one of `valueId` (platform and generic dimensions) or `customFieldValue` (custom-field dimensions) is required.",
        "type": "object",
        "properties": {
          "connectionId": {
            "type": "string",
            "description": "The connection to write to. Optional when the legal entity has exactly one connection; required when it has several.",
            "example": "accounting_connection_2rj4l7hmrrrcv"
          },
          "source": {
            "$ref": "#/components/schemas/accounting-mapping-source-input"
          },
          "dimensionKey": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "The dimension to code, a `key` from `GET /v2/accounting/dimensions` that is `enabled` and `mappable` on the connection.",
            "example": "account"
          },
          "valueId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "An enabled value of that dimension, from `GET /v2/accounting/dimensions/{dimensionKey}/values`. Not accepted for custom-field dimensions.",
            "example": "accounting_account_2rj4l7hmrrrcv"
          },
          "customFieldValue": {
            "description": "The value to set on a `custom_field` dimension, shaped by its `fieldType`: an option value for `select`, a non-empty list of option values for `multiselect`, otherwise a boolean, string or number. Not accepted for other dimensions.",
            "oneOf": [
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 255
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              },
              {
                "type": "array",
                "minItems": 1,
                "maxItems": 100,
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 255
                }
              }
            ]
          },
          "applyToExistingEntries": {
            "type": "boolean",
            "description": "Also re-code existing entries whose transactions match the source, in the background. Only entries still `in_review` change; anything already synced or ready to sync is left alone. Has no effect on an `accounts_payable` mapping, which is read when a bill syncs. Defaults to `false`, which only affects entries created from now on.",
            "default": false
          }
        },
        "required": ["source", "dimensionKey"],
        "additionalProperties": false
      },
      "accounting-mapping-source-input": {
        "title": "AccountingMappingSourceInput",
        "description": "What a mapping keys on.",
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Which resource `id` names. `account` is an Account (`sa_group_`) and sets the cash-side account of its transactions; `virtual_account` (`subaccount_`), `card` (`c_`), `card_group` (`card_group_`), `merchant` (`merchant_v2_`, from a card transaction's `details.merchant.id`), `merchant_category` (`merchant_category_`, from a card transaction's `details.merchant.categoryId`) and `recipient` (the recipient of a transfer) code the expense side of matching transactions; `accounts_payable` takes no `id` and sets the accounts payable account bills are posted to. When several rules reach the same dimension of one transaction the more specific source wins, from weakest to strongest: `virtual_account`, `card_group`, `card`, `merchant_category`, `merchant`, `recipient`.",
            "enum": [
              "account",
              "virtual_account",
              "card",
              "card_group",
              "merchant",
              "merchant_category",
              "recipient",
              "accounts_payable"
            ]
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "The id of that resource. Required for every type except `accounts_payable`.",
            "example": "c_2rj4l7hmrrrcv"
          }
        },
        "required": ["type"],
        "additionalProperties": false
      },
      "accounting-intelligence-settings": {
        "title": "AccountingIntelligenceSettings",
        "description": "How the accounting intelligence agent auto-codes a connection's entries. The agent reads a transaction's merchant, card and history, proposes a value for each enabled dimension and writes it as an `ai` mapping, so its work shows up in `GET /v2/accounting/mappings` and can be corrected there.",
        "type": "object",
        "properties": {
          "connectionId": {
            "type": "string",
            "example": "accounting_connection_2rj4l7hmrrrcv"
          },
          "mode": {
            "type": "string",
            "description": "`disabled` never auto-codes. `all_fields` auto-codes every dimension in `supportedDimensionKeys`. `selected_fields` auto-codes only the dimensions chosen in `enabledDimensionKeys`.",
            "enum": ["disabled", "all_fields", "selected_fields"]
          },
          "enabledDimensionKeys": {
            "type": "array",
            "description": "The dimensions the agent codes under the current mode: empty when `disabled`, every supported key when `all_fields`, the chosen keys when `selected_fields`.",
            "items": {
              "type": "string"
            },
            "example": ["account", "class"]
          },
          "supportedDimensionKeys": {
            "type": "array",
            "description": "The dimensions the agent can code on this platform.",
            "items": {
              "type": "string"
            },
            "example": [
              "account",
              "class",
              "vendor",
              "customer",
              "department",
              "location",
              "project"
            ]
          }
        },
        "required": [
          "connectionId",
          "mode",
          "enabledDimensionKeys",
          "supportedDimensionKeys"
        ],
        "additionalProperties": false
      },
      "accounting-intelligence-settings-update": {
        "title": "AccountingIntelligenceSettingsUpdate",
        "description": "Change how the accounting intelligence agent auto-codes a connection. Provide `mode`, `enabledDimensionKeys`, or both; omitted fields keep their current value.",
        "type": "object",
        "properties": {
          "connectionId": {
            "type": "string",
            "description": "The connection to update. Optional when the legal entity has exactly one connection; required when it has several.",
            "example": "accounting_connection_2rj4l7hmrrrcv"
          },
          "mode": {
            "type": "string",
            "description": "`disabled` stops auto-coding, `all_fields` codes every supported dimension, `selected_fields` codes only `enabledDimensionKeys`.",
            "enum": ["disabled", "all_fields", "selected_fields"]
          },
          "enabledDimensionKeys": {
            "type": "array",
            "description": "The dimensions to auto-code when the resulting `mode` is `selected_fields`, where at least one key is required; each key must be in `supportedDimensionKeys`. With any other mode, send an empty list or exactly what `GET` reports for that mode (every supported key for `all_fields`, none for `disabled`), so the settings object can be sent back as read. The selection is kept only while the mode is `selected_fields`, so switching back to it needs the keys again.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "maxItems": 50,
            "example": ["account", "class"]
          }
        },
        "additionalProperties": false
      },
      "bill-inbox": {
        "title": "BillInbox",
        "description": "The legal entity's accounts-payable email inbox. Invoices emailed to `address` are parsed into draft bills with `source: email`.",
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "format": "email",
            "description": "The address to forward invoices to. Absent only for a legal entity that has not finished onboarding.",
            "example": "acme@ap.slash.com"
          },
          "authorizedSenders": {
            "type": "array",
            "description": "Senders allowlisted for the inbox, oldest first. Emails from users of the legal entity, addresses on its company domain and known vendors' domains are accepted without an entry here.",
            "items": {
              "$ref": "#/components/schemas/bill-inbox-sender"
            }
          }
        },
        "additionalProperties": false
      },
      "bill-inbox-sender": {
        "title": "BillInboxSender",
        "description": "An email address or domain the legal entity has allowlisted for its accounts-payable inbox. Invoices from an allowlisted sender become draft bills even when the sender is not a user, on the company's domain, or a known vendor.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Sender id with the `ais_` prefix. Remove the sender with `DELETE /v2/bills/inbox/senders/{senderId}`.",
            "example": "ais_2rj4l7hmrrrcv"
          },
          "type": {
            "type": "string",
            "description": "`email` matches one address exactly; `domain` matches every address at that domain.",
            "enum": ["email", "domain"]
          },
          "value": {
            "type": "string",
            "description": "The lowercased address or bare domain.",
            "example": "billing@vendor.com"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the sender was allowlisted."
          }
        },
        "required": ["id", "type", "value", "createdAt"],
        "additionalProperties": false
      },
      "bill-inbox-sender-create": {
        "title": "BillInboxSenderCreate",
        "description": "Allowlist an email address or a whole domain for the accounts-payable inbox.",
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "`email` to allowlist one address, `domain` to allowlist every address at a domain.",
            "enum": ["email", "domain"]
          },
          "value": {
            "type": "string",
            "description": "The address (`billing@vendor.com`) or bare domain (`vendor.com`), matched case-insensitively. Public mail providers such as `gmail.com` cannot be allowlisted as a domain; add the individual address instead.",
            "minLength": 1,
            "maxLength": 254,
            "example": "billing@vendor.com"
          }
        },
        "required": ["type", "value"],
        "additionalProperties": false
      },
      "accounting-entry-bulk-result": {
        "type": "object",
        "title": "AccountingEntryBulkResult",
        "description": "The outcome of one status action run over a batch of entries. Every entry is decided on its own, so a batch can be partly applied: `results` is in the order the ids were given, and the counts summarize it.",
        "properties": {
          "results": {
            "type": "array",
            "description": "One result per requested entry, in request order.",
            "items": {
              "type": "object",
              "properties": {
                "entryId": {
                  "type": "string",
                  "description": "The entry this result is for.",
                  "example": "accounting_entry_2rj4l7hmrrrcv"
                },
                "status": {
                  "type": "string",
                  "description": "`updated` when the entry moved, `unchanged` when it was already there, `failed` when it could not move.",
                  "enum": ["updated", "unchanged", "failed"]
                },
                "error": {
                  "type": "object",
                  "description": "Why the entry could not move. Only set when `status` is `failed`.",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "The code the single-entry action returns for the same condition: `not_found` when no entry with that id is visible to the credential, otherwise why the entry cannot make this move.",
                      "enum": [
                        "not_found",
                        "bill_payment_entry_read_only",
                        "entry_sync_in_progress",
                        "connection_not_syncable",
                        "entry_not_ready"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "description": "The reason, in the same words the single-entry routes use.",
                      "example": "The entry is not ready to sync: Line 1 has no account."
                    }
                  },
                  "required": ["code", "message"],
                  "additionalProperties": false
                }
              },
              "required": ["entryId", "status"],
              "additionalProperties": false
            }
          },
          "updated": {
            "type": "integer",
            "description": "How many entries moved."
          },
          "unchanged": {
            "type": "integer",
            "description": "How many entries were already in the target state."
          },
          "failed": {
            "type": "integer",
            "description": "How many entries could not move."
          }
        },
        "required": ["results", "updated", "unchanged", "failed"],
        "additionalProperties": false
      },
      "customer": {
        "title": "Customer",
        "description": "Someone you invoice. An invoice copies the customer's name, email and address into its `billedTo` when it's created, so editing a customer doesn't change invoices already issued.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Customer id with the `le_cus_` prefix.",
            "example": "le_cus_2rj4l7hmrrrcv"
          },
          "name": {
            "type": "string",
            "description": "The name invoices are addressed to.",
            "example": "Acme Robotics"
          },
          "email": {
            "type": "string",
            "description": "Where invoices and reminders are sent.",
            "example": "ap@acme.example"
          },
          "phone": {
            "type": "string",
            "example": "+14155550123"
          },
          "address": {
            "$ref": "#/components/schemas/address"
          },
          "status": {
            "type": "string",
            "enum": ["active", "archived"],
            "description": "`archived` marks a customer you no longer bill. Archived customers can still be invoiced and are listed unless you filter by `status`."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": ["id", "name", "email", "status", "createdAt"]
      },
      "customer-create": {
        "title": "CustomerCreate",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "The name invoices are addressed to."
          },
          "email": {
            "type": "string",
            "format": "email",
            "description": "Where invoices and reminders are sent."
          },
          "phone": {
            "type": "string",
            "minLength": 1,
            "maxLength": 50
          },
          "address": {
            "$ref": "#/components/schemas/address"
          }
        },
        "required": ["name", "email"],
        "additionalProperties": false
      },
      "customer-update": {
        "title": "CustomerUpdate",
        "description": "Partial update. An omitted field is left unchanged; `address` is replaced as a whole. Invoices already issued keep the details they were created with.",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "phone": {
            "type": "string",
            "minLength": 1,
            "maxLength": 50
          },
          "address": {
            "$ref": "#/components/schemas/address"
          }
        },
        "additionalProperties": false
      },
      "invoice": {
        "title": "Invoice",
        "description": "A request for payment you send a customer. Slash emails it, hosts a payment page at `payUrl`, matches incoming deposits to it and keeps its `status` and `amounts` up to date. All amounts are in USD.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Invoice id with the `inv_` prefix.",
            "example": "inv_2rj4l7hmrrrcv"
          },
          "number": {
            "type": "string",
            "description": "Unique per legal entity.",
            "example": "INV-1042"
          },
          "status": {
            "type": "string",
            "enum": ["scheduled", "unpaid", "partially_paid", "paid", "void"],
            "description": "See [Invoice lifecycle](/docs/v2/invoices/overview#invoice-lifecycle)."
          },
          "overdue": {
            "type": "boolean",
            "description": "Whether the invoice is `unpaid` or `partially_paid` and its due date has passed in its `timezone`."
          },
          "customerId": {
            "type": "string",
            "description": "Customer id with the `le_cus_` prefix.",
            "example": "le_cus_2rj4l7hmrrrcv"
          },
          "accountId": {
            "type": "string",
            "description": "The account payments settle into, with the `sa_group_` prefix.",
            "example": "sa_group_2rj4l7hmrrrcv"
          },
          "virtualAccountId": {
            "type": "string",
            "description": "The virtual account payments settle into, with the `subaccount_` prefix. Absent when they settle into the account's primary virtual account."
          },
          "seriesId": {
            "type": "string",
            "description": "The recurring series that issued the invoice, with the `inv_series_` prefix."
          },
          "issueDate": {
            "type": "string",
            "format": "date"
          },
          "dueDate": {
            "type": "string",
            "format": "date"
          },
          "timezone": {
            "type": "string",
            "description": "The IANA timezone the invoice's dates are in.",
            "example": "America/New_York"
          },
          "scheduledSendDate": {
            "type": "string",
            "format": "date",
            "description": "When a `scheduled` invoice will be emailed, at 9:00 in its `timezone`."
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoice-line-item"
            }
          },
          "discount": {
            "$ref": "#/components/schemas/invoice-discount"
          },
          "taxRate": {
            "type": "number",
            "description": "Tax as a percent of the subtotal after the discount. `8.5` means 8.5%.",
            "example": 8.5
          },
          "amounts": {
            "type": "object",
            "properties": {
              "subtotal": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Money"
                  }
                ],
                "description": "The line items' totals added up."
              },
              "discount": {
                "$ref": "#/components/schemas/Money"
              },
              "tax": {
                "$ref": "#/components/schemas/Money"
              },
              "total": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Money"
                  }
                ],
                "description": "What the customer owes in all."
              },
              "paid": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Money"
                  }
                ],
                "description": "What has been paid so far."
              },
              "outstanding": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Money"
                  }
                ],
                "description": "What is still owed. Zero once the invoice is `paid` or `void`."
              }
            },
            "required": [
              "subtotal",
              "discount",
              "tax",
              "total",
              "paid",
              "outstanding"
            ]
          },
          "memo": {
            "type": "string",
            "description": "A note printed on the invoice."
          },
          "ccEmails": {
            "type": "array",
            "description": "Also copied on the invoice and its reminders.",
            "items": {
              "type": "string"
            }
          },
          "billedTo": {
            "type": "object",
            "description": "The customer's details as they were when the invoice was created.",
            "properties": {
              "name": {
                "type": "string"
              },
              "email": {
                "type": "string"
              },
              "address": {
                "$ref": "#/components/schemas/address"
              }
            },
            "required": ["name", "email"]
          },
          "paymentMethods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoice-payment-method"
            }
          },
          "payments": {
            "type": "array",
            "description": "Oldest first.",
            "items": {
              "$ref": "#/components/schemas/invoice-payment"
            }
          },
          "payUrl": {
            "type": "string",
            "description": "The hosted page where the customer views and pays the invoice."
          },
          "documentId": {
            "type": "string",
            "description": "The invoice's PDF, with the `st_` prefix. Download it with `GET /v2/documents/{documentId}`. Each edit issues a new PDF.",
            "example": "st_2rj4l7hmrrrcv"
          },
          "nextReminderAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the next automatic reminder is due to go out."
          },
          "paidAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the invoice became `paid`."
          },
          "voidedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the invoice was voided."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "number",
          "status",
          "overdue",
          "accountId",
          "issueDate",
          "dueDate",
          "timezone",
          "lineItems",
          "amounts",
          "ccEmails",
          "billedTo",
          "paymentMethods",
          "payments",
          "payUrl",
          "documentId",
          "createdAt"
        ]
      },
      "invoice-line-item": {
        "title": "InvoiceLineItem",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Robot arm maintenance"
          },
          "quantity": {
            "type": "number",
            "example": 2
          },
          "unitAmount": {
            "$ref": "#/components/schemas/Money"
          },
          "total": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Money"
              }
            ],
            "description": "`quantity` times `unitAmount`."
          },
          "catalogItemId": {
            "type": "string",
            "description": "The catalog item the line was added from, with the `cat_item_` prefix. The line keeps the name and price it was written with."
          }
        },
        "required": ["name", "quantity", "unitAmount", "total"]
      },
      "invoice-discount": {
        "title": "InvoiceDiscount",
        "description": "Taken off the line items' subtotal before tax.",
        "oneOf": [
          {
            "title": "Percentage",
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["percentage"]
              },
              "percent": {
                "type": "number",
                "description": "Percent of the subtotal. `10` means 10%.",
                "example": 10
              }
            },
            "required": ["type", "percent"]
          },
          {
            "title": "Fixed",
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["fixed"]
              },
              "amount": {
                "$ref": "#/components/schemas/Money"
              }
            },
            "required": ["type", "amount"]
          }
        ]
      },
      "invoice-payment-method": {
        "title": "InvoicePaymentMethod",
        "description": "A way the payer can pay on the invoice's payment page.",
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["bank_transfer", "ach_debit", "card", "crypto"],
            "description": "`bank_transfer` (ACH, wire or realtime payment to the account's details) is always offered."
          },
          "passFeeToPayer": {
            "type": "boolean",
            "description": "Whether the payer covers the method's processing fee."
          }
        },
        "required": ["type", "passFeeToPayer"]
      },
      "invoice-payment": {
        "title": "InvoicePayment",
        "description": "Money recorded against an invoice: a deposit Slash matched to it, or a payment you recorded.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Payment id with the `inv_tr_link_` prefix. Remove it with `DELETE /v2/invoices/{invoiceId}/payments/{paymentId}`.",
            "example": "inv_tr_link_2rj4l7hmrrrcv"
          },
          "amount": {
            "$ref": "#/components/schemas/Money"
          },
          "paidOn": {
            "type": "string",
            "format": "date",
            "description": "The day the payment arrived, in the invoice's `timezone`."
          },
          "method": {
            "type": "string",
            "enum": [
              "ach",
              "wire",
              "international_wire",
              "realtime",
              "ach_debit",
              "card",
              "crypto",
              "other"
            ],
            "description": "How the money arrived."
          },
          "transactionId": {
            "type": "string",
            "description": "The deposit, with the `agg_tx_` prefix, readable at `GET /v2/transactions/{transactionId}`. Absent for payments received outside Slash.",
            "example": "agg_tx_2rj4l7hmrrrcv"
          },
          "matchedBy": {
            "type": "string",
            "enum": ["automatic", "manual"],
            "description": "`automatic` when Slash matched the deposit or the payer paid on the payment page; `manual` when it was recorded by hand."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the payment was recorded."
          }
        },
        "required": [
          "id",
          "amount",
          "paidOn",
          "method",
          "matchedBy",
          "createdAt"
        ]
      },
      "invoice-summary": {
        "title": "InvoiceSummary",
        "description": "Totals across every invoice the filters match, not just the current page.",
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "minimum": 0,
            "description": "How many invoices match."
          },
          "outstanding": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Money"
              }
            ],
            "description": "What the matching invoices still owe."
          }
        },
        "required": ["count", "outstanding"]
      },
      "invoice-create": {
        "title": "InvoiceCreate",
        "type": "object",
        "properties": {
          "customerId": {
            "type": "string",
            "description": "Customer id with the `le_cus_` prefix."
          },
          "accountId": {
            "type": "string",
            "description": "The account payments settle into, with the `sa_group_` prefix. Required when the legal entity has more than one account that can receive payments."
          },
          "virtualAccountId": {
            "type": "string",
            "description": "A virtual account to settle into instead of the account's primary one, with the `subaccount_` prefix."
          },
          "number": {
            "type": "string",
            "minLength": 1,
            "maxLength": 50,
            "pattern": "^[A-Z0-9_-]+$",
            "description": "Uppercase letters, digits, dashes and underscores. Defaults to the next number in your invoice settings.",
            "example": "INV-1042"
          },
          "issueDate": {
            "type": "string",
            "format": "date"
          },
          "dueDate": {
            "type": "string",
            "format": "date",
            "description": "On or after `issueDate`."
          },
          "timezone": {
            "type": "string",
            "minLength": 1,
            "description": "The IANA timezone the invoice's dates are in.",
            "example": "America/New_York"
          },
          "scheduledSendDate": {
            "type": "string",
            "format": "date",
            "description": "Email the invoice at 9:00 on this day in `timezone` instead of now. The invoice stays `scheduled` until then."
          },
          "lineItems": {
            "type": "array",
            "minItems": 1,
            "maxItems": 200,
            "items": {
              "$ref": "#/components/schemas/invoice-line-item-create"
            }
          },
          "discount": {
            "$ref": "#/components/schemas/invoice-discount-create"
          },
          "taxRate": {
            "type": "number",
            "minimum": 0,
            "maximum": 100,
            "description": "Tax as a percent of the subtotal after the discount. `8.5` means 8.5%."
          },
          "memo": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500,
            "description": "A note printed on the invoice."
          },
          "ccEmails": {
            "type": "array",
            "maxItems": 10,
            "uniqueItems": true,
            "description": "Also copied on the invoice and its reminders.",
            "items": {
              "type": "string",
              "format": "email"
            }
          },
          "paymentMethods": {
            "type": "array",
            "maxItems": 4,
            "description": "How the customer can pay, each type at most once. `bank_transfer` is always offered, so omit this to offer only that.",
            "items": {
              "$ref": "#/components/schemas/invoice-payment-method-input"
            }
          }
        },
        "required": [
          "customerId",
          "issueDate",
          "dueDate",
          "timezone",
          "lineItems"
        ],
        "additionalProperties": false
      },
      "invoice-line-item-create": {
        "title": "InvoiceLineItemCreate",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "example": "Robot arm maintenance"
          },
          "quantity": {
            "type": "number",
            "exclusiveMinimum": 0,
            "description": "Number of units greater than zero. Fractional quantities are allowed.",
            "example": 2
          },
          "unitAmount": {
            "type": "object",
            "description": "Price per unit in USD cents.",
            "properties": {
              "amount": {
                "type": "integer",
                "minimum": 0,
                "example": 45000
              },
              "currency": {
                "type": "string",
                "enum": ["USD"]
              }
            },
            "required": ["amount", "currency"],
            "additionalProperties": false
          },
          "catalogItemId": {
            "type": "string",
            "description": "The catalog item this line comes from, with the `cat_item_` prefix. Send the item's `name` and `unitAmount` too; the line keeps what you send."
          }
        },
        "required": ["name", "quantity", "unitAmount"],
        "additionalProperties": false
      },
      "invoice-discount-create": {
        "title": "InvoiceDiscountCreate",
        "description": "Taken off the line items' subtotal before tax.",
        "oneOf": [
          {
            "title": "Percentage",
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["percentage"]
              },
              "percent": {
                "type": "number",
                "exclusiveMinimum": 0,
                "maximum": 100,
                "description": "Percent of the subtotal. `10` means 10%.",
                "example": 10
              }
            },
            "required": ["type", "percent"],
            "additionalProperties": false
          },
          {
            "title": "Fixed",
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["fixed"]
              },
              "amount": {
                "$ref": "#/components/schemas/UsdMoney"
              }
            },
            "required": ["type", "amount"],
            "additionalProperties": false
          }
        ]
      },
      "invoice-payment-method-input": {
        "title": "InvoicePaymentMethodInput",
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["bank_transfer", "ach_debit", "card", "crypto"]
          },
          "passFeeToPayer": {
            "type": "boolean",
            "description": "Whether the payer covers the processing fee. Defaults to `false`; ignored for `bank_transfer`."
          }
        },
        "required": ["type"],
        "additionalProperties": false
      },
      "invoice-update": {
        "title": "InvoiceUpdate",
        "description": "Partial update. An omitted field is left unchanged; `null` clears a clearable field. `lineItems`, `ccEmails` and `paymentMethods` are replaced as a whole.",
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "description": "The account payments settle into, with the `sa_group_` prefix."
          },
          "virtualAccountId": {
            "type": "string",
            "nullable": true,
            "description": "A virtual account to settle into, with the `subaccount_` prefix. `null` settles into the account's primary virtual account."
          },
          "number": {
            "type": "string",
            "minLength": 1,
            "maxLength": 50,
            "pattern": "^[A-Z0-9_-]+$"
          },
          "issueDate": {
            "type": "string",
            "format": "date"
          },
          "dueDate": {
            "type": "string",
            "format": "date"
          },
          "timezone": {
            "type": "string",
            "minLength": 1
          },
          "scheduledSendDate": {
            "type": "string",
            "format": "date",
            "description": "Only for `scheduled` invoices."
          },
          "lineItems": {
            "type": "array",
            "minItems": 1,
            "maxItems": 200,
            "items": {
              "$ref": "#/components/schemas/invoice-line-item-create"
            }
          },
          "discount": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/invoice-discount-create"
              }
            ],
            "description": "`null` removes the discount."
          },
          "taxRate": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 100,
            "description": "`null` removes the tax."
          },
          "memo": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 500,
            "description": "`null` clears the memo."
          },
          "ccEmails": {
            "type": "array",
            "maxItems": 10,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "format": "email"
            }
          },
          "paymentMethods": {
            "type": "array",
            "maxItems": 4,
            "items": {
              "$ref": "#/components/schemas/invoice-payment-method-input"
            }
          }
        },
        "additionalProperties": false
      },
      "invoice-payment-create": {
        "title": "InvoicePaymentCreate",
        "description": "Send exactly one of `transactionId` or `external`. The payment replaces any payments already recorded.",
        "type": "object",
        "properties": {
          "transactionId": {
            "type": "string",
            "description": "A deposit that paid the invoice, with the `agg_tx_` prefix. The payment is the deposit's amount.",
            "example": "agg_tx_2rj4l7hmrrrcv"
          },
          "external": {
            "type": "object",
            "description": "A payment received outside Slash, for the invoice's total.",
            "properties": {
              "paidOn": {
                "type": "string",
                "format": "date",
                "description": "The day the payment arrived, as `YYYY-MM-DD`."
              },
              "method": {
                "type": "string",
                "enum": [
                  "ach",
                  "wire",
                  "international_wire",
                  "realtime",
                  "ach_debit",
                  "card",
                  "crypto",
                  "other"
                ],
                "description": "How the money arrived."
              }
            },
            "required": ["paidOn", "method"],
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "invoice-payment-instructions": {
        "title": "InvoicePaymentInstructions",
        "description": "How a payer can pay the invoice outside the payment page.",
        "type": "object",
        "properties": {
          "bankTransfer": {
            "type": "object",
            "description": "The bank details printed on the invoice. Payments sent with `reference` are matched to the invoice automatically.",
            "properties": {
              "beneficiaryName": {
                "type": "string"
              },
              "beneficiaryAddress": {
                "type": "string"
              },
              "bankName": {
                "type": "string"
              },
              "bankAddress": {
                "type": "string"
              },
              "accountNumber": {
                "type": "string"
              },
              "routingNumber": {
                "type": "string",
                "description": "ABA routing number for ACH, wire and realtime payments."
              },
              "swift": {
                "type": "string",
                "description": "SWIFT code for international wires."
              },
              "reference": {
                "type": "string",
                "description": "What the payer should put in the payment's memo."
              }
            },
            "required": ["beneficiaryName", "bankName"]
          },
          "crypto": {
            "type": "array",
            "description": "Deposit addresses, when the invoice takes `crypto`.",
            "items": {
              "type": "object",
              "properties": {
                "currency": {
                  "type": "string",
                  "example": "USDC"
                },
                "network": {
                  "type": "string",
                  "example": "ethereum"
                },
                "address": {
                  "type": "string"
                },
                "memo": {
                  "type": "string",
                  "description": "Include with the deposit on networks that need one."
                }
              },
              "required": ["currency", "network", "address"]
            }
          }
        },
        "required": ["bankTransfer", "crypto"]
      },
      "invoice-series": {
        "title": "InvoiceSeries",
        "description": "Issues the same invoice to a customer on a schedule. Each invoice is created `scheduled` ahead of its send date, is sent at 9:00 in the series' `timezone`, and then behaves like any other invoice. All amounts are in USD.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Series id with the `inv_series_` prefix.",
            "example": "inv_series_2rj4l7hmrrrcv"
          },
          "status": {
            "type": "string",
            "enum": ["active", "ended", "cancelled"],
            "description": "See [How a series works](/docs/v2/invoices/recurring-invoices#how-a-series-works)."
          },
          "customerId": {
            "type": "string",
            "description": "Customer id with the `le_cus_` prefix."
          },
          "accountId": {
            "type": "string",
            "description": "The account payments settle into, with the `sa_group_` prefix."
          },
          "virtualAccountId": {
            "type": "string",
            "description": "The virtual account payments settle into, with the `subaccount_` prefix. Absent when they settle into the account's primary virtual account."
          },
          "recurrence": {
            "$ref": "#/components/schemas/invoice-series-recurrence"
          },
          "startDate": {
            "type": "string",
            "format": "date",
            "description": "The first day the series can issue an invoice on."
          },
          "timezone": {
            "type": "string",
            "description": "The IANA timezone the series' dates are in.",
            "example": "America/New_York"
          },
          "paymentTermsDays": {
            "type": "integer",
            "description": "Each invoice is due this many days after it's issued."
          },
          "end": {
            "$ref": "#/components/schemas/invoice-series-end"
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoice-line-item"
            }
          },
          "discount": {
            "$ref": "#/components/schemas/invoice-discount"
          },
          "taxRate": {
            "type": "number",
            "description": "Tax as a percent of the subtotal after the discount."
          },
          "amounts": {
            "type": "object",
            "description": "Each invoice's amounts.",
            "properties": {
              "subtotal": {
                "$ref": "#/components/schemas/Money"
              },
              "discount": {
                "$ref": "#/components/schemas/Money"
              },
              "tax": {
                "$ref": "#/components/schemas/Money"
              },
              "total": {
                "$ref": "#/components/schemas/Money"
              }
            },
            "required": ["subtotal", "discount", "tax", "total"]
          },
          "memo": {
            "type": "string"
          },
          "ccEmails": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "paymentMethods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/invoice-payment-method"
            }
          },
          "nextInvoiceDate": {
            "type": "string",
            "format": "date",
            "description": "When the next invoice goes out. Only on `active` series."
          },
          "nextInvoiceId": {
            "type": "string",
            "description": "The next invoice, already created as `scheduled`, with the `inv_` prefix. Only on `active` series."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "status",
          "accountId",
          "recurrence",
          "startDate",
          "timezone",
          "paymentTermsDays",
          "end",
          "lineItems",
          "amounts",
          "ccEmails",
          "paymentMethods",
          "createdAt"
        ]
      },
      "invoice-series-recurrence": {
        "title": "InvoiceSeriesRecurrence",
        "description": "Which days the series issues an invoice on.",
        "oneOf": [
          {
            "title": "Weekly",
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["weekly"]
              },
              "dayOfWeek": {
                "type": "integer",
                "minimum": 0,
                "maximum": 6,
                "description": "`0` is Sunday."
              }
            },
            "required": ["type", "dayOfWeek"],
            "additionalProperties": false
          },
          {
            "title": "Monthly on a date",
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["monthly_day_of_month"]
              },
              "dayOfMonth": {
                "type": "integer",
                "minimum": 1,
                "maximum": 31,
                "description": "In shorter months, the last day of the month."
              }
            },
            "required": ["type", "dayOfMonth"],
            "additionalProperties": false
          },
          {
            "title": "Monthly on a weekday",
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["monthly_nth_weekday"]
              },
              "nth": {
                "oneOf": [
                  {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 4
                  },
                  {
                    "type": "string",
                    "enum": ["last"]
                  }
                ],
                "description": "Which occurrence of `dayOfWeek` in the month."
              },
              "dayOfWeek": {
                "type": "integer",
                "minimum": 0,
                "maximum": 6,
                "description": "`0` is Sunday."
              }
            },
            "required": ["type", "nth", "dayOfWeek"],
            "additionalProperties": false
          }
        ]
      },
      "invoice-series-end": {
        "title": "InvoiceSeriesEnd",
        "description": "When the series stops issuing invoices.",
        "oneOf": [
          {
            "title": "Never",
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["never"]
              }
            },
            "required": ["type"],
            "additionalProperties": false
          },
          {
            "title": "After a number of invoices",
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["after_count"]
              },
              "count": {
                "type": "integer",
                "minimum": 1,
                "description": "How many invoices the series issues in all."
              }
            },
            "required": ["type", "count"],
            "additionalProperties": false
          },
          {
            "title": "On a date",
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["on_date"]
              },
              "date": {
                "type": "string",
                "format": "date",
                "description": "No invoices are issued after this day."
              }
            },
            "required": ["type", "date"],
            "additionalProperties": false
          }
        ]
      },
      "invoice-series-create": {
        "title": "InvoiceSeriesCreate",
        "type": "object",
        "properties": {
          "customerId": {
            "type": "string",
            "description": "Customer id with the `le_cus_` prefix."
          },
          "accountId": {
            "type": "string",
            "description": "The account payments settle into, with the `sa_group_` prefix. Required when the legal entity has more than one account that can receive payments."
          },
          "virtualAccountId": {
            "type": "string",
            "description": "A virtual account to settle into instead of the account's primary one, with the `subaccount_` prefix."
          },
          "recurrence": {
            "$ref": "#/components/schemas/invoice-series-recurrence"
          },
          "startDate": {
            "type": "string",
            "format": "date",
            "description": "The first day the series can issue an invoice on: today or later in `timezone`."
          },
          "timezone": {
            "type": "string",
            "minLength": 1,
            "description": "The IANA timezone the series' dates are in.",
            "example": "America/New_York"
          },
          "paymentTermsDays": {
            "type": "integer",
            "minimum": 0,
            "maximum": 365,
            "description": "Each invoice is due this many days after it's issued."
          },
          "end": {
            "allOf": [
              {
                "$ref": "#/components/schemas/invoice-series-end"
              }
            ],
            "description": "Defaults to `{ \"type\": \"never\" }`."
          },
          "lineItems": {
            "type": "array",
            "minItems": 1,
            "maxItems": 200,
            "items": {
              "$ref": "#/components/schemas/invoice-line-item-create"
            }
          },
          "discount": {
            "$ref": "#/components/schemas/invoice-discount-create"
          },
          "taxRate": {
            "type": "number",
            "minimum": 0,
            "maximum": 100,
            "description": "Tax as a percent of the subtotal after the discount."
          },
          "memo": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500
          },
          "ccEmails": {
            "type": "array",
            "maxItems": 10,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "format": "email"
            }
          },
          "paymentMethods": {
            "type": "array",
            "maxItems": 4,
            "description": "How the customer can pay, each type at most once. `bank_transfer` is always offered.",
            "items": {
              "$ref": "#/components/schemas/invoice-payment-method-input"
            }
          }
        },
        "required": [
          "customerId",
          "recurrence",
          "startDate",
          "timezone",
          "paymentTermsDays",
          "lineItems"
        ],
        "additionalProperties": false
      },
      "invoice-series-update": {
        "title": "InvoiceSeriesUpdate",
        "description": "Partial update. An omitted field is left unchanged; `null` clears a clearable field. `recurrence`, `end`, `lineItems`, `ccEmails` and `paymentMethods` are replaced as a whole. Changes apply to the next invoice and every one after it.",
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "description": "The account payments settle into, with the `sa_group_` prefix."
          },
          "virtualAccountId": {
            "type": "string",
            "nullable": true,
            "description": "A virtual account to settle into, with the `subaccount_` prefix. `null` settles into the account's primary virtual account."
          },
          "recurrence": {
            "$ref": "#/components/schemas/invoice-series-recurrence"
          },
          "startDate": {
            "type": "string",
            "format": "date"
          },
          "timezone": {
            "type": "string",
            "minLength": 1
          },
          "paymentTermsDays": {
            "type": "integer",
            "minimum": 0,
            "maximum": 365
          },
          "end": {
            "$ref": "#/components/schemas/invoice-series-end"
          },
          "lineItems": {
            "type": "array",
            "minItems": 1,
            "maxItems": 200,
            "items": {
              "$ref": "#/components/schemas/invoice-line-item-create"
            }
          },
          "discount": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/invoice-discount-create"
              }
            ],
            "description": "`null` removes the discount."
          },
          "taxRate": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "maximum": 100,
            "description": "`null` removes the tax."
          },
          "memo": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 500,
            "description": "`null` clears the memo."
          },
          "ccEmails": {
            "type": "array",
            "maxItems": 10,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "format": "email"
            }
          },
          "paymentMethods": {
            "type": "array",
            "maxItems": 4,
            "items": {
              "$ref": "#/components/schemas/invoice-payment-method-input"
            }
          }
        },
        "additionalProperties": false
      },
      "catalog-item": {
        "title": "CatalogItem",
        "description": "A product or service you invoice often. Invoices copy its name and price into a line item, so editing an item doesn't change invoices that already use it.",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Catalog item id with the `cat_item_` prefix.",
            "example": "cat_item_2rj4l7hmrrrcv"
          },
          "name": {
            "type": "string",
            "example": "Robot arm maintenance"
          },
          "description": {
            "type": "string"
          },
          "unitAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Money"
              }
            ],
            "description": "Price per unit."
          },
          "status": {
            "type": "string",
            "enum": ["active", "archived"],
            "description": "`archived` marks an item you no longer sell. Archived items can still be invoiced and are listed unless you filter by `status`."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": ["id", "name", "unitAmount", "status", "createdAt"]
      },
      "catalog-item-create": {
        "title": "CatalogItemCreate",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1000
          },
          "unitAmount": {
            "type": "object",
            "description": "Price per unit in USD cents.",
            "properties": {
              "amount": {
                "type": "integer",
                "minimum": 0,
                "example": 45000
              },
              "currency": {
                "type": "string",
                "enum": ["USD"]
              }
            },
            "required": ["amount", "currency"],
            "additionalProperties": false
          }
        },
        "required": ["name", "unitAmount"],
        "additionalProperties": false
      },
      "catalog-item-update": {
        "title": "CatalogItemUpdate",
        "description": "Partial update. An omitted field is left unchanged; `null` clears `description`. Invoices that already use the item keep the name and price they were written with.",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 1000
          },
          "unitAmount": {
            "type": "object",
            "description": "Price per unit in USD cents.",
            "properties": {
              "amount": {
                "type": "integer",
                "minimum": 0
              },
              "currency": {
                "type": "string",
                "enum": ["USD"]
              }
            },
            "required": ["amount", "currency"],
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "invoice-settings": {
        "title": "InvoiceSettings",
        "description": "What every invoice from the legal entity shows: who it's from, the defaults new invoices start with, and the logo and colors on the PDF and payment page.",
        "type": "object",
        "properties": {
          "companyName": {
            "type": "string",
            "description": "Who invoices are from."
          },
          "email": {
            "type": "string",
            "description": "The reply-to address on invoice emails."
          },
          "address": {
            "$ref": "#/components/schemas/address"
          },
          "defaultMemo": {
            "type": "string",
            "description": "The memo the dashboard fills in on new invoices."
          },
          "defaultPaymentTermsDays": {
            "type": "integer",
            "description": "How many days after issue the dashboard makes new invoices due."
          },
          "logoDocumentId": {
            "type": "string",
            "description": "The logo, a [document](/api-reference/documents/retrieve) uploaded with purpose `invoice_logo`."
          },
          "branding": {
            "type": "object",
            "properties": {
              "backgroundColor": {
                "type": "string",
                "description": "Six-digit hex color.",
                "example": "#1F2937"
              },
              "titleColor": {
                "type": "string",
                "description": "Six-digit hex color.",
                "example": "#FFFFFF"
              }
            }
          },
          "nextInvoiceNumber": {
            "type": "string",
            "description": "The number the next invoice gets when it doesn't name one.",
            "example": "INV-1043"
          }
        },
        "required": ["companyName", "email", "address", "nextInvoiceNumber"]
      },
      "invoice-settings-update": {
        "title": "InvoiceSettingsUpdate",
        "description": "Partial update. An omitted field is left unchanged; `null` clears a clearable field. `address` and `branding` are replaced as a whole.",
        "type": "object",
        "properties": {
          "companyName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "address": {
            "$ref": "#/components/schemas/address"
          },
          "defaultMemo": {
            "type": "string",
            "nullable": true,
            "minLength": 1,
            "maxLength": 500
          },
          "defaultPaymentTermsDays": {
            "type": "integer",
            "nullable": true,
            "minimum": 0,
            "maximum": 365
          },
          "logoDocumentId": {
            "type": "string",
            "nullable": true,
            "description": "A document uploaded with purpose `invoice_logo`, with the `st_` prefix. `null` removes the logo."
          },
          "branding": {
            "type": "object",
            "nullable": true,
            "properties": {
              "backgroundColor": {
                "type": "string",
                "pattern": "^#[0-9A-Fa-f]{6}$",
                "example": "#1F2937"
              },
              "titleColor": {
                "type": "string",
                "pattern": "^#[0-9A-Fa-f]{6}$",
                "example": "#FFFFFF"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      }
    },
    "responses": {
      "PublicApiV2Error400ThreeDsChallengesApprove": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `challengeId`: Expected a valid ID beginning with \"three_ds_challenge_\".",
                  "details": {
                    "/challengeId": "Expected a valid ID beginning with \"three_ds_challenge_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400ThreeDsChallengesDecline": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `challengeId`: Expected a valid ID beginning with \"three_ds_challenge_\".",
                  "details": {
                    "/challengeId": "Expected a valid ID beginning with \"three_ds_challenge_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400ThreeDsChallengesGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `challengeId`: Expected a valid ID beginning with \"three_ds_challenge_\".",
                  "details": {
                    "/challengeId": "Expected a valid ID beginning with \"three_ds_challenge_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403ThreeDsChallengesApprove": {
        "description": "- `feature_not_enabled` — The feature this request uses is not enabled for the legal entity. Contact Slash support to enable it.\n- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "feature_not_enabled",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorFeatureNotEnabled"
                    }
                  ]
                },
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "feature_not_enabled": {
                "summary": "feature_not_enabled",
                "value": {
                  "code": "feature_not_enabled",
                  "message": "This feature is not enabled for you. Please contact support to get it.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_challenge_id": {
                "summary": "forbidden (challengeId)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `challengeId` three_ds_challenge_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "challengeId",
                    "id": "three_ds_challenge_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403ThreeDsChallengesDecline": {
        "description": "- `feature_not_enabled` — The feature this request uses is not enabled for the legal entity. Contact Slash support to enable it.\n- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "feature_not_enabled",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorFeatureNotEnabled"
                    }
                  ]
                },
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "feature_not_enabled": {
                "summary": "feature_not_enabled",
                "value": {
                  "code": "feature_not_enabled",
                  "message": "This feature is not enabled for you. Please contact support to get it.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_challenge_id": {
                "summary": "forbidden (challengeId)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `challengeId` three_ds_challenge_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "challengeId",
                    "id": "three_ds_challenge_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404ThreeDsChallengesApprove": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_challenge_id": {
                "summary": "not_found (challengeId)",
                "value": {
                  "code": "not_found",
                  "message": "`challengeId` three_ds_challenge_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "challengeId",
                    "id": "three_ds_challenge_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404ThreeDsChallengesDecline": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_challenge_id": {
                "summary": "not_found (challengeId)",
                "value": {
                  "code": "not_found",
                  "message": "`challengeId` three_ds_challenge_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "challengeId",
                    "id": "three_ds_challenge_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404ThreeDsChallengesGet": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_challenge_id": {
                "summary": "not_found (challengeId)",
                "value": {
                  "code": "not_found",
                  "message": "`challengeId` three_ds_challenge_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "challengeId",
                    "id": "three_ds_challenge_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409ThreeDsChallengeAlreadyDecidedThreeDsChallengeExpired": {
        "description": "- `three_ds_challenge_already_decided` — The 3D Secure challenge is no longer pending; `details.status` is its current status.\n- `three_ds_challenge_expired` — A 3D Secure challenge must be approved or declined before its `expiresAt`, about five minutes after it is requested. Once it expires the purchase is declined; the cardholder can retry the purchase.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "three_ds_challenge_already_decided",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorThreeDsChallengeAlreadyDecided"
                    }
                  ]
                },
                {
                  "title": "three_ds_challenge_expired",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorThreeDsChallengeExpired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "three_ds_challenge_already_decided": {
                "summary": "three_ds_challenge_already_decided",
                "value": {
                  "code": "three_ds_challenge_already_decided",
                  "message": "The 3D Secure challenge is no longer pending; it is approved.",
                  "details": {
                    "status": "approved"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "three_ds_challenge_expired": {
                "summary": "three_ds_challenge_expired",
                "value": {
                  "code": "three_ds_challenge_expired",
                  "message": "The 3D Secure challenge has expired.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AccountingConnectionsGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `connectionId`: Expected a valid ID beginning with \"accounting_connection_\".",
                  "details": {
                    "/connectionId": "Expected a valid ID beginning with \"accounting_connection_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AccountingConnectionsList": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `cursor`: The pagination cursor is not one this API issued.",
                  "details": {
                    "/cursor": "The pagination cursor is not one this API issued."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AccountingConnectionsResync": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `connectionId`: Expected a valid ID beginning with \"accounting_connection_\".",
                  "details": {
                    "/connectionId": "Expected a valid ID beginning with \"accounting_connection_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AccountingDimensionsList": {
        "description": "- `connection_id_required` — The legal entity has several accounting connections, so the request must say which one with `connectionId`. List them with `GET /v2/accounting/connections`.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "connection_id_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorConnectionIdRequired"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "connection_id_required_connection_id": {
                "summary": "connection_id_required (connectionId)",
                "value": {
                  "code": "connection_id_required",
                  "message": "connectionId is required because this legal entity has more than one accounting connection.",
                  "details": {
                    "field": "connectionId",
                    "id": "accounting_connection_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `connectionId`: Expected a valid ID beginning with \"accounting_connection_\".",
                  "details": {
                    "/connectionId": "Expected a valid ID beginning with \"accounting_connection_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AccountingDimensionsUpdate": {
        "description": "- `connection_id_required` — The legal entity has several accounting connections, so the request must say which one with `connectionId`. List them with `GET /v2/accounting/connections`.\n- `custom_field_options_read_only` — Custom field options are defined on the accounting platform, so they cannot be turned on or off or set as a default here. Change them there and resync the connection.\n- `dimension_name_reserved` — The name belongs to a built-in dimension.\n- `dimension_not_renamable` — Required dimensions and `account` keep the name the connection gives them. Any other optional dimension can be renamed.\n- `dimension_required` — Required dimensions are always on.\n- `dimension_value_disabled` — The value is turned off for coding. Turn it on with `PATCH /v2/accounting/dimensions/{dimensionKey}/values/{valueId}`.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "connection_id_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorConnectionIdRequired"
                    }
                  ]
                },
                {
                  "title": "custom_field_options_read_only",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCustomFieldOptionsReadOnly"
                    }
                  ]
                },
                {
                  "title": "dimension_name_reserved",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDimensionNameReserved"
                    }
                  ]
                },
                {
                  "title": "dimension_not_renamable",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDimensionNotRenamable"
                    }
                  ]
                },
                {
                  "title": "dimension_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDimensionRequired"
                    }
                  ]
                },
                {
                  "title": "dimension_value_disabled",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDimensionValueDisabled"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "connection_id_required_connection_id": {
                "summary": "connection_id_required (connectionId)",
                "value": {
                  "code": "connection_id_required",
                  "message": "connectionId is required because this legal entity has more than one accounting connection.",
                  "details": {
                    "field": "connectionId",
                    "id": "accounting_connection_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "custom_field_options_read_only_default_value_id": {
                "summary": "custom_field_options_read_only (defaultValueId)",
                "value": {
                  "code": "custom_field_options_read_only",
                  "message": "Cost Center is a custom field; its options come from the accounting platform and cannot be changed here.",
                  "details": {
                    "dimension": "Cost Center",
                    "field": "defaultValueId"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "dimension_name_reserved_name": {
                "summary": "dimension_name_reserved (name)",
                "value": {
                  "code": "dimension_name_reserved",
                  "message": "\"account\" is a reserved dimension name.",
                  "details": {
                    "name": "account",
                    "field": "name"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "dimension_not_renamable_name": {
                "summary": "dimension_not_renamable (name)",
                "value": {
                  "code": "dimension_not_renamable",
                  "message": "Account cannot be renamed.",
                  "details": {
                    "dimension": "Account",
                    "field": "name"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "dimension_required_enabled": {
                "summary": "dimension_required (enabled)",
                "value": {
                  "code": "dimension_required",
                  "message": "Account is required on this connection and cannot be disabled.",
                  "details": {
                    "dimension": "Account",
                    "field": "enabled"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "dimension_value_disabled_default_value_id": {
                "summary": "dimension_value_disabled (defaultValueId)",
                "value": {
                  "code": "dimension_value_disabled",
                  "message": "Account value \"6100 Software Subscriptions\" is disabled on this connection.",
                  "details": {
                    "dimension": "Account",
                    "value": "6100 Software Subscriptions",
                    "field": "defaultValueId"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `connectionId`: Expected a valid ID beginning with \"accounting_connection_\".",
                  "details": {
                    "/connectionId": "Expected a valid ID beginning with \"accounting_connection_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AccountingDimensionsValuesBulk": {
        "description": "- `custom_field_options_read_only` — Custom field options are defined on the accounting platform, so they cannot be turned on or off or set as a default here. Change them there and resync the connection.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "custom_field_options_read_only",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCustomFieldOptionsReadOnly"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "custom_field_options_read_only_dimension_key": {
                "summary": "custom_field_options_read_only (dimensionKey)",
                "value": {
                  "code": "custom_field_options_read_only",
                  "message": "Cost Center is a custom field; its options come from the accounting platform and cannot be changed here.",
                  "details": {
                    "dimension": "Cost Center",
                    "field": "dimensionKey"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `enabled`: Invalid input: expected boolean, received string",
                  "details": {
                    "/enabled": "Invalid input: expected boolean, received string"
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AccountingDimensionsValuesGet": {
        "description": "- `connection_id_required` — The legal entity has several accounting connections, so the request must say which one with `connectionId`. List them with `GET /v2/accounting/connections`.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "connection_id_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorConnectionIdRequired"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "connection_id_required_connection_id": {
                "summary": "connection_id_required (connectionId)",
                "value": {
                  "code": "connection_id_required",
                  "message": "connectionId is required because this legal entity has more than one accounting connection.",
                  "details": {
                    "field": "connectionId",
                    "id": "accounting_connection_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `connectionId`: Expected a valid ID beginning with \"accounting_connection_\".",
                  "details": {
                    "/connectionId": "Expected a valid ID beginning with \"accounting_connection_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AccountingDimensionsValuesList": {
        "description": "- `connection_id_required` — The legal entity has several accounting connections, so the request must say which one with `connectionId`. List them with `GET /v2/accounting/connections`.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "connection_id_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorConnectionIdRequired"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "connection_id_required_connection_id": {
                "summary": "connection_id_required (connectionId)",
                "value": {
                  "code": "connection_id_required",
                  "message": "connectionId is required because this legal entity has more than one accounting connection.",
                  "details": {
                    "field": "connectionId",
                    "id": "accounting_connection_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `connectionId`: Expected a valid ID beginning with \"accounting_connection_\".",
                  "details": {
                    "/connectionId": "Expected a valid ID beginning with \"accounting_connection_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AccountingDimensionsValuesUpdate": {
        "description": "- `custom_field_options_read_only` — Custom field options are defined on the accounting platform, so they cannot be turned on or off or set as a default here. Change them there and resync the connection.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "custom_field_options_read_only",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCustomFieldOptionsReadOnly"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "custom_field_options_read_only_dimension_key": {
                "summary": "custom_field_options_read_only (dimensionKey)",
                "value": {
                  "code": "custom_field_options_read_only",
                  "message": "Cost Center is a custom field; its options come from the accounting platform and cannot be changed here.",
                  "details": {
                    "dimension": "Cost Center",
                    "field": "dimensionKey"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `enabled`: Invalid input: expected boolean, received string",
                  "details": {
                    "/enabled": "Invalid input: expected boolean, received string"
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AccountingEntriesArchive": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `entryId`: Expected a valid ID beginning with \"accounting_entry_\".",
                  "details": {
                    "/entryId": "Expected a valid ID beginning with \"accounting_entry_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AccountingEntriesAttachmentsAdd": {
        "description": "- `bill_entry_field_read_only` — A bill entry takes its lines, amounts, descriptions, memo and files from the bill, so only its coding changes here.\n- `document_purpose_mismatch` — The document was uploaded with a different `purpose`.\n- `unsupported_file_type` — Only PDF, PNG and JPEG files are accepted, and only PNG and JPEG for invoice logos. HEIC photos are converted to JPEG on upload.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "bill_entry_field_read_only",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorBillEntryFieldReadOnly"
                    }
                  ]
                },
                {
                  "title": "document_purpose_mismatch",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDocumentPurposeMismatch"
                    }
                  ]
                },
                {
                  "title": "unsupported_file_type",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUnsupportedFileType"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "bill_entry_field_read_only_entry_id": {
                "summary": "bill_entry_field_read_only (entryId)",
                "value": {
                  "code": "bill_entry_field_read_only",
                  "message": "Bill entries take this from the bill; update the bill instead.",
                  "details": {
                    "field": "entryId",
                    "id": "accounting_entry_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "document_purpose_mismatch_document_id": {
                "summary": "document_purpose_mismatch (documentId)",
                "value": {
                  "code": "document_purpose_mismatch",
                  "message": "Only documents uploaded with purpose bill_invoice can be used here.",
                  "details": {
                    "expected": "bill_invoice",
                    "purpose": "accounting_receipt",
                    "field": "documentId",
                    "id": "st_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "unsupported_file_type_document_id": {
                "summary": "unsupported_file_type (documentId)",
                "value": {
                  "code": "unsupported_file_type",
                  "message": "The file must be a PDF, PNG or JPEG.",
                  "details": {
                    "field": "documentId",
                    "id": "st_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `entryId`: Expected a valid ID beginning with \"accounting_entry_\".",
                  "details": {
                    "/entryId": "Expected a valid ID beginning with \"accounting_entry_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AccountingEntriesAttachmentsRemove": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `entryId`: Expected a valid ID beginning with \"accounting_entry_\".",
                  "details": {
                    "/entryId": "Expected a valid ID beginning with \"accounting_entry_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AccountingEntriesBulk": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `action`: Invalid option: expected one of \"mark_ready\"|\"mark_in_review\"|\"archive\"|\"sync\"",
                  "details": {
                    "/action": "Invalid option: expected one of \"mark_ready\"|\"mark_in_review\"|\"archive\"|\"sync\""
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AccountingEntriesGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `entryId`: Expected a valid ID beginning with \"accounting_entry_\".",
                  "details": {
                    "/entryId": "Expected a valid ID beginning with \"accounting_entry_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AccountingEntriesList": {
        "description": "- `connection_id_required` — The legal entity has several accounting connections, so the request must say which one with `connectionId`. List them with `GET /v2/accounting/connections`.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "connection_id_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorConnectionIdRequired"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "connection_id_required_connection_id": {
                "summary": "connection_id_required (connectionId)",
                "value": {
                  "code": "connection_id_required",
                  "message": "connectionId is required because this legal entity has more than one accounting connection.",
                  "details": {
                    "field": "connectionId",
                    "id": "accounting_connection_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `connectionId`: Expected a valid ID beginning with \"accounting_connection_\".",
                  "details": {
                    "/connectionId": "Expected a valid ID beginning with \"accounting_connection_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AccountingEntriesMarkInReview": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `entryId`: Expected a valid ID beginning with \"accounting_entry_\".",
                  "details": {
                    "/entryId": "Expected a valid ID beginning with \"accounting_entry_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AccountingEntriesMarkReady": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `entryId`: Expected a valid ID beginning with \"accounting_entry_\".",
                  "details": {
                    "/entryId": "Expected a valid ID beginning with \"accounting_entry_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AccountingEntriesSync": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `entryId`: Expected a valid ID beginning with \"accounting_entry_\".",
                  "details": {
                    "/entryId": "Expected a valid ID beginning with \"accounting_entry_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AccountingEntriesUpdate": {
        "description": "- `accounts_payable_line_restricted` — On a bill entry, the fixed line is the accounts payable line, which takes only `account`, `vendor` and `subsidiary`.\n- `bill_entry_field_read_only` — A bill entry takes its lines, amounts, descriptions, memo and files from the bill, so only its coding changes here.\n- `custom_field_in_dimensions` — Custom fields are coded through `customFields`, not `dimensions`.\n- `custom_field_value_invalid` — The custom field does not exist in this scope, or the value does not match its type or options. `problem` says which.\n- `dimension_cannot_be_per_line` — Bill entries can code `account`, `class`, `department`, `location`, `project` and `customer` per line.\n- `dimension_coded_per_entry` — The dimension holds one value for the whole entry: it is in `entryLevelDimensions`, or on a bill entry it is not in `lineItemLevelDimensions`.\n- `dimension_coded_per_line` — The bill entry codes this dimension per line, as `lineItemLevelDimensions` says, so it is set on each line item.\n- `dimension_not_supported_for_entry` — The accounting platform does not accept this dimension on this kind of entry. The entry lists these in `unsupportedDimensions`.\n- `dimension_value_disabled` — The value is turned off for coding. Turn it on with `PATCH /v2/accounting/dimensions/{dimensionKey}/values/{valueId}`.\n- `editable_line_required` — `lineItems` lists every editable line after the update, so it cannot leave none.\n- `entry_not_splittable` — Entries for a transfer between your own accounts book a fixed line on each side and nothing to split. Code them with entry-level `dimensions`.\n- `fixed_line_read_only` — The fixed line is the bank or card account the money moved through. Slash sets it, so only its other dimensions can be coded.\n- `line_item_amount_required` — A line without an `id` is a new split and needs an `amount`.\n- `line_item_amount_zero` — Every editable line must carry a non-zero amount.\n- `line_item_amounts_mismatch` — The editable lines of a split must add up to the transaction amount.\n- `line_item_currency_mismatch` — Line amounts must be in the entry’s currency.\n- `line_item_level_dimensions_bill_only` — `lineItemLevelDimensions` only applies to bill entries.\n- `line_item_transaction_locked` — A line stays with the transaction it was created for.\n- `line_item_transaction_required` — The entry books several transactions (`transactionIds`), so a new line must say which one it belongs to.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "accounts_payable_line_restricted",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorAccountsPayableLineRestricted"
                    }
                  ]
                },
                {
                  "title": "bill_entry_field_read_only",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorBillEntryFieldReadOnly"
                    }
                  ]
                },
                {
                  "title": "custom_field_in_dimensions",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCustomFieldInDimensions"
                    }
                  ]
                },
                {
                  "title": "custom_field_value_invalid",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCustomFieldValueInvalid"
                    }
                  ]
                },
                {
                  "title": "dimension_cannot_be_per_line",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDimensionCannotBePerLine"
                    }
                  ]
                },
                {
                  "title": "dimension_coded_per_entry",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDimensionCodedPerEntry"
                    }
                  ]
                },
                {
                  "title": "dimension_coded_per_line",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDimensionCodedPerLine"
                    }
                  ]
                },
                {
                  "title": "dimension_not_supported_for_entry",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDimensionNotSupportedForEntry"
                    }
                  ]
                },
                {
                  "title": "dimension_value_disabled",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDimensionValueDisabled"
                    }
                  ]
                },
                {
                  "title": "editable_line_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorEditableLineRequired"
                    }
                  ]
                },
                {
                  "title": "entry_not_splittable",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorEntryNotSplittable"
                    }
                  ]
                },
                {
                  "title": "fixed_line_read_only",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorFixedLineReadOnly"
                    }
                  ]
                },
                {
                  "title": "line_item_amount_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorLineItemAmountRequired"
                    }
                  ]
                },
                {
                  "title": "line_item_amount_zero",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorLineItemAmountZero"
                    }
                  ]
                },
                {
                  "title": "line_item_amounts_mismatch",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorLineItemAmountsMismatch"
                    }
                  ]
                },
                {
                  "title": "line_item_currency_mismatch",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorLineItemCurrencyMismatch"
                    }
                  ]
                },
                {
                  "title": "line_item_level_dimensions_bill_only",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorLineItemLevelDimensionsBillOnly"
                    }
                  ]
                },
                {
                  "title": "line_item_transaction_locked",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorLineItemTransactionLocked"
                    }
                  ]
                },
                {
                  "title": "line_item_transaction_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorLineItemTransactionRequired"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "accounts_payable_line_restricted_line_items": {
                "summary": "accounts_payable_line_restricted (lineItems)",
                "value": {
                  "code": "accounts_payable_line_restricted",
                  "message": "The accounts payable line carries only the account, vendor and subsidiary; code everything else on the entry or its expense lines.",
                  "details": {
                    "field": "lineItems"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "bill_entry_field_read_only_memo": {
                "summary": "bill_entry_field_read_only (memo)",
                "value": {
                  "code": "bill_entry_field_read_only",
                  "message": "Bill entries take this from the bill; update the bill instead.",
                  "details": {
                    "field": "memo"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "bill_entry_field_read_only_line_items": {
                "summary": "bill_entry_field_read_only (lineItems)",
                "value": {
                  "code": "bill_entry_field_read_only",
                  "message": "Bill entries take this from the bill; update the bill instead.",
                  "details": {
                    "field": "lineItems"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "custom_field_in_dimensions_dimensions": {
                "summary": "custom_field_in_dimensions (dimensions)",
                "value": {
                  "code": "custom_field_in_dimensions",
                  "message": "\"customField:cf_cost_center\" is a custom field; set it in customFields.",
                  "details": {
                    "key": "customField:cf_cost_center",
                    "field": "dimensions"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "custom_field_in_dimensions_line_items": {
                "summary": "custom_field_in_dimensions (lineItems)",
                "value": {
                  "code": "custom_field_in_dimensions",
                  "message": "\"customField:cf_cost_center\" is a custom field; set it in customFields.",
                  "details": {
                    "key": "customField:cf_cost_center",
                    "field": "lineItems"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "custom_field_value_invalid_custom_fields": {
                "summary": "custom_field_value_invalid (customFields)",
                "value": {
                  "code": "custom_field_value_invalid",
                  "message": "The custom field value is invalid: Cost Center takes one option value.",
                  "details": {
                    "problem": "Cost Center takes one option value.",
                    "field": "customFields"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "custom_field_value_invalid_line_items": {
                "summary": "custom_field_value_invalid (lineItems)",
                "value": {
                  "code": "custom_field_value_invalid",
                  "message": "The custom field value is invalid: Cost Center takes one option value.",
                  "details": {
                    "problem": "Cost Center takes one option value.",
                    "field": "lineItems"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "dimension_cannot_be_per_line_line_item_level_dimensions": {
                "summary": "dimension_cannot_be_per_line (lineItemLevelDimensions)",
                "value": {
                  "code": "dimension_cannot_be_per_line",
                  "message": "\"vendor\" cannot be coded per line on a bill entry.",
                  "details": {
                    "key": "vendor",
                    "field": "lineItemLevelDimensions"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "dimension_coded_per_entry_line_items": {
                "summary": "dimension_coded_per_entry (lineItems)",
                "value": {
                  "code": "dimension_coded_per_entry",
                  "message": "\"department\" is coded once for the whole entry; set it in the entry-level dimensions.",
                  "details": {
                    "key": "department",
                    "field": "lineItems"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "dimension_coded_per_line_dimensions": {
                "summary": "dimension_coded_per_line (dimensions)",
                "value": {
                  "code": "dimension_coded_per_line",
                  "message": "\"class\" is coded per line on this entry; set it on each line item, or drop it from lineItemLevelDimensions.",
                  "details": {
                    "key": "class",
                    "field": "dimensions"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "dimension_not_supported_for_entry_dimensions": {
                "summary": "dimension_not_supported_for_entry (dimensions)",
                "value": {
                  "code": "dimension_not_supported_for_entry",
                  "message": "\"vendor\" is not supported on bank_transfer entries for this platform.",
                  "details": {
                    "key": "vendor",
                    "entryType": "bank_transfer",
                    "field": "dimensions"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "dimension_not_supported_for_entry_line_items": {
                "summary": "dimension_not_supported_for_entry (lineItems)",
                "value": {
                  "code": "dimension_not_supported_for_entry",
                  "message": "\"vendor\" is not supported on bank_transfer entries for this platform.",
                  "details": {
                    "key": "vendor",
                    "entryType": "bank_transfer",
                    "field": "lineItems"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "dimension_not_supported_for_entry_line_item_level_dimensions": {
                "summary": "dimension_not_supported_for_entry (lineItemLevelDimensions)",
                "value": {
                  "code": "dimension_not_supported_for_entry",
                  "message": "\"vendor\" is not supported on bank_transfer entries for this platform.",
                  "details": {
                    "key": "vendor",
                    "entryType": "bank_transfer",
                    "field": "lineItemLevelDimensions"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "dimension_value_disabled_dimensions": {
                "summary": "dimension_value_disabled (dimensions)",
                "value": {
                  "code": "dimension_value_disabled",
                  "message": "Account value \"6100 Software Subscriptions\" is disabled on this connection.",
                  "details": {
                    "dimension": "Account",
                    "value": "6100 Software Subscriptions",
                    "field": "dimensions"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "dimension_value_disabled_line_items": {
                "summary": "dimension_value_disabled (lineItems)",
                "value": {
                  "code": "dimension_value_disabled",
                  "message": "Account value \"6100 Software Subscriptions\" is disabled on this connection.",
                  "details": {
                    "dimension": "Account",
                    "value": "6100 Software Subscriptions",
                    "field": "lineItems"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "editable_line_required_line_items": {
                "summary": "editable_line_required (lineItems)",
                "value": {
                  "code": "editable_line_required",
                  "message": "An entry keeps at least one editable line.",
                  "details": {
                    "field": "lineItems"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "entry_not_splittable_line_items": {
                "summary": "entry_not_splittable (lineItems)",
                "value": {
                  "code": "entry_not_splittable",
                  "message": "This entry has no editable lines to split; code it with entry-level dimensions instead.",
                  "details": {
                    "field": "lineItems"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "fixed_line_read_only_dimensions": {
                "summary": "fixed_line_read_only (dimensions)",
                "value": {
                  "code": "fixed_line_read_only",
                  "message": "The fixed line is set from the connection’s account mapping; its account, amount and transaction cannot change.",
                  "details": {
                    "field": "dimensions"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "fixed_line_read_only_line_items": {
                "summary": "fixed_line_read_only (lineItems)",
                "value": {
                  "code": "fixed_line_read_only",
                  "message": "The fixed line is set from the connection’s account mapping; its account, amount and transaction cannot change.",
                  "details": {
                    "field": "lineItems"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "line_item_amount_required_line_items": {
                "summary": "line_item_amount_required (lineItems)",
                "value": {
                  "code": "line_item_amount_required",
                  "message": "A new line item needs an amount.",
                  "details": {
                    "field": "lineItems"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "line_item_amount_zero_line_items": {
                "summary": "line_item_amount_zero (lineItems)",
                "value": {
                  "code": "line_item_amount_zero",
                  "message": "Line item amounts cannot be zero.",
                  "details": {
                    "field": "lineItems"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "line_item_amounts_mismatch_line_items": {
                "summary": "line_item_amounts_mismatch (lineItems)",
                "value": {
                  "code": "line_item_amounts_mismatch",
                  "message": "Line item amounts must total $100.00, the transaction amount; they total $90.00.",
                  "details": {
                    "expected": "$100.00",
                    "actual": "$90.00",
                    "field": "lineItems"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "line_item_currency_mismatch_line_items": {
                "summary": "line_item_currency_mismatch (lineItems)",
                "value": {
                  "code": "line_item_currency_mismatch",
                  "message": "Transaction entries are booked in USD.",
                  "details": {
                    "currency": "USD",
                    "field": "lineItems"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "line_item_level_dimensions_bill_only_line_item_level_dimensions": {
                "summary": "line_item_level_dimensions_bill_only (lineItemLevelDimensions)",
                "value": {
                  "code": "line_item_level_dimensions_bill_only",
                  "message": "Only bill entries declare per-line dimensions; a transaction entry codes every dimension on its lines directly.",
                  "details": {
                    "field": "lineItemLevelDimensions"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "line_item_transaction_locked_line_items": {
                "summary": "line_item_transaction_locked (lineItems)",
                "value": {
                  "code": "line_item_transaction_locked",
                  "message": "An existing line cannot move to another transaction; remove it and add a new line instead.",
                  "details": {
                    "field": "lineItems"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "line_item_transaction_required_line_items": {
                "summary": "line_item_transaction_required (lineItems)",
                "value": {
                  "code": "line_item_transaction_required",
                  "message": "transactionId is required on a new line when the entry books more than one transaction.",
                  "details": {
                    "field": "lineItems"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `entryId`: Expected a valid ID beginning with \"accounting_entry_\".",
                  "details": {
                    "/entryId": "Expected a valid ID beginning with \"accounting_entry_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AccountingIntelligenceGet": {
        "description": "- `connection_id_required` — The legal entity has several accounting connections, so the request must say which one with `connectionId`. List them with `GET /v2/accounting/connections`.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "connection_id_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorConnectionIdRequired"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "connection_id_required_connection_id": {
                "summary": "connection_id_required (connectionId)",
                "value": {
                  "code": "connection_id_required",
                  "message": "connectionId is required because this legal entity has more than one accounting connection.",
                  "details": {
                    "field": "connectionId",
                    "id": "accounting_connection_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `connectionId`: Expected a valid ID beginning with \"accounting_connection_\".",
                  "details": {
                    "/connectionId": "Expected a valid ID beginning with \"accounting_connection_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AccountingIntelligenceUpdate": {
        "description": "- `connection_id_required` — The legal entity has several accounting connections, so the request must say which one with `connectionId`. List them with `GET /v2/accounting/connections`.\n- `dimension_not_auto_codable` — The accounting intelligence agent can only code the dimensions in `supportedDimensionKeys`.\n- `enabled_dimension_keys_not_applicable` — `enabledDimensionKeys` picks the dimensions for `selected_fields`. With `all_fields` or `disabled`, leave it out, send it empty, or send back the list the settings already report.\n- `enabled_dimension_keys_required` — The selection is only kept while the mode is `selected_fields`, so switching to it needs the keys again.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "connection_id_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorConnectionIdRequired"
                    }
                  ]
                },
                {
                  "title": "dimension_not_auto_codable",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDimensionNotAutoCodable"
                    }
                  ]
                },
                {
                  "title": "enabled_dimension_keys_not_applicable",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorEnabledDimensionKeysNotApplicable"
                    }
                  ]
                },
                {
                  "title": "enabled_dimension_keys_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorEnabledDimensionKeysRequired"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "connection_id_required_connection_id": {
                "summary": "connection_id_required (connectionId)",
                "value": {
                  "code": "connection_id_required",
                  "message": "connectionId is required because this legal entity has more than one accounting connection.",
                  "details": {
                    "field": "connectionId",
                    "id": "accounting_connection_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "dimension_not_auto_codable_enabled_dimension_keys": {
                "summary": "dimension_not_auto_codable (enabledDimensionKeys)",
                "value": {
                  "code": "dimension_not_auto_codable",
                  "message": "\"subsidiary\" cannot be auto-coded on this connection. See supportedDimensionKeys.",
                  "details": {
                    "key": "subsidiary",
                    "field": "enabledDimensionKeys"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "enabled_dimension_keys_not_applicable_enabled_dimension_keys": {
                "summary": "enabled_dimension_keys_not_applicable (enabledDimensionKeys)",
                "value": {
                  "code": "enabled_dimension_keys_not_applicable",
                  "message": "enabledDimensionKeys only applies when mode is selected_fields.",
                  "details": {
                    "field": "enabledDimensionKeys"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "enabled_dimension_keys_required_enabled_dimension_keys": {
                "summary": "enabled_dimension_keys_required (enabledDimensionKeys)",
                "value": {
                  "code": "enabled_dimension_keys_required",
                  "message": "Pick at least one dimension in enabledDimensionKeys when mode is selected_fields.",
                  "details": {
                    "field": "enabledDimensionKeys"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `connectionId`: Expected a valid ID beginning with \"accounting_connection_\".",
                  "details": {
                    "/connectionId": "Expected a valid ID beginning with \"accounting_connection_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AccountingMappingsDelete": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `mappingId`: Expected a valid ID beginning with \"accounting_mapping_\".",
                  "details": {
                    "/mappingId": "Expected a valid ID beginning with \"accounting_mapping_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AccountingMappingsList": {
        "description": "- `connection_id_required` — The legal entity has several accounting connections, so the request must say which one with `connectionId`. List them with `GET /v2/accounting/connections`.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "connection_id_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorConnectionIdRequired"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "connection_id_required_connection_id": {
                "summary": "connection_id_required (connectionId)",
                "value": {
                  "code": "connection_id_required",
                  "message": "connectionId is required because this legal entity has more than one accounting connection.",
                  "details": {
                    "field": "connectionId",
                    "id": "accounting_connection_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `connectionId`: Expected a valid ID beginning with \"accounting_connection_\".",
                  "details": {
                    "/connectionId": "Expected a valid ID beginning with \"accounting_connection_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AccountingMappingsUpsert": {
        "description": "- `connection_id_required` — The legal entity has several accounting connections, so the request must say which one with `connectionId`. List them with `GET /v2/accounting/connections`.\n- `custom_field_value_invalid` — The custom field does not exist in this scope, or the value does not match its type or options. `problem` says which.\n- `dimension_disabled` — The dimension is turned off for coding. Turn it on with `PATCH /v2/accounting/dimensions/{dimensionKey}`.\n- `dimension_not_mappable` — The dimension only makes sense per entry, so mappings cannot set it. Its `mappable` is `false`.\n- `dimension_value_disabled` — The value is turned off for coding. Turn it on with `PATCH /v2/accounting/dimensions/{dimensionKey}/values/{valueId}`.\n- `mapping_source_not_allowed` — This kind of source cannot set this dimension, for example an account on a class.\n- `mapping_value_mismatch` — Custom field dimensions take `customFieldValue`; every other dimension takes `valueId`. `expected` names the one this dimension takes.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "connection_id_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorConnectionIdRequired"
                    }
                  ]
                },
                {
                  "title": "custom_field_value_invalid",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCustomFieldValueInvalid"
                    }
                  ]
                },
                {
                  "title": "dimension_disabled",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDimensionDisabled"
                    }
                  ]
                },
                {
                  "title": "dimension_not_mappable",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDimensionNotMappable"
                    }
                  ]
                },
                {
                  "title": "dimension_value_disabled",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDimensionValueDisabled"
                    }
                  ]
                },
                {
                  "title": "mapping_source_not_allowed",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorMappingSourceNotAllowed"
                    }
                  ]
                },
                {
                  "title": "mapping_value_mismatch",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorMappingValueMismatch"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "connection_id_required_connection_id": {
                "summary": "connection_id_required (connectionId)",
                "value": {
                  "code": "connection_id_required",
                  "message": "connectionId is required because this legal entity has more than one accounting connection.",
                  "details": {
                    "field": "connectionId",
                    "id": "accounting_connection_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "custom_field_value_invalid_custom_field_value": {
                "summary": "custom_field_value_invalid (customFieldValue)",
                "value": {
                  "code": "custom_field_value_invalid",
                  "message": "The custom field value is invalid: Cost Center takes one option value.",
                  "details": {
                    "problem": "Cost Center takes one option value.",
                    "field": "customFieldValue"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "dimension_disabled_dimension_key": {
                "summary": "dimension_disabled (dimensionKey)",
                "value": {
                  "code": "dimension_disabled",
                  "message": "Class is disabled on this connection.",
                  "details": {
                    "dimension": "Class",
                    "field": "dimensionKey"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "dimension_not_mappable_dimension_key": {
                "summary": "dimension_not_mappable (dimensionKey)",
                "value": {
                  "code": "dimension_not_mappable",
                  "message": "Purchase Order cannot be set by mappings on this connection.",
                  "details": {
                    "dimension": "Purchase Order",
                    "field": "dimensionKey"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "dimension_value_disabled_value_id": {
                "summary": "dimension_value_disabled (valueId)",
                "value": {
                  "code": "dimension_value_disabled",
                  "message": "Account value \"6100 Software Subscriptions\" is disabled on this connection.",
                  "details": {
                    "dimension": "Account",
                    "value": "6100 Software Subscriptions",
                    "field": "valueId"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "mapping_source_not_allowed_dimension_key": {
                "summary": "mapping_source_not_allowed (dimensionKey)",
                "value": {
                  "code": "mapping_source_not_allowed",
                  "message": "A account mapping cannot set Class.",
                  "details": {
                    "sourceType": "account",
                    "dimension": "Class",
                    "field": "dimensionKey"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "mapping_value_mismatch_value_id": {
                "summary": "mapping_value_mismatch (valueId)",
                "value": {
                  "code": "mapping_value_mismatch",
                  "message": "Cost Center is mapped with customFieldValue.",
                  "details": {
                    "dimension": "Cost Center",
                    "expected": "customFieldValue",
                    "field": "valueId"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "mapping_value_mismatch_custom_field_value": {
                "summary": "mapping_value_mismatch (customFieldValue)",
                "value": {
                  "code": "mapping_value_mismatch",
                  "message": "Cost Center is mapped with customFieldValue.",
                  "details": {
                    "dimension": "Cost Center",
                    "expected": "customFieldValue",
                    "field": "customFieldValue"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `connectionId`: Expected a valid ID beginning with \"accounting_connection_\".",
                  "details": {
                    "/connectionId": "Expected a valid ID beginning with \"accounting_connection_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AccountsGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `accountId`: Expected a valid ID beginning with \"sa_group_\".",
                  "details": {
                    "/accountId": "Expected a valid ID beginning with \"sa_group_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AccountsList": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `cursor`: The pagination cursor is not one this API issued.",
                  "details": {
                    "/cursor": "The pagination cursor is not one this API issued."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400AchTransfersCreate": {
        "description": "- `amount_above_limit` — The amount is more than this account may still send on this rail within its limit.\n- `amount_below_minimum` — The amount is below the smallest transfer this account may send on this rail.\n- `destination_type_mismatch` — The destination is of a type this rail cannot send to, e.g. an `international_wire` destination for an ACH transfer.\n- `global_usd_account_not_supported` — The account is a Global USD account, which this request does not support.\n- `transfer_count_limit_reached` — The account has sent as many transfers as its limit allows for the current interval.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "amount_above_limit",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorAmountAboveLimit"
                    }
                  ]
                },
                {
                  "title": "amount_below_minimum",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorAmountBelowMinimum"
                    }
                  ]
                },
                {
                  "title": "destination_type_mismatch",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDestinationTypeMismatch"
                    }
                  ]
                },
                {
                  "title": "global_usd_account_not_supported",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorGlobalUsdAccountNotSupported"
                    }
                  ]
                },
                {
                  "title": "transfer_count_limit_reached",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorTransferCountLimitReached"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "amount_above_limit_amount": {
                "summary": "amount_above_limit (amount)",
                "value": {
                  "code": "amount_above_limit",
                  "message": "This ACH transfer exceeds the remaining limit of $25,000.00 for this account.",
                  "details": {
                    "transferType": "ACH",
                    "maximum": "$25,000.00",
                    "field": "amount"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "amount_below_minimum_amount": {
                "summary": "amount_below_minimum (amount)",
                "value": {
                  "code": "amount_below_minimum",
                  "message": "The minimum ACH transfer from this account is $1.00.",
                  "details": {
                    "transferType": "ACH",
                    "minimum": "$1.00",
                    "field": "amount"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "destination_type_mismatch_destination_id": {
                "summary": "destination_type_mismatch (destinationId)",
                "value": {
                  "code": "destination_type_mismatch",
                  "message": "Only bank_account destinations can receive ACH transfers; this destination is international_wire.",
                  "details": {
                    "requiredType": "bank_account",
                    "transferType": "ACH",
                    "destinationType": "international_wire",
                    "field": "destinationId",
                    "id": "le_contact_destination_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "global_usd_account_not_supported_from_account": {
                "summary": "global_usd_account_not_supported (fromAccount)",
                "value": {
                  "code": "global_usd_account_not_supported",
                  "message": "Global USD accounts are not supported for this request.",
                  "details": {
                    "field": "fromAccount",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "transfer_count_limit_reached_from_account": {
                "summary": "transfer_count_limit_reached (fromAccount)",
                "value": {
                  "code": "transfer_count_limit_reached",
                  "message": "This account has reached its daily limit on the number of transfers.",
                  "details": {
                    "interval": "daily",
                    "field": "fromAccount",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `fromAccount`: Expected a valid ID beginning with \"subaccount_\".",
                  "details": {
                    "/fromAccount": "Expected a valid ID beginning with \"subaccount_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400BillsCreate": {
        "description": "- `bill_currency_mismatch` — Every amount on a bill must be in the bill’s `currency`.\n- `destination_not_vendors` — The destination belongs to a different recipient than the bill’s.\n- `document_purpose_mismatch` — The document was uploaded with a different `purpose`.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "bill_currency_mismatch",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorBillCurrencyMismatch"
                    }
                  ]
                },
                {
                  "title": "destination_not_vendors",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDestinationNotVendors"
                    }
                  ]
                },
                {
                  "title": "document_purpose_mismatch",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDocumentPurposeMismatch"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "bill_currency_mismatch_line_items": {
                "summary": "bill_currency_mismatch (lineItems)",
                "value": {
                  "code": "bill_currency_mismatch",
                  "message": "Every amount must be in the bill’s currency, USD.",
                  "details": {
                    "currency": "USD",
                    "field": "lineItems"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "bill_currency_mismatch_tax_currency": {
                "summary": "bill_currency_mismatch (tax.currency)",
                "value": {
                  "code": "bill_currency_mismatch",
                  "message": "Every amount must be in the bill’s currency, USD.",
                  "details": {
                    "currency": "USD",
                    "field": "tax.currency"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "bill_currency_mismatch_discount_currency": {
                "summary": "bill_currency_mismatch (discount.currency)",
                "value": {
                  "code": "bill_currency_mismatch",
                  "message": "Every amount must be in the bill’s currency, USD.",
                  "details": {
                    "currency": "USD",
                    "field": "discount.currency"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "destination_not_vendors_destination_id": {
                "summary": "destination_not_vendors (destinationId)",
                "value": {
                  "code": "destination_not_vendors",
                  "message": "The destination does not belong to the bill’s recipient.",
                  "details": {
                    "field": "destinationId",
                    "id": "le_contact_destination_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "document_purpose_mismatch_document_ids": {
                "summary": "document_purpose_mismatch (documentIds)",
                "value": {
                  "code": "document_purpose_mismatch",
                  "message": "Only documents uploaded with purpose bill_invoice can be used here.",
                  "details": {
                    "expected": "bill_invoice",
                    "purpose": "accounting_receipt",
                    "field": "documentIds"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `recipientId`: Expected a valid ID beginning with \"le_c_\".",
                  "details": {
                    "/recipientId": "Expected a valid ID beginning with \"le_c_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400BillsDelete": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `billId`: Expected a valid ID beginning with \"bill_\".",
                  "details": {
                    "/billId": "Expected a valid ID beginning with \"bill_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400BillsDocumentsAdd": {
        "description": "- `document_purpose_mismatch` — The document was uploaded with a different `purpose`.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "document_purpose_mismatch",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDocumentPurposeMismatch"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "document_purpose_mismatch_document_ids": {
                "summary": "document_purpose_mismatch (documentIds)",
                "value": {
                  "code": "document_purpose_mismatch",
                  "message": "Only documents uploaded with purpose bill_invoice can be used here.",
                  "details": {
                    "expected": "bill_invoice",
                    "purpose": "accounting_receipt",
                    "field": "documentIds"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `billId`: Expected a valid ID beginning with \"bill_\".",
                  "details": {
                    "/billId": "Expected a valid ID beginning with \"bill_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400BillsDocumentsRemove": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `billId`: Expected a valid ID beginning with \"bill_\".",
                  "details": {
                    "/billId": "Expected a valid ID beginning with \"bill_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400BillsGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `billId`: Expected a valid ID beginning with \"bill_\".",
                  "details": {
                    "/billId": "Expected a valid ID beginning with \"bill_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400BillsInboxGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `x-legal-entity`: Expected a valid ID beginning with \"le_\".",
                  "details": {},
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400BillsInboxSendersAdd": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `type`: Invalid option: expected one of \"email\"|\"domain\"",
                  "details": {
                    "/type": "Invalid option: expected one of \"email\"|\"domain\""
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400BillsInboxSendersRemove": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `senderId`: Expected a valid ID beginning with \"ais_\".",
                  "details": {
                    "/senderId": "Expected a valid ID beginning with \"ais_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400BillsList": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `recipientId`: Expected a valid ID beginning with \"le_c_\".",
                  "details": {
                    "/recipientId": "Expected a valid ID beginning with \"le_c_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400BillsPaymentsAdd": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `billId`: Expected a valid ID beginning with \"bill_\".",
                  "details": {
                    "/billId": "Expected a valid ID beginning with \"bill_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400BillsPaymentsRemove": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `billId`: Expected a valid ID beginning with \"bill_\".",
                  "details": {
                    "/billId": "Expected a valid ID beginning with \"bill_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400BillsUpdate": {
        "description": "- `bill_currency_mismatch` — Every amount on a bill must be in the bill’s `currency`.\n- `destination_not_vendors` — The destination belongs to a different recipient than the bill’s.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "bill_currency_mismatch",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorBillCurrencyMismatch"
                    }
                  ]
                },
                {
                  "title": "destination_not_vendors",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDestinationNotVendors"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "bill_currency_mismatch_line_items": {
                "summary": "bill_currency_mismatch (lineItems)",
                "value": {
                  "code": "bill_currency_mismatch",
                  "message": "Every amount must be in the bill’s currency, USD.",
                  "details": {
                    "currency": "USD",
                    "field": "lineItems"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "bill_currency_mismatch_tax_currency": {
                "summary": "bill_currency_mismatch (tax.currency)",
                "value": {
                  "code": "bill_currency_mismatch",
                  "message": "Every amount must be in the bill’s currency, USD.",
                  "details": {
                    "currency": "USD",
                    "field": "tax.currency"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "bill_currency_mismatch_discount_currency": {
                "summary": "bill_currency_mismatch (discount.currency)",
                "value": {
                  "code": "bill_currency_mismatch",
                  "message": "Every amount must be in the bill’s currency, USD.",
                  "details": {
                    "currency": "USD",
                    "field": "discount.currency"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "destination_not_vendors_destination_id": {
                "summary": "destination_not_vendors (destinationId)",
                "value": {
                  "code": "destination_not_vendors",
                  "message": "The destination does not belong to the bill’s recipient.",
                  "details": {
                    "field": "destinationId",
                    "id": "le_contact_destination_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `recipientId`: Expected a valid ID beginning with \"le_c_\".",
                  "details": {
                    "/recipientId": "Expected a valid ID beginning with \"le_c_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400BillsVoid": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `billId`: Expected a valid ID beginning with \"bill_\".",
                  "details": {
                    "/billId": "Expected a valid ID beginning with \"bill_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400BookTransfersCreate": {
        "description": "- `global_usd_account_not_supported` — The account is a Global USD account, which this request does not support.\n- `to_account_in_other_account` — A book transfer moves money between virtual accounts of one account, but `toAccount` belongs to a different account than `fromAccount`.\n- `to_account_same_as_from_account` — A book transfer moves money between two virtual accounts, but `toAccount` is the same one as `fromAccount`.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "global_usd_account_not_supported",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorGlobalUsdAccountNotSupported"
                    }
                  ]
                },
                {
                  "title": "to_account_in_other_account",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorToAccountInOtherAccount"
                    }
                  ]
                },
                {
                  "title": "to_account_same_as_from_account",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorToAccountSameAsFromAccount"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "global_usd_account_not_supported_from_account": {
                "summary": "global_usd_account_not_supported (fromAccount)",
                "value": {
                  "code": "global_usd_account_not_supported",
                  "message": "Global USD accounts are not supported for this request.",
                  "details": {
                    "field": "fromAccount",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "to_account_in_other_account_to_account": {
                "summary": "to_account_in_other_account (toAccount)",
                "value": {
                  "code": "to_account_in_other_account",
                  "message": "toAccount must belong to the same account as fromAccount.",
                  "details": {
                    "field": "toAccount",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "to_account_same_as_from_account_to_account": {
                "summary": "to_account_same_as_from_account (toAccount)",
                "value": {
                  "code": "to_account_same_as_from_account",
                  "message": "toAccount must differ from fromAccount.",
                  "details": {
                    "field": "toAccount",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `fromAccount`: Expected a valid ID beginning with \"subaccount_\".",
                  "details": {
                    "/fromAccount": "Expected a valid ID beginning with \"subaccount_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CardGroupsArchive": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `cardGroupId`: Expected a valid ID beginning with \"card_group_\".",
                  "details": {
                    "/cardGroupId": "Expected a valid ID beginning with \"card_group_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CardGroupsCreate": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `X-Idempotency-Key`: This header is required.",
                  "details": {
                    "X-Idempotency-Key": "This header is required."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CardGroupsGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `cardGroupId`: Expected a valid ID beginning with \"card_group_\".",
                  "details": {
                    "/cardGroupId": "Expected a valid ID beginning with \"card_group_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CardGroupsList": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `cursor`: The pagination cursor is not one this API issued.",
                  "details": {
                    "/cursor": "The pagination cursor is not one this API issued."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CardGroupsUpdate": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `cardGroupId`: Expected a valid ID beginning with \"card_group_\".",
                  "details": {
                    "/cardGroupId": "Expected a valid ID beginning with \"card_group_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CardGroupsUtilization": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `cardGroupId`: Expected a valid ID beginning with \"card_group_\".",
                  "details": {
                    "/cardGroupId": "Expected a valid ID beginning with \"card_group_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CardProductsList": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `accountId`: Expected a valid ID beginning with \"sa_group_\".",
                  "details": {
                    "/accountId": "Expected a valid ID beginning with \"sa_group_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CardRequestsCreate": {
        "description": "- `account_required` — The legal entity issues cards from more than one account, so the request must name one with `accountId`. List them with `GET /v2/accounts`.\n- `card_group_in_other_account` — The card group holds the cards of another account or virtual account. Pick a group of the card’s virtual account.\n- `physical_cards_not_available` — The account’s card program has no physical card stock. Issue a virtual card, or a physical card from another account.\n- `shipping_country_restricted` — Shipping restrictions rule out the destination country. Ship to an address in another country.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "account_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardAccountRequired"
                    }
                  ]
                },
                {
                  "title": "card_group_in_other_account",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardGroupInOtherAccount"
                    }
                  ]
                },
                {
                  "title": "physical_cards_not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorPhysicalCardsNotAvailable"
                    }
                  ]
                },
                {
                  "title": "shipping_country_restricted",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorShippingCountryRestricted"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "account_required_account_id": {
                "summary": "account_required (accountId)",
                "value": {
                  "code": "account_required",
                  "message": "accountId is required because this legal entity has more than one card account.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "card_group_in_other_account_card_group_id": {
                "summary": "card_group_in_other_account (cardGroupId)",
                "value": {
                  "code": "card_group_in_other_account",
                  "message": "The card group belongs to a different account or virtual account.",
                  "details": {
                    "field": "cardGroupId",
                    "id": "card_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "physical_cards_not_available_account_id": {
                "summary": "physical_cards_not_available (accountId)",
                "value": {
                  "code": "physical_cards_not_available",
                  "message": "This account cannot issue physical cards.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "shipping_country_restricted_physical_shipping_address_country_code": {
                "summary": "shipping_country_restricted (physical.shipping.address.countryCode)",
                "value": {
                  "code": "shipping_country_restricted",
                  "message": "Physical cards cannot be shipped to RU.",
                  "details": {
                    "countryCode": "RU",
                    "field": "physical.shipping.address.countryCode"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `X-Idempotency-Key`: This header is required.",
                  "details": {
                    "X-Idempotency-Key": "This header is required."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CardRequestsGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `cardRequestId`: Expected a valid ID beginning with \"card_request_\".",
                  "details": {
                    "/cardRequestId": "Expected a valid ID beginning with \"card_request_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CardRequestsList": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `requesterUserId`: Expected a valid ID beginning with \"u_\".",
                  "details": {
                    "/requesterUserId": "Expected a valid ID beginning with \"u_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CardsClose": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `cardId`: Expected a valid ID beginning with \"c_\".",
                  "details": {
                    "/cardId": "Expected a valid ID beginning with \"c_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CardsCreate": {
        "description": "- `account_required` — The legal entity issues cards from more than one account, so the request must name one with `accountId`. List them with `GET /v2/accounts`.\n- `card_group_in_other_account` — The card group holds the cards of another account or virtual account. Pick a group of the card’s virtual account.\n- `physical_cards_not_available` — The account’s card program has no physical card stock. Issue a virtual card, or a physical card from another account.\n- `shipping_address_undeliverable` — The carrier cannot deliver to the shipping address. `details.reason` says why: `no_match` (the address was not found), `secondary_required` (an apartment, suite or unit is missing), `international_unverified`, `po_box_express` (express shipping cannot go to a PO box) or `undeliverable` (a line is too long or too short). Correct the address and retry.\n- `shipping_country_restricted` — Shipping restrictions rule out the destination country. Ship to an address in another country.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "account_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardAccountRequired"
                    }
                  ]
                },
                {
                  "title": "card_group_in_other_account",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardGroupInOtherAccount"
                    }
                  ]
                },
                {
                  "title": "physical_cards_not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorPhysicalCardsNotAvailable"
                    }
                  ]
                },
                {
                  "title": "shipping_address_undeliverable",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorShippingAddressUndeliverable"
                    }
                  ]
                },
                {
                  "title": "shipping_country_restricted",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorShippingCountryRestricted"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "account_required_account_id": {
                "summary": "account_required (accountId)",
                "value": {
                  "code": "account_required",
                  "message": "accountId is required because this legal entity has more than one card account.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "card_group_in_other_account_card_group_id": {
                "summary": "card_group_in_other_account (cardGroupId)",
                "value": {
                  "code": "card_group_in_other_account",
                  "message": "The card group belongs to a different account or virtual account.",
                  "details": {
                    "field": "cardGroupId",
                    "id": "card_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "physical_cards_not_available_account_id": {
                "summary": "physical_cards_not_available (accountId)",
                "value": {
                  "code": "physical_cards_not_available",
                  "message": "This account cannot issue physical cards.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "shipping_address_undeliverable_physical_shipping_address": {
                "summary": "shipping_address_undeliverable (physical.shipping.address)",
                "value": {
                  "code": "shipping_address_undeliverable",
                  "message": "USPS could not verify this address.",
                  "details": {
                    "reason": "no_match",
                    "field": "physical.shipping.address"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "shipping_country_restricted_physical_shipping_address_country_code": {
                "summary": "shipping_country_restricted (physical.shipping.address.countryCode)",
                "value": {
                  "code": "shipping_country_restricted",
                  "message": "Physical cards cannot be shipped to RU.",
                  "details": {
                    "countryCode": "RU",
                    "field": "physical.shipping.address.countryCode"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `X-Idempotency-Key`: This header is required.",
                  "details": {
                    "X-Idempotency-Key": "This header is required."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CardsDetails": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `cardId`: Expected a valid ID beginning with \"c_\".",
                  "details": {
                    "/cardId": "Expected a valid ID beginning with \"c_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CardsGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `cardId`: Expected a valid ID beginning with \"c_\".",
                  "details": {
                    "/cardId": "Expected a valid ID beginning with \"c_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CardsList": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `accountId`: Expected a valid ID beginning with \"sa_group_\".",
                  "details": {
                    "/accountId": "Expected a valid ID beginning with \"sa_group_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CardsPause": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `cardId`: Expected a valid ID beginning with \"c_\".",
                  "details": {
                    "/cardId": "Expected a valid ID beginning with \"c_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CardsReplace": {
        "description": "- `physical_cards_not_available` — The account’s card program has no physical card stock. Issue a virtual card, or a physical card from another account.\n- `shipping_address_undeliverable` — The carrier cannot deliver to the shipping address. `details.reason` says why: `no_match` (the address was not found), `secondary_required` (an apartment, suite or unit is missing), `international_unverified`, `po_box_express` (express shipping cannot go to a PO box) or `undeliverable` (a line is too long or too short). Correct the address and retry.\n- `shipping_country_restricted` — Shipping restrictions rule out the destination country. Ship to an address in another country.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "physical_cards_not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorPhysicalCardsNotAvailable"
                    }
                  ]
                },
                {
                  "title": "shipping_address_undeliverable",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorShippingAddressUndeliverable"
                    }
                  ]
                },
                {
                  "title": "shipping_country_restricted",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorShippingCountryRestricted"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "physical_cards_not_available_card_id": {
                "summary": "physical_cards_not_available (cardId)",
                "value": {
                  "code": "physical_cards_not_available",
                  "message": "This account cannot issue physical cards.",
                  "details": {
                    "field": "cardId",
                    "id": "c_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "shipping_address_undeliverable_physical_shipping_address": {
                "summary": "shipping_address_undeliverable (physical.shipping.address)",
                "value": {
                  "code": "shipping_address_undeliverable",
                  "message": "USPS could not verify this address.",
                  "details": {
                    "reason": "no_match",
                    "field": "physical.shipping.address"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "shipping_country_restricted_physical_shipping_address_country_code": {
                "summary": "shipping_country_restricted (physical.shipping.address.countryCode)",
                "value": {
                  "code": "shipping_country_restricted",
                  "message": "Physical cards cannot be shipped to RU.",
                  "details": {
                    "countryCode": "RU",
                    "field": "physical.shipping.address.countryCode"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `cardId`: Expected a valid ID beginning with \"c_\".",
                  "details": {
                    "/cardId": "Expected a valid ID beginning with \"c_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CardsSetPin": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `cardId`: Expected a valid ID beginning with \"c_\".",
                  "details": {
                    "/cardId": "Expected a valid ID beginning with \"c_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CardsUnpause": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `cardId`: Expected a valid ID beginning with \"c_\".",
                  "details": {
                    "/cardId": "Expected a valid ID beginning with \"c_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CardsUpdate": {
        "description": "- `card_group_in_other_account` — The card group holds the cards of another account or virtual account. Pick a group of the card’s virtual account.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "card_group_in_other_account",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardGroupInOtherAccount"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "card_group_in_other_account_card_group_id": {
                "summary": "card_group_in_other_account (cardGroupId)",
                "value": {
                  "code": "card_group_in_other_account",
                  "message": "The card group belongs to a different account or virtual account.",
                  "details": {
                    "field": "cardGroupId",
                    "id": "card_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `cardId`: Expected a valid ID beginning with \"c_\".",
                  "details": {
                    "/cardId": "Expected a valid ID beginning with \"c_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CardsUtilization": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `cardId`: Expected a valid ID beginning with \"c_\".",
                  "details": {
                    "/cardId": "Expected a valid ID beginning with \"c_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CashbackBalancesGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `accountId`: Expected a valid ID beginning with \"sa_group_\".",
                  "details": {
                    "/accountId": "Expected a valid ID beginning with \"sa_group_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CashbackBalancesList": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `cursor`: The pagination cursor is not one this API issued.",
                  "details": {
                    "/cursor": "The pagination cursor is not one this API issued."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CashbackCyclesList": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `accountId`: Expected a valid ID beginning with \"sa_group_\".",
                  "details": {
                    "/accountId": "Expected a valid ID beginning with \"sa_group_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CashbackRatesGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `accountId`: Expected a valid ID beginning with \"sa_group_\".",
                  "details": {
                    "/accountId": "Expected a valid ID beginning with \"sa_group_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CashbackRatesList": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `cursor`: The pagination cursor is not one this API issued.",
                  "details": {
                    "/cursor": "The pagination cursor is not one this API issued."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CashbackRedemptionsCreate": {
        "description": "- `destination_not_allowed` — The destination can’t receive this account’s cashback: a Global USD account’s cashback only goes back to itself, some accounts can’t receive cashback, and recipients must accept ACH.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "destination_not_allowed",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCashbackDestinationNotAllowed"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "destination_not_allowed_destination_account_id": {
                "summary": "destination_not_allowed (destination.accountId)",
                "value": {
                  "code": "destination_not_allowed",
                  "message": "A Global USD account’s cashback can only go back to that account.",
                  "details": {
                    "reason": "A Global USD account’s cashback can only go back to that account.",
                    "field": "destination.accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "destination_not_allowed_destination_destination_id": {
                "summary": "destination_not_allowed (destination.destinationId)",
                "value": {
                  "code": "destination_not_allowed",
                  "message": "A Global USD account’s cashback can only go back to that account.",
                  "details": {
                    "reason": "A Global USD account’s cashback can only go back to that account.",
                    "field": "destination.destinationId",
                    "id": "le_contact_destination_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `accountId`: Expected a valid ID beginning with \"sa_group_\".",
                  "details": {
                    "/accountId": "Expected a valid ID beginning with \"sa_group_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CashbackRedemptionsGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `redemptionId`: Expected a valid ID beginning with \"transfer_intent_\".",
                  "details": {
                    "/redemptionId": "Expected a valid ID beginning with \"transfer_intent_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CashbackRedemptionsList": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `accountId`: Expected a valid ID beginning with \"sa_group_\".",
                  "details": {
                    "/accountId": "Expected a valid ID beginning with \"sa_group_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CustomersArchive": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `customerId`: Expected a valid ID beginning with \"le_cus_\".",
                  "details": {
                    "/customerId": "Expected a valid ID beginning with \"le_cus_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CustomersCreate": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `X-Idempotency-Key`: This header is required.",
                  "details": {
                    "X-Idempotency-Key": "This header is required."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CustomersGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `customerId`: Expected a valid ID beginning with \"le_cus_\".",
                  "details": {
                    "/customerId": "Expected a valid ID beginning with \"le_cus_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CustomersList": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `cursor`: The pagination cursor is not one this API issued.",
                  "details": {
                    "/cursor": "The pagination cursor is not one this API issued."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CustomersUnarchive": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `customerId`: Expected a valid ID beginning with \"le_cus_\".",
                  "details": {
                    "/customerId": "Expected a valid ID beginning with \"le_cus_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400CustomersUpdate": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `customerId`: Expected a valid ID beginning with \"le_cus_\".",
                  "details": {
                    "/customerId": "Expected a valid ID beginning with \"le_cus_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400DestinationsArchive": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `destinationId`: Expected a valid ID beginning with \"le_contact_destination_\".",
                  "details": {
                    "/destinationId": "Expected a valid ID beginning with \"le_contact_destination_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400DestinationsCreate": {
        "description": "- `international_wire_details_invalid` — The bank rejected the international wire details for the destination country; `fields` lists which.\n- `invalid_beneficiary_address` — The beneficiary address cannot be used for this destination; `problems` says why.\n- `invalid_swift_bic` — The SWIFT/BIC code does not match any bank.\n- `routing_number_blocked` — Slash does not send to this routing number.\n- `routing_number_not_found` — The routing number does not belong to any US bank.\n- `unsupported_beneficiary_name` — The beneficiary name has characters banks do not accept.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "international_wire_details_invalid",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInternationalWireDetailsInvalid"
                    }
                  ]
                },
                {
                  "title": "invalid_beneficiary_address",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidBeneficiaryAddress"
                    }
                  ]
                },
                {
                  "title": "invalid_swift_bic",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidSwiftBic"
                    }
                  ]
                },
                {
                  "title": "routing_number_blocked",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorRoutingNumberBlocked"
                    }
                  ]
                },
                {
                  "title": "routing_number_not_found",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorRoutingNumberNotFound"
                    }
                  ]
                },
                {
                  "title": "unsupported_beneficiary_name",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUnsupportedBeneficiaryName"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "international_wire_details_invalid": {
                "summary": "international_wire_details_invalid",
                "value": {
                  "code": "international_wire_details_invalid",
                  "message": "The international wire details are invalid: accountNumber.",
                  "details": {
                    "fields": "accountNumber"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_beneficiary_address_beneficiary_address": {
                "summary": "invalid_beneficiary_address (beneficiary.address)",
                "value": {
                  "code": "invalid_beneficiary_address",
                  "message": "The beneficiary address is invalid: Enter a valid ZIP code.",
                  "details": {
                    "problems": "Enter a valid ZIP code.",
                    "field": "beneficiary.address"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_swift_bic_swift_bic": {
                "summary": "invalid_swift_bic (swiftBic)",
                "value": {
                  "code": "invalid_swift_bic",
                  "message": "This is not a valid SWIFT/BIC code.",
                  "details": {
                    "field": "swiftBic"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "routing_number_blocked_routing_number": {
                "summary": "routing_number_blocked (routingNumber)",
                "value": {
                  "code": "routing_number_blocked",
                  "message": "This routing number cannot be used as a destination.",
                  "details": {
                    "field": "routingNumber"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "routing_number_not_found_routing_number": {
                "summary": "routing_number_not_found (routingNumber)",
                "value": {
                  "code": "routing_number_not_found",
                  "message": "No bank matches this routing number.",
                  "details": {
                    "field": "routingNumber"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "unsupported_beneficiary_name_beneficiary_name": {
                "summary": "unsupported_beneficiary_name (beneficiary.name)",
                "value": {
                  "code": "unsupported_beneficiary_name",
                  "message": "The beneficiary name must contain letters, digits, or basic punctuation.",
                  "details": {
                    "field": "beneficiary.name"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `X-Idempotency-Key`: This header is required.",
                  "details": {
                    "X-Idempotency-Key": "This header is required."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400DestinationsGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `destinationId`: Expected a valid ID beginning with \"le_contact_destination_\".",
                  "details": {
                    "/destinationId": "Expected a valid ID beginning with \"le_contact_destination_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400DestinationsList": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `recipientId`: Expected a valid ID beginning with \"le_c_\".",
                  "details": {
                    "/recipientId": "Expected a valid ID beginning with \"le_c_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400DocumentsGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `documentId`: Expected a valid ID beginning with \"st_\".",
                  "details": {
                    "/documentId": "Expected a valid ID beginning with \"st_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400DocumentsUpload": {
        "description": "- `file_required` — The `multipart/form-data` body ended without a `file` part.\n- `file_too_large` — Files can be up to 25 MB, and invoice logos up to 2 MB.\n- `pdf_too_many_pages` — PDFs can have up to 100 pages.\n- `unreadable_pdf` — The file is not a valid PDF, or it is damaged or encrypted.\n- `unsupported_file_type` — Only PDF, PNG and JPEG files are accepted, and only PNG and JPEG for invoice logos. HEIC photos are converted to JPEG on upload.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "file_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorFileRequired"
                    }
                  ]
                },
                {
                  "title": "file_too_large",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorFileSizeLimit"
                    }
                  ]
                },
                {
                  "title": "pdf_too_many_pages",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorPdfPageLimit"
                    }
                  ]
                },
                {
                  "title": "unreadable_pdf",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUnreadablePdf"
                    }
                  ]
                },
                {
                  "title": "unsupported_file_type",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUnsupportedFileType"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "file_required_file": {
                "summary": "file_required (file)",
                "value": {
                  "code": "file_required",
                  "message": "A `file` part is required.",
                  "details": {
                    "field": "file"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "file_too_large_file": {
                "summary": "file_too_large (file)",
                "value": {
                  "code": "file_too_large",
                  "message": "The file exceeds 25 MB.",
                  "details": {
                    "field": "file"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "pdf_too_many_pages_file": {
                "summary": "pdf_too_many_pages (file)",
                "value": {
                  "code": "pdf_too_many_pages",
                  "message": "The PDF has more than 100 pages.",
                  "details": {
                    "field": "file"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "unreadable_pdf_file": {
                "summary": "unreadable_pdf (file)",
                "value": {
                  "code": "unreadable_pdf",
                  "message": "The PDF could not be read.",
                  "details": {
                    "field": "file"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "unsupported_file_type_file": {
                "summary": "unsupported_file_type (file)",
                "value": {
                  "code": "unsupported_file_type",
                  "message": "The file must be a PDF, PNG or JPEG.",
                  "details": {
                    "field": "file"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `purpose`: Invalid option: expected one of \"bill_invoice\"|\"accounting_receipt\"|\"invoice_logo\"",
                  "details": {
                    "/purpose": "Invalid option: expected one of \"bill_invoice\"|\"accounting_receipt\"|\"invoice_logo\""
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400FxQuotesCreate": {
        "description": "- `fx_quote_rejected` — The FX provider declined to quote this amount and currency.\n- `global_usd_account_not_supported` — The account is a Global USD account, which this request does not support.\n- `unsupported_currency` — The currency is not an ISO 4217 code Slash can quote.\n- `usd_does_not_use_fx_quotes` — The amount is in USD, which international wires send without an FX quote.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "fx_quote_rejected",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorFxQuoteRejected"
                    }
                  ]
                },
                {
                  "title": "global_usd_account_not_supported",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorGlobalUsdAccountNotSupported"
                    }
                  ]
                },
                {
                  "title": "unsupported_currency",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUnsupportedCurrency"
                    }
                  ]
                },
                {
                  "title": "usd_does_not_use_fx_quotes",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUsdDoesNotUseFxQuotes"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "fx_quote_rejected_amount": {
                "summary": "fx_quote_rejected (amount)",
                "value": {
                  "code": "fx_quote_rejected",
                  "message": "The FX provider rejected this quote request.",
                  "details": {
                    "field": "amount"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "global_usd_account_not_supported_from_account": {
                "summary": "global_usd_account_not_supported (fromAccount)",
                "value": {
                  "code": "global_usd_account_not_supported",
                  "message": "Global USD accounts are not supported for this request.",
                  "details": {
                    "field": "fromAccount",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "unsupported_currency_amount_currency": {
                "summary": "unsupported_currency (amount.currency)",
                "value": {
                  "code": "unsupported_currency",
                  "message": "The currency is not a recognised ISO 4217 currency code.",
                  "details": {
                    "field": "amount.currency"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "usd_does_not_use_fx_quotes_amount_currency": {
                "summary": "usd_does_not_use_fx_quotes (amount.currency)",
                "value": {
                  "code": "usd_does_not_use_fx_quotes",
                  "message": "USD international wires do not use FX quotes.",
                  "details": {
                    "field": "amount.currency"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `fromAccount`: Expected a valid ID beginning with \"subaccount_\".",
                  "details": {
                    "/fromAccount": "Expected a valid ID beginning with \"subaccount_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400FxQuotesGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `fxQuoteId`: Expected a valid ID beginning with \"fx_rate_quote_\".",
                  "details": {
                    "/fxQuoteId": "Expected a valid ID beginning with \"fx_rate_quote_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InformationRequestsCancel": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `informationRequestId`: Expected a valid ID beginning with \"le_c_info_req_\".",
                  "details": {
                    "/informationRequestId": "Expected a valid ID beginning with \"le_c_info_req_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InformationRequestsCreate": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `recipientId`: Expected a valid ID beginning with \"le_c_\".",
                  "details": {
                    "/recipientId": "Expected a valid ID beginning with \"le_c_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InformationRequestsGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `informationRequestId`: Expected a valid ID beginning with \"le_c_info_req_\".",
                  "details": {
                    "/informationRequestId": "Expected a valid ID beginning with \"le_c_info_req_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InformationRequestsList": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `recipientId`: Expected a valid ID beginning with \"le_c_\".",
                  "details": {
                    "/recipientId": "Expected a valid ID beginning with \"le_c_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InternationalWireTransfersCreate": {
        "description": "- `amount_above_limit` — The amount is more than this account may still send on this rail within its limit.\n- `amount_below_minimum` — The amount is below the smallest transfer this account may send on this rail.\n- `destination_type_mismatch` — The destination is of a type this rail cannot send to, e.g. an `international_wire` destination for an ACH transfer.\n- `fx_quote_amount_mismatch` — The FX quote was created for a different currency or amount than this transfer.\n- `fx_quote_expired` — The FX quote expired before the transfer was created; create a new one.\n- `fx_quote_required` — An international wire in a currency other than USD needs an FX quote; create one with `POST /v2/transfers/international-wire/fx-quotes`.\n- `global_usd_account_not_supported` — The account is a Global USD account, which this request does not support.\n- `transfer_count_limit_reached` — The account has sent as many transfers as its limit allows for the current interval.\n- `usd_does_not_use_fx_quotes` — The amount is in USD, which international wires send without an FX quote.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "amount_above_limit",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorAmountAboveLimit"
                    }
                  ]
                },
                {
                  "title": "amount_below_minimum",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorAmountBelowMinimum"
                    }
                  ]
                },
                {
                  "title": "destination_type_mismatch",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDestinationTypeMismatch"
                    }
                  ]
                },
                {
                  "title": "fx_quote_amount_mismatch",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorFxQuoteAmountMismatch"
                    }
                  ]
                },
                {
                  "title": "fx_quote_expired",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorFxQuoteExpired"
                    }
                  ]
                },
                {
                  "title": "fx_quote_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorFxQuoteRequired"
                    }
                  ]
                },
                {
                  "title": "global_usd_account_not_supported",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorGlobalUsdAccountNotSupported"
                    }
                  ]
                },
                {
                  "title": "transfer_count_limit_reached",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorTransferCountLimitReached"
                    }
                  ]
                },
                {
                  "title": "usd_does_not_use_fx_quotes",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUsdDoesNotUseFxQuotes"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "amount_above_limit_amount": {
                "summary": "amount_above_limit (amount)",
                "value": {
                  "code": "amount_above_limit",
                  "message": "This ACH transfer exceeds the remaining limit of $25,000.00 for this account.",
                  "details": {
                    "transferType": "ACH",
                    "maximum": "$25,000.00",
                    "field": "amount"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "amount_below_minimum_amount": {
                "summary": "amount_below_minimum (amount)",
                "value": {
                  "code": "amount_below_minimum",
                  "message": "The minimum ACH transfer from this account is $1.00.",
                  "details": {
                    "transferType": "ACH",
                    "minimum": "$1.00",
                    "field": "amount"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "destination_type_mismatch_destination_id": {
                "summary": "destination_type_mismatch (destinationId)",
                "value": {
                  "code": "destination_type_mismatch",
                  "message": "Only bank_account destinations can receive ACH transfers; this destination is international_wire.",
                  "details": {
                    "requiredType": "bank_account",
                    "transferType": "ACH",
                    "destinationType": "international_wire",
                    "field": "destinationId",
                    "id": "le_contact_destination_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "fx_quote_amount_mismatch_international_wire_fx_quote_id": {
                "summary": "fx_quote_amount_mismatch (internationalWire.fxQuoteId)",
                "value": {
                  "code": "fx_quote_amount_mismatch",
                  "message": "The FX quote does not match amount.",
                  "details": {
                    "field": "internationalWire.fxQuoteId",
                    "id": "fx_rate_quote_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "fx_quote_expired_international_wire_fx_quote_id": {
                "summary": "fx_quote_expired (internationalWire.fxQuoteId)",
                "value": {
                  "code": "fx_quote_expired",
                  "message": "The FX quote has expired.",
                  "details": {
                    "field": "internationalWire.fxQuoteId",
                    "id": "fx_rate_quote_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "fx_quote_required_international_wire_fx_quote_id": {
                "summary": "fx_quote_required (internationalWire.fxQuoteId)",
                "value": {
                  "code": "fx_quote_required",
                  "message": "internationalWire.fxQuoteId is required for a non-USD amount.",
                  "details": {
                    "field": "internationalWire.fxQuoteId",
                    "id": "fx_rate_quote_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "global_usd_account_not_supported_from_account": {
                "summary": "global_usd_account_not_supported (fromAccount)",
                "value": {
                  "code": "global_usd_account_not_supported",
                  "message": "Global USD accounts are not supported for this request.",
                  "details": {
                    "field": "fromAccount",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "transfer_count_limit_reached_from_account": {
                "summary": "transfer_count_limit_reached (fromAccount)",
                "value": {
                  "code": "transfer_count_limit_reached",
                  "message": "This account has reached its daily limit on the number of transfers.",
                  "details": {
                    "interval": "daily",
                    "field": "fromAccount",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "usd_does_not_use_fx_quotes_international_wire_fx_quote_id": {
                "summary": "usd_does_not_use_fx_quotes (internationalWire.fxQuoteId)",
                "value": {
                  "code": "usd_does_not_use_fx_quotes",
                  "message": "USD international wires do not use FX quotes.",
                  "details": {
                    "field": "internationalWire.fxQuoteId",
                    "id": "fx_rate_quote_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `fromAccount`: Expected a valid ID beginning with \"subaccount_\".",
                  "details": {
                    "/fromAccount": "Expected a valid ID beginning with \"subaccount_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InvoicesCatalogItemsArchive": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `catalogItemId`: Expected a valid ID beginning with \"cat_item_\".",
                  "details": {
                    "/catalogItemId": "Expected a valid ID beginning with \"cat_item_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InvoicesCatalogItemsCreate": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `X-Idempotency-Key`: This header is required.",
                  "details": {
                    "X-Idempotency-Key": "This header is required."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InvoicesCatalogItemsGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `catalogItemId`: Expected a valid ID beginning with \"cat_item_\".",
                  "details": {
                    "/catalogItemId": "Expected a valid ID beginning with \"cat_item_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InvoicesCatalogItemsList": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `cursor`: The pagination cursor is not one this API issued.",
                  "details": {
                    "/cursor": "The pagination cursor is not one this API issued."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InvoicesCatalogItemsUnarchive": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `catalogItemId`: Expected a valid ID beginning with \"cat_item_\".",
                  "details": {
                    "/catalogItemId": "Expected a valid ID beginning with \"cat_item_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InvoicesCatalogItemsUpdate": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `catalogItemId`: Expected a valid ID beginning with \"cat_item_\".",
                  "details": {
                    "/catalogItemId": "Expected a valid ID beginning with \"cat_item_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InvoicesCreate": {
        "description": "- `invoice_account_required` — The legal entity has several accounts that can receive payments, so the invoice needs to name one.\n- `invoice_amount_below_crypto_minimum` — Crypto payments have a minimum amount. Offer another payment method or raise the total.\n- `invoice_amount_exceeds_ach_debit_limit` — A single ACH debit cannot cover the invoice total. Offer another payment method or lower the total.\n- `payment_method_not_available` — The payment method is not available for the legal entity or for the account receiving the invoice. Global USD accounts do not accept ACH debit.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "invoice_account_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceAccountRequired"
                    }
                  ]
                },
                {
                  "title": "invoice_amount_below_crypto_minimum",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceAmountBelowCryptoMinimum"
                    }
                  ]
                },
                {
                  "title": "invoice_amount_exceeds_ach_debit_limit",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceAmountExceedsAchDebitLimit"
                    }
                  ]
                },
                {
                  "title": "payment_method_not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorPaymentMethodNotAvailable"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "invoice_account_required_account_id": {
                "summary": "invoice_account_required (accountId)",
                "value": {
                  "code": "invoice_account_required",
                  "message": "More than one account can receive invoice payments; pass accountId to pick one.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invoice_amount_below_crypto_minimum": {
                "summary": "invoice_amount_below_crypto_minimum",
                "value": {
                  "code": "invoice_amount_below_crypto_minimum",
                  "message": "The invoice total is under the crypto payment minimum; remove crypto or raise the total.",
                  "details": {},
                  "referenceId": "4001-2alj5if"
                }
              },
              "invoice_amount_exceeds_ach_debit_limit": {
                "summary": "invoice_amount_exceeds_ach_debit_limit",
                "value": {
                  "code": "invoice_amount_exceeds_ach_debit_limit",
                  "message": "The invoice total is over the single ACH debit limit; remove ach_debit or lower the total.",
                  "details": {},
                  "referenceId": "4001-2alj5if"
                }
              },
              "payment_method_not_available_payment_methods": {
                "summary": "payment_method_not_available (paymentMethods)",
                "value": {
                  "code": "payment_method_not_available",
                  "message": "Payers cannot pay this invoice by ach_debit.",
                  "details": {
                    "type": "ach_debit",
                    "field": "paymentMethods"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `customerId`: Expected a valid ID beginning with \"le_cus_\".",
                  "details": {
                    "/customerId": "Expected a valid ID beginning with \"le_cus_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InvoicesGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `invoiceId`: Expected a valid ID beginning with \"inv_\".",
                  "details": {
                    "/invoiceId": "Expected a valid ID beginning with \"inv_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InvoicesList": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `customerId`: Expected a valid ID beginning with \"le_cus_\".",
                  "details": {
                    "/customerId": "Expected a valid ID beginning with \"le_cus_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InvoicesPaymentInstructionsGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `invoiceId`: Expected a valid ID beginning with \"inv_\".",
                  "details": {
                    "/invoiceId": "Expected a valid ID beginning with \"inv_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InvoicesPaymentsAdd": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `invoiceId`: Expected a valid ID beginning with \"inv_\".",
                  "details": {
                    "/invoiceId": "Expected a valid ID beginning with \"inv_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InvoicesPaymentsRemove": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `invoiceId`: Expected a valid ID beginning with \"inv_\".",
                  "details": {
                    "/invoiceId": "Expected a valid ID beginning with \"inv_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InvoicesSend": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `invoiceId`: Expected a valid ID beginning with \"inv_\".",
                  "details": {
                    "/invoiceId": "Expected a valid ID beginning with \"inv_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InvoicesSendReminder": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `invoiceId`: Expected a valid ID beginning with \"inv_\".",
                  "details": {
                    "/invoiceId": "Expected a valid ID beginning with \"inv_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InvoicesSeriesCancel": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `seriesId`: Expected a valid ID beginning with \"inv_series_\".",
                  "details": {
                    "/seriesId": "Expected a valid ID beginning with \"inv_series_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InvoicesSeriesCreate": {
        "description": "- `invoice_account_required` — The legal entity has several accounts that can receive payments, so the invoice needs to name one.\n- `invoice_amount_below_crypto_minimum` — Crypto payments have a minimum amount. Offer another payment method or raise the total.\n- `invoice_amount_exceeds_ach_debit_limit` — A single ACH debit cannot cover the invoice total. Offer another payment method or lower the total.\n- `payment_method_not_available` — The payment method is not available for the legal entity or for the account receiving the invoice. Global USD accounts do not accept ACH debit.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "invoice_account_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceAccountRequired"
                    }
                  ]
                },
                {
                  "title": "invoice_amount_below_crypto_minimum",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceAmountBelowCryptoMinimum"
                    }
                  ]
                },
                {
                  "title": "invoice_amount_exceeds_ach_debit_limit",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceAmountExceedsAchDebitLimit"
                    }
                  ]
                },
                {
                  "title": "payment_method_not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorPaymentMethodNotAvailable"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "invoice_account_required_account_id": {
                "summary": "invoice_account_required (accountId)",
                "value": {
                  "code": "invoice_account_required",
                  "message": "More than one account can receive invoice payments; pass accountId to pick one.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invoice_amount_below_crypto_minimum": {
                "summary": "invoice_amount_below_crypto_minimum",
                "value": {
                  "code": "invoice_amount_below_crypto_minimum",
                  "message": "The invoice total is under the crypto payment minimum; remove crypto or raise the total.",
                  "details": {},
                  "referenceId": "4001-2alj5if"
                }
              },
              "invoice_amount_exceeds_ach_debit_limit": {
                "summary": "invoice_amount_exceeds_ach_debit_limit",
                "value": {
                  "code": "invoice_amount_exceeds_ach_debit_limit",
                  "message": "The invoice total is over the single ACH debit limit; remove ach_debit or lower the total.",
                  "details": {},
                  "referenceId": "4001-2alj5if"
                }
              },
              "payment_method_not_available_payment_methods": {
                "summary": "payment_method_not_available (paymentMethods)",
                "value": {
                  "code": "payment_method_not_available",
                  "message": "Payers cannot pay this invoice by ach_debit.",
                  "details": {
                    "type": "ach_debit",
                    "field": "paymentMethods"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `customerId`: Expected a valid ID beginning with \"le_cus_\".",
                  "details": {
                    "/customerId": "Expected a valid ID beginning with \"le_cus_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InvoicesSeriesGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `seriesId`: Expected a valid ID beginning with \"inv_series_\".",
                  "details": {
                    "/seriesId": "Expected a valid ID beginning with \"inv_series_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InvoicesSeriesList": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `customerId`: Expected a valid ID beginning with \"le_cus_\".",
                  "details": {
                    "/customerId": "Expected a valid ID beginning with \"le_cus_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InvoicesSeriesSkip": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `seriesId`: Expected a valid ID beginning with \"inv_series_\".",
                  "details": {
                    "/seriesId": "Expected a valid ID beginning with \"inv_series_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InvoicesSeriesUpdate": {
        "description": "- `invoice_amount_below_crypto_minimum` — Crypto payments have a minimum amount. Offer another payment method or raise the total.\n- `invoice_amount_exceeds_ach_debit_limit` — A single ACH debit cannot cover the invoice total. Offer another payment method or lower the total.\n- `invoice_series_end_before_start` — With the change applied, the series would end before it starts.\n- `invoice_total_not_positive` — After the discount and tax are applied, the line items must add up to more than zero.\n- `payment_method_not_available` — The payment method is not available for the legal entity or for the account receiving the invoice. Global USD accounts do not accept ACH debit.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "invoice_amount_below_crypto_minimum",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceAmountBelowCryptoMinimum"
                    }
                  ]
                },
                {
                  "title": "invoice_amount_exceeds_ach_debit_limit",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceAmountExceedsAchDebitLimit"
                    }
                  ]
                },
                {
                  "title": "invoice_series_end_before_start",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceSeriesEndBeforeStart"
                    }
                  ]
                },
                {
                  "title": "invoice_total_not_positive",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceTotalNotPositive"
                    }
                  ]
                },
                {
                  "title": "payment_method_not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorPaymentMethodNotAvailable"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "invoice_amount_below_crypto_minimum": {
                "summary": "invoice_amount_below_crypto_minimum",
                "value": {
                  "code": "invoice_amount_below_crypto_minimum",
                  "message": "The invoice total is under the crypto payment minimum; remove crypto or raise the total.",
                  "details": {},
                  "referenceId": "4001-2alj5if"
                }
              },
              "invoice_amount_exceeds_ach_debit_limit": {
                "summary": "invoice_amount_exceeds_ach_debit_limit",
                "value": {
                  "code": "invoice_amount_exceeds_ach_debit_limit",
                  "message": "The invoice total is over the single ACH debit limit; remove ach_debit or lower the total.",
                  "details": {},
                  "referenceId": "4001-2alj5if"
                }
              },
              "invoice_series_end_before_start_end": {
                "summary": "invoice_series_end_before_start (end)",
                "value": {
                  "code": "invoice_series_end_before_start",
                  "message": "end.date must be after startDate.",
                  "details": {
                    "field": "end"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invoice_series_end_before_start_start_date": {
                "summary": "invoice_series_end_before_start (startDate)",
                "value": {
                  "code": "invoice_series_end_before_start",
                  "message": "end.date must be after startDate.",
                  "details": {
                    "field": "startDate"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invoice_total_not_positive_line_items": {
                "summary": "invoice_total_not_positive (lineItems)",
                "value": {
                  "code": "invoice_total_not_positive",
                  "message": "The invoice total must be more than zero.",
                  "details": {
                    "field": "lineItems"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invoice_total_not_positive_discount": {
                "summary": "invoice_total_not_positive (discount)",
                "value": {
                  "code": "invoice_total_not_positive",
                  "message": "The invoice total must be more than zero.",
                  "details": {
                    "field": "discount"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "payment_method_not_available_payment_methods": {
                "summary": "payment_method_not_available (paymentMethods)",
                "value": {
                  "code": "payment_method_not_available",
                  "message": "Payers cannot pay this invoice by ach_debit.",
                  "details": {
                    "type": "ach_debit",
                    "field": "paymentMethods"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "payment_method_not_available_account_id": {
                "summary": "payment_method_not_available (accountId)",
                "value": {
                  "code": "payment_method_not_available",
                  "message": "Payers cannot pay this invoice by ach_debit.",
                  "details": {
                    "type": "ach_debit",
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "payment_method_not_available_virtual_account_id": {
                "summary": "payment_method_not_available (virtualAccountId)",
                "value": {
                  "code": "payment_method_not_available",
                  "message": "Payers cannot pay this invoice by ach_debit.",
                  "details": {
                    "type": "ach_debit",
                    "field": "virtualAccountId",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `seriesId`: Expected a valid ID beginning with \"inv_series_\".",
                  "details": {
                    "/seriesId": "Expected a valid ID beginning with \"inv_series_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InvoicesSettingsGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `x-legal-entity`: Expected a valid ID beginning with \"le_\".",
                  "details": {},
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InvoicesSettingsUpdate": {
        "description": "- `document_purpose_mismatch` — The document was uploaded with a different `purpose`.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "document_purpose_mismatch",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDocumentPurposeMismatch"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "document_purpose_mismatch_logo_document_id": {
                "summary": "document_purpose_mismatch (logoDocumentId)",
                "value": {
                  "code": "document_purpose_mismatch",
                  "message": "Only documents uploaded with purpose bill_invoice can be used here.",
                  "details": {
                    "expected": "bill_invoice",
                    "purpose": "accounting_receipt",
                    "field": "logoDocumentId",
                    "id": "st_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `logoDocumentId`: Expected a valid ID beginning with \"st_\".",
                  "details": {
                    "/logoDocumentId": "Expected a valid ID beginning with \"st_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InvoicesUpdate": {
        "description": "- `invoice_amount_below_crypto_minimum` — Crypto payments have a minimum amount. Offer another payment method or raise the total.\n- `invoice_amount_exceeds_ach_debit_limit` — A single ACH debit cannot cover the invoice total. Offer another payment method or lower the total.\n- `invoice_due_before_issue` — With the change applied, the invoice would be due before it is issued.\n- `invoice_total_not_positive` — After the discount and tax are applied, the line items must add up to more than zero.\n- `payment_method_not_available` — The payment method is not available for the legal entity or for the account receiving the invoice. Global USD accounts do not accept ACH debit.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "invoice_amount_below_crypto_minimum",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceAmountBelowCryptoMinimum"
                    }
                  ]
                },
                {
                  "title": "invoice_amount_exceeds_ach_debit_limit",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceAmountExceedsAchDebitLimit"
                    }
                  ]
                },
                {
                  "title": "invoice_due_before_issue",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceDueBeforeIssue"
                    }
                  ]
                },
                {
                  "title": "invoice_total_not_positive",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceTotalNotPositive"
                    }
                  ]
                },
                {
                  "title": "payment_method_not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorPaymentMethodNotAvailable"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "invoice_amount_below_crypto_minimum": {
                "summary": "invoice_amount_below_crypto_minimum",
                "value": {
                  "code": "invoice_amount_below_crypto_minimum",
                  "message": "The invoice total is under the crypto payment minimum; remove crypto or raise the total.",
                  "details": {},
                  "referenceId": "4001-2alj5if"
                }
              },
              "invoice_amount_exceeds_ach_debit_limit": {
                "summary": "invoice_amount_exceeds_ach_debit_limit",
                "value": {
                  "code": "invoice_amount_exceeds_ach_debit_limit",
                  "message": "The invoice total is over the single ACH debit limit; remove ach_debit or lower the total.",
                  "details": {},
                  "referenceId": "4001-2alj5if"
                }
              },
              "invoice_due_before_issue_due_date": {
                "summary": "invoice_due_before_issue (dueDate)",
                "value": {
                  "code": "invoice_due_before_issue",
                  "message": "dueDate must be on or after issueDate.",
                  "details": {
                    "field": "dueDate"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invoice_due_before_issue_issue_date": {
                "summary": "invoice_due_before_issue (issueDate)",
                "value": {
                  "code": "invoice_due_before_issue",
                  "message": "dueDate must be on or after issueDate.",
                  "details": {
                    "field": "issueDate"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invoice_total_not_positive_line_items": {
                "summary": "invoice_total_not_positive (lineItems)",
                "value": {
                  "code": "invoice_total_not_positive",
                  "message": "The invoice total must be more than zero.",
                  "details": {
                    "field": "lineItems"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invoice_total_not_positive_discount": {
                "summary": "invoice_total_not_positive (discount)",
                "value": {
                  "code": "invoice_total_not_positive",
                  "message": "The invoice total must be more than zero.",
                  "details": {
                    "field": "discount"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "payment_method_not_available_payment_methods": {
                "summary": "payment_method_not_available (paymentMethods)",
                "value": {
                  "code": "payment_method_not_available",
                  "message": "Payers cannot pay this invoice by ach_debit.",
                  "details": {
                    "type": "ach_debit",
                    "field": "paymentMethods"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "payment_method_not_available_account_id": {
                "summary": "payment_method_not_available (accountId)",
                "value": {
                  "code": "payment_method_not_available",
                  "message": "Payers cannot pay this invoice by ach_debit.",
                  "details": {
                    "type": "ach_debit",
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "payment_method_not_available_virtual_account_id": {
                "summary": "payment_method_not_available (virtualAccountId)",
                "value": {
                  "code": "payment_method_not_available",
                  "message": "Payers cannot pay this invoice by ach_debit.",
                  "details": {
                    "type": "ach_debit",
                    "field": "virtualAccountId",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `invoiceId`: Expected a valid ID beginning with \"inv_\".",
                  "details": {
                    "/invoiceId": "Expected a valid ID beginning with \"inv_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400InvoicesVoid": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `invoiceId`: Expected a valid ID beginning with \"inv_\".",
                  "details": {
                    "/invoiceId": "Expected a valid ID beginning with \"inv_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400LegalEntitiesList": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `cursor`: The pagination cursor is not one this API issued.",
                  "details": {
                    "/cursor": "The pagination cursor is not one this API issued."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400MerchantCategoriesList": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `cursor`: The pagination cursor is not one this API issued.",
                  "details": {
                    "/cursor": "The pagination cursor is not one this API issued."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400MerchantsGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `merchantId`: Expected a valid ID beginning with \"merchant_v2_\".",
                  "details": {
                    "/merchantId": "Expected a valid ID beginning with \"merchant_v2_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400MerchantsList": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `categoryId`: Expected a valid ID beginning with \"merchant_category_\".",
                  "details": {
                    "/categoryId": "Expected a valid ID beginning with \"merchant_category_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400RealtimeTransfersCreate": {
        "description": "- `amount_above_limit` — The amount is more than this account may still send on this rail within its limit.\n- `amount_below_minimum` — The amount is below the smallest transfer this account may send on this rail.\n- `destination_type_mismatch` — The destination is of a type this rail cannot send to, e.g. an `international_wire` destination for an ACH transfer.\n- `global_usd_account_not_supported` — The account is a Global USD account, which this request does not support.\n- `transfer_count_limit_reached` — The account has sent as many transfers as its limit allows for the current interval.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "amount_above_limit",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorAmountAboveLimit"
                    }
                  ]
                },
                {
                  "title": "amount_below_minimum",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorAmountBelowMinimum"
                    }
                  ]
                },
                {
                  "title": "destination_type_mismatch",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDestinationTypeMismatch"
                    }
                  ]
                },
                {
                  "title": "global_usd_account_not_supported",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorGlobalUsdAccountNotSupported"
                    }
                  ]
                },
                {
                  "title": "transfer_count_limit_reached",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorTransferCountLimitReached"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "amount_above_limit_amount": {
                "summary": "amount_above_limit (amount)",
                "value": {
                  "code": "amount_above_limit",
                  "message": "This ACH transfer exceeds the remaining limit of $25,000.00 for this account.",
                  "details": {
                    "transferType": "ACH",
                    "maximum": "$25,000.00",
                    "field": "amount"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "amount_below_minimum_amount": {
                "summary": "amount_below_minimum (amount)",
                "value": {
                  "code": "amount_below_minimum",
                  "message": "The minimum ACH transfer from this account is $1.00.",
                  "details": {
                    "transferType": "ACH",
                    "minimum": "$1.00",
                    "field": "amount"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "destination_type_mismatch_destination_id": {
                "summary": "destination_type_mismatch (destinationId)",
                "value": {
                  "code": "destination_type_mismatch",
                  "message": "Only bank_account destinations can receive ACH transfers; this destination is international_wire.",
                  "details": {
                    "requiredType": "bank_account",
                    "transferType": "ACH",
                    "destinationType": "international_wire",
                    "field": "destinationId",
                    "id": "le_contact_destination_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "global_usd_account_not_supported_from_account": {
                "summary": "global_usd_account_not_supported (fromAccount)",
                "value": {
                  "code": "global_usd_account_not_supported",
                  "message": "Global USD accounts are not supported for this request.",
                  "details": {
                    "field": "fromAccount",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "transfer_count_limit_reached_from_account": {
                "summary": "transfer_count_limit_reached (fromAccount)",
                "value": {
                  "code": "transfer_count_limit_reached",
                  "message": "This account has reached its daily limit on the number of transfers.",
                  "details": {
                    "interval": "daily",
                    "field": "fromAccount",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `fromAccount`: Expected a valid ID beginning with \"subaccount_\".",
                  "details": {
                    "/fromAccount": "Expected a valid ID beginning with \"subaccount_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400RecipientsArchive": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `recipientId`: Expected a valid ID beginning with \"le_c_\".",
                  "details": {
                    "/recipientId": "Expected a valid ID beginning with \"le_c_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400RecipientsCreate": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `X-Idempotency-Key`: This header is required.",
                  "details": {
                    "X-Idempotency-Key": "This header is required."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400RecipientsGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `recipientId`: Expected a valid ID beginning with \"le_c_\".",
                  "details": {
                    "/recipientId": "Expected a valid ID beginning with \"le_c_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400RecipientsList": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `cursor`: The pagination cursor is not one this API issued.",
                  "details": {
                    "/cursor": "The pagination cursor is not one this API issued."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400RecipientsTaxDetailsGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `recipientId`: Expected a valid ID beginning with \"le_c_\".",
                  "details": {
                    "/recipientId": "Expected a valid ID beginning with \"le_c_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400TransactionsCardGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `transactionId`: Expected a valid ID beginning with \"agg_tx_\".",
                  "details": {
                    "/transactionId": "Expected a valid ID beginning with \"agg_tx_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400TransactionsCardList": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `accountId`: Expected a valid ID beginning with \"sa_group_\".",
                  "details": {
                    "/accountId": "Expected a valid ID beginning with \"sa_group_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400TransactionsGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `transactionId`: Expected a valid ID beginning with \"agg_tx_\".",
                  "details": {
                    "/transactionId": "Expected a valid ID beginning with \"agg_tx_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400TransactionsList": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `accountId`: Expected a valid ID beginning with \"sa_group_\".",
                  "details": {
                    "/accountId": "Expected a valid ID beginning with \"sa_group_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400TransactionsUpdate": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `transactionId`: Expected a valid ID beginning with \"agg_tx_\".",
                  "details": {
                    "/transactionId": "Expected a valid ID beginning with \"agg_tx_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400TransfersCancel": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `transferId`: Expected a valid ID beginning with \"transfer_intent_\".",
                  "details": {
                    "/transferId": "Expected a valid ID beginning with \"transfer_intent_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400TransfersGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `transferId`: Expected a valid ID beginning with \"transfer_intent_\".",
                  "details": {
                    "/transferId": "Expected a valid ID beginning with \"transfer_intent_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400TransfersList": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `accountId`: Expected a valid ID beginning with \"sa_group_\".",
                  "details": {
                    "/accountId": "Expected a valid ID beginning with \"sa_group_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400UsersGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `userId`: Expected a valid ID beginning with \"u_\".",
                  "details": {
                    "/userId": "Expected a valid ID beginning with \"u_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400UsersList": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `cursor`: The pagination cursor is not one this API issued.",
                  "details": {
                    "/cursor": "The pagination cursor is not one this API issued."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400VirtualAccountsClose": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `virtualAccountId`: Expected a valid ID beginning with \"subaccount_\".",
                  "details": {
                    "/virtualAccountId": "Expected a valid ID beginning with \"subaccount_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400VirtualAccountsCreate": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `accountId`: Expected a valid ID beginning with \"sa_group_\".",
                  "details": {
                    "/accountId": "Expected a valid ID beginning with \"sa_group_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400VirtualAccountsGet": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `virtualAccountId`: Expected a valid ID beginning with \"subaccount_\".",
                  "details": {
                    "/virtualAccountId": "Expected a valid ID beginning with \"subaccount_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400VirtualAccountsList": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `accountId`: Expected a valid ID beginning with \"sa_group_\".",
                  "details": {
                    "/accountId": "Expected a valid ID beginning with \"sa_group_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400VirtualAccountsUpdate": {
        "description": "- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
            },
            "examples": {
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `virtualAccountId`: Expected a valid ID beginning with \"subaccount_\".",
                  "details": {
                    "/virtualAccountId": "Expected a valid ID beginning with \"subaccount_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error400WireTransfersCreate": {
        "description": "- `amount_above_limit` — The amount is more than this account may still send on this rail within its limit.\n- `amount_below_minimum` — The amount is below the smallest transfer this account may send on this rail.\n- `destination_type_mismatch` — The destination is of a type this rail cannot send to, e.g. an `international_wire` destination for an ACH transfer.\n- `global_usd_account_not_supported` — The account is a Global USD account, which this request does not support.\n- `transfer_count_limit_reached` — The account has sent as many transfers as its limit allows for the current interval.\n- `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "amount_above_limit",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorAmountAboveLimit"
                    }
                  ]
                },
                {
                  "title": "amount_below_minimum",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorAmountBelowMinimum"
                    }
                  ]
                },
                {
                  "title": "destination_type_mismatch",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDestinationTypeMismatch"
                    }
                  ]
                },
                {
                  "title": "global_usd_account_not_supported",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorGlobalUsdAccountNotSupported"
                    }
                  ]
                },
                {
                  "title": "transfer_count_limit_reached",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorTransferCountLimitReached"
                    }
                  ]
                },
                {
                  "title": "invalid_request (request shape)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvalidRequestShape"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "amount_above_limit_amount": {
                "summary": "amount_above_limit (amount)",
                "value": {
                  "code": "amount_above_limit",
                  "message": "This ACH transfer exceeds the remaining limit of $25,000.00 for this account.",
                  "details": {
                    "transferType": "ACH",
                    "maximum": "$25,000.00",
                    "field": "amount"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "amount_below_minimum_amount": {
                "summary": "amount_below_minimum (amount)",
                "value": {
                  "code": "amount_below_minimum",
                  "message": "The minimum ACH transfer from this account is $1.00.",
                  "details": {
                    "transferType": "ACH",
                    "minimum": "$1.00",
                    "field": "amount"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "destination_type_mismatch_destination_id": {
                "summary": "destination_type_mismatch (destinationId)",
                "value": {
                  "code": "destination_type_mismatch",
                  "message": "Only bank_account destinations can receive ACH transfers; this destination is international_wire.",
                  "details": {
                    "requiredType": "bank_account",
                    "transferType": "ACH",
                    "destinationType": "international_wire",
                    "field": "destinationId",
                    "id": "le_contact_destination_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "global_usd_account_not_supported_from_account": {
                "summary": "global_usd_account_not_supported (fromAccount)",
                "value": {
                  "code": "global_usd_account_not_supported",
                  "message": "Global USD accounts are not supported for this request.",
                  "details": {
                    "field": "fromAccount",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "transfer_count_limit_reached_from_account": {
                "summary": "transfer_count_limit_reached (fromAccount)",
                "value": {
                  "code": "transfer_count_limit_reached",
                  "message": "This account has reached its daily limit on the number of transfers.",
                  "details": {
                    "interval": "daily",
                    "field": "fromAccount",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4001-2alj5if"
                }
              },
              "invalid_request_request_shape": {
                "summary": "invalid_request (request shape)",
                "value": {
                  "code": "invalid_request",
                  "message": "Invalid `fromAccount`: Expected a valid ID beginning with \"subaccount_\".",
                  "details": {
                    "/fromAccount": "Expected a valid ID beginning with \"subaccount_\"."
                  },
                  "referenceId": "4001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error401Unauthorized": {
        "description": "- `unauthorized` — API key authentication is missing or invalid.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorUnauthorized"
            },
            "examples": {
              "unauthorized": {
                "summary": "unauthorized",
                "value": {
                  "code": "unauthorized",
                  "message": "API key authentication is missing or invalid.",
                  "details": {},
                  "referenceId": "4011-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403AchTransfersCreate": {
        "description": "- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `ip_allowlist_required` — The legal entity does not enforce an IP allowlist. Creating or cancelling transfers requires one, and the request must come from an allowlisted IP.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "ip_allowlist_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorTransferIpAllowlistRequired"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "forbidden_from_account": {
                "summary": "forbidden (fromAccount)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `fromAccount` subaccount_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "fromAccount",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_bill_id": {
                "summary": "forbidden (billId)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `billId` bill_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "billId",
                    "id": "bill_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "ip_allowlist_required": {
                "summary": "ip_allowlist_required",
                "value": {
                  "code": "ip_allowlist_required",
                  "message": "Creating or canceling transfers requires the legal entity’s IP allowlist to be on, and the request to come from an IP on it.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403BillsCreate": {
        "description": "- `bill_owner_not_allowed` — This API key can only create and keep bills owned by its own user.\n- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "bill_owner_not_allowed",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorBillOwnerNotAllowed"
                    }
                  ]
                },
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "bill_owner_not_allowed_owner_user_id": {
                "summary": "bill_owner_not_allowed (ownerUserId)",
                "value": {
                  "code": "bill_owner_not_allowed",
                  "message": "This API key can only assign bills to its own user.",
                  "details": {
                    "field": "ownerUserId",
                    "id": "u_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden": {
                "summary": "forbidden",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403BillsUpdate": {
        "description": "- `bill_owner_not_allowed` — This API key can only create and keep bills owned by its own user.\n- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "bill_owner_not_allowed",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorBillOwnerNotAllowed"
                    }
                  ]
                },
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "bill_owner_not_allowed_owner_user_id": {
                "summary": "bill_owner_not_allowed (ownerUserId)",
                "value": {
                  "code": "bill_owner_not_allowed",
                  "message": "This API key can only assign bills to its own user.",
                  "details": {
                    "field": "ownerUserId",
                    "id": "u_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden": {
                "summary": "forbidden",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403BookTransfersCreate": {
        "description": "- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `ip_allowlist_required` — The legal entity does not enforce an IP allowlist. Creating or cancelling transfers requires one, and the request must come from an allowlisted IP.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "ip_allowlist_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorTransferIpAllowlistRequired"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "forbidden_from_account": {
                "summary": "forbidden (fromAccount)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `fromAccount` subaccount_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "fromAccount",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_to_account": {
                "summary": "forbidden (toAccount)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `toAccount` subaccount_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "toAccount",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "ip_allowlist_required": {
                "summary": "ip_allowlist_required",
                "value": {
                  "code": "ip_allowlist_required",
                  "message": "Creating or canceling transfers requires the legal entity’s IP allowlist to be on, and the request to come from an IP on it.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403CardGroupsArchive": {
        "description": "- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "forbidden_card_group_id": {
                "summary": "forbidden (cardGroupId)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `cardGroupId` card_group_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "cardGroupId",
                    "id": "card_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403CardGroupsUpdate": {
        "description": "- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "forbidden_card_group_id": {
                "summary": "forbidden (cardGroupId)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `cardGroupId` card_group_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "cardGroupId",
                    "id": "card_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403CardRequestsCreate": {
        "description": "- `feature_not_enabled` — The feature this request uses is not enabled for the legal entity. Contact Slash support to enable it.\n- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `international_shipping_not_enabled` — Physical cards ship to US addresses unless international shipping is enabled for the legal entity. Contact Slash support.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "feature_not_enabled",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorFeatureNotEnabled"
                    }
                  ]
                },
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "international_shipping_not_enabled",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInternationalShippingNotEnabled"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "feature_not_enabled": {
                "summary": "feature_not_enabled",
                "value": {
                  "code": "feature_not_enabled",
                  "message": "This feature is not enabled for you. Please contact support to get it.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_account_id": {
                "summary": "forbidden (accountId)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `accountId` sa_group_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "international_shipping_not_enabled_physical_shipping_address_country_code": {
                "summary": "international_shipping_not_enabled (physical.shipping.address.countryCode)",
                "value": {
                  "code": "international_shipping_not_enabled",
                  "message": "Shipping physical cards outside the US is not enabled.",
                  "details": {
                    "field": "physical.shipping.address.countryCode"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403CardsClose": {
        "description": "- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "forbidden_card_id": {
                "summary": "forbidden (cardId)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `cardId` c_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "cardId",
                    "id": "c_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403CardsCreate": {
        "description": "- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `international_shipping_not_enabled` — Physical cards ship to US addresses unless international shipping is enabled for the legal entity. Contact Slash support.\n- `metal_cards_not_enabled` — Metal designs are not enabled for the legal entity. Order `plastic`, or contact Slash support.\n- `recurring_payments_only_not_enabled` — Recurring-payments-only cards are an Enterprise feature. Contact Slash sales to enable it.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "international_shipping_not_enabled",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInternationalShippingNotEnabled"
                    }
                  ]
                },
                {
                  "title": "metal_cards_not_enabled",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorMetalCardsNotEnabled"
                    }
                  ]
                },
                {
                  "title": "recurring_payments_only_not_enabled",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorRecurringPaymentsOnlyNotEnabled"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "forbidden_account_id": {
                "summary": "forbidden (accountId)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `accountId` sa_group_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_virtual_account_id": {
                "summary": "forbidden (virtualAccountId)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `virtualAccountId` subaccount_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "virtualAccountId",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_card_group_id": {
                "summary": "forbidden (cardGroupId)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `cardGroupId` card_group_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "cardGroupId",
                    "id": "card_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_billing_address": {
                "summary": "forbidden (billingAddress)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `billingAddress`.",
                  "details": {
                    "field": "billingAddress"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "international_shipping_not_enabled_physical_shipping_address_country_code": {
                "summary": "international_shipping_not_enabled (physical.shipping.address.countryCode)",
                "value": {
                  "code": "international_shipping_not_enabled",
                  "message": "Shipping physical cards outside the US is not enabled.",
                  "details": {
                    "field": "physical.shipping.address.countryCode"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "metal_cards_not_enabled_physical_design": {
                "summary": "metal_cards_not_enabled (physical.design)",
                "value": {
                  "code": "metal_cards_not_enabled",
                  "message": "Metal card designs are not enabled.",
                  "details": {
                    "field": "physical.design"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "recurring_payments_only_not_enabled_controls_recurring_payments_only": {
                "summary": "recurring_payments_only_not_enabled (controls.recurringPaymentsOnly)",
                "value": {
                  "code": "recurring_payments_only_not_enabled",
                  "message": "Recurring-payments-only cards are not enabled.",
                  "details": {
                    "field": "controls.recurringPaymentsOnly"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403CardsPause": {
        "description": "- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "forbidden_card_id": {
                "summary": "forbidden (cardId)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `cardId` c_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "cardId",
                    "id": "c_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403CardsReplace": {
        "description": "- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `international_shipping_not_enabled` — Physical cards ship to US addresses unless international shipping is enabled for the legal entity. Contact Slash support.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "international_shipping_not_enabled",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInternationalShippingNotEnabled"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "forbidden_card_id": {
                "summary": "forbidden (cardId)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `cardId` c_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "cardId",
                    "id": "c_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "international_shipping_not_enabled_physical_shipping_address_country_code": {
                "summary": "international_shipping_not_enabled (physical.shipping.address.countryCode)",
                "value": {
                  "code": "international_shipping_not_enabled",
                  "message": "Shipping physical cards outside the US is not enabled.",
                  "details": {
                    "field": "physical.shipping.address.countryCode"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403CardsSetPin": {
        "description": "- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "forbidden_card_id": {
                "summary": "forbidden (cardId)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `cardId` c_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "cardId",
                    "id": "c_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403CardsUnpause": {
        "description": "- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "forbidden_card_id": {
                "summary": "forbidden (cardId)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `cardId` c_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "cardId",
                    "id": "c_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403CardsUpdate": {
        "description": "- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `recurring_payments_only_not_enabled` — Recurring-payments-only cards are an Enterprise feature. Contact Slash sales to enable it.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "recurring_payments_only_not_enabled",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorRecurringPaymentsOnlyNotEnabled"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "forbidden_card_id": {
                "summary": "forbidden (cardId)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `cardId` c_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "cardId",
                    "id": "c_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_card_group_id": {
                "summary": "forbidden (cardGroupId)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `cardGroupId` card_group_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "cardGroupId",
                    "id": "card_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_billing_address": {
                "summary": "forbidden (billingAddress)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `billingAddress`.",
                  "details": {
                    "field": "billingAddress"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "recurring_payments_only_not_enabled_controls_recurring_payments_only": {
                "summary": "recurring_payments_only_not_enabled (controls.recurringPaymentsOnly)",
                "value": {
                  "code": "recurring_payments_only_not_enabled",
                  "message": "Recurring-payments-only cards are not enabled.",
                  "details": {
                    "field": "controls.recurringPaymentsOnly"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403DestinationsCreate": {
        "description": "- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "forbidden_recipient_id": {
                "summary": "forbidden (recipientId)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `recipientId` le_c_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "recipientId",
                    "id": "le_c_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403FeatureNotEnabledForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired": {
        "description": "- `feature_not_enabled` — The feature this request uses is not enabled for the legal entity. Contact Slash support to enable it.\n- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "feature_not_enabled",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorFeatureNotEnabled"
                    }
                  ]
                },
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "feature_not_enabled": {
                "summary": "feature_not_enabled",
                "value": {
                  "code": "feature_not_enabled",
                  "message": "This feature is not enabled for you. Please contact support to get it.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden": {
                "summary": "forbidden",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403FeatureNotEnabledForbiddenLegalEntityNotAvailableUserApiKeyRequired": {
        "description": "- `feature_not_enabled` — The feature this request uses is not enabled for the legal entity. Contact Slash support to enable it.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "feature_not_enabled",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorFeatureNotEnabled"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "feature_not_enabled": {
                "summary": "feature_not_enabled",
                "value": {
                  "code": "feature_not_enabled",
                  "message": "This feature is not enabled for you. Please contact support to get it.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403ForbiddenCashbackIpAllowlistRequiredForbiddenLegalEntityNotAvailableUserApiKeyRequired": {
        "description": "- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `ip_allowlist_required` — The legal entity does not enforce an IP allowlist. Redeeming cashback requires one, and the request must come from an allowlisted IP.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "ip_allowlist_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCashbackIpAllowlistRequired"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "forbidden": {
                "summary": "forbidden",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "ip_allowlist_required": {
                "summary": "ip_allowlist_required",
                "value": {
                  "code": "ip_allowlist_required",
                  "message": "Redeeming cashback requires the legal entity’s IP allowlist to be on, and the request to come from an IP on it.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired": {
        "description": "- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "forbidden": {
                "summary": "forbidden",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired": {
        "description": "- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403ForbiddenTransferIpAllowlistRequiredForbiddenLegalEntityNotAvailableUserApiKeyRequired": {
        "description": "- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `ip_allowlist_required` — The legal entity does not enforce an IP allowlist. Creating or cancelling transfers requires one, and the request must come from an allowlisted IP.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "ip_allowlist_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorTransferIpAllowlistRequired"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "forbidden": {
                "summary": "forbidden",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "ip_allowlist_required": {
                "summary": "ip_allowlist_required",
                "value": {
                  "code": "ip_allowlist_required",
                  "message": "Creating or canceling transfers requires the legal entity’s IP allowlist to be on, and the request to come from an IP on it.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403FxQuotesCreate": {
        "description": "- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "forbidden_from_account": {
                "summary": "forbidden (fromAccount)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `fromAccount` subaccount_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "fromAccount",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403InformationRequestsCreate": {
        "description": "- `feature_not_enabled` — The feature this request uses is not enabled for the legal entity. Contact Slash support to enable it.\n- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "feature_not_enabled",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorFeatureNotEnabled"
                    }
                  ]
                },
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "feature_not_enabled": {
                "summary": "feature_not_enabled",
                "value": {
                  "code": "feature_not_enabled",
                  "message": "This feature is not enabled for you. Please contact support to get it.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_recipient_id": {
                "summary": "forbidden (recipientId)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `recipientId` le_c_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "recipientId",
                    "id": "le_c_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403InternationalWireTransfersCreate": {
        "description": "- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `ip_allowlist_required` — The legal entity does not enforce an IP allowlist. Creating or cancelling transfers requires one, and the request must come from an allowlisted IP.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "ip_allowlist_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorTransferIpAllowlistRequired"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "forbidden_from_account": {
                "summary": "forbidden (fromAccount)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `fromAccount` subaccount_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "fromAccount",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_bill_id": {
                "summary": "forbidden (billId)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `billId` bill_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "billId",
                    "id": "bill_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "ip_allowlist_required": {
                "summary": "ip_allowlist_required",
                "value": {
                  "code": "ip_allowlist_required",
                  "message": "Creating or canceling transfers requires the legal entity’s IP allowlist to be on, and the request to come from an IP on it.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403NotAvailableUserApiKeyRequired": {
        "description": "- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403RealtimeTransfersCreate": {
        "description": "- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `ip_allowlist_required` — The legal entity does not enforce an IP allowlist. Creating or cancelling transfers requires one, and the request must come from an allowlisted IP.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "ip_allowlist_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorTransferIpAllowlistRequired"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "forbidden_from_account": {
                "summary": "forbidden (fromAccount)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `fromAccount` subaccount_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "fromAccount",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_bill_id": {
                "summary": "forbidden (billId)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `billId` bill_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "billId",
                    "id": "bill_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "ip_allowlist_required": {
                "summary": "ip_allowlist_required",
                "value": {
                  "code": "ip_allowlist_required",
                  "message": "Creating or canceling transfers requires the legal entity’s IP allowlist to be on, and the request to come from an IP on it.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403VirtualAccountsCreate": {
        "description": "- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "forbidden_account_id": {
                "summary": "forbidden (accountId)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `accountId` sa_group_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error403WireTransfersCreate": {
        "description": "- `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received.\n- `ip_allowlist_required` — The legal entity does not enforce an IP allowlist. Creating or cancelling transfers requires one, and the request must come from an allowlisted IP.\n- `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity.\n- `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime.\n- `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "forbidden",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbidden"
                    }
                  ]
                },
                {
                  "title": "ip_allowlist_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorTransferIpAllowlistRequired"
                    }
                  ]
                },
                {
                  "title": "forbidden (legal entity)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity"
                    }
                  ]
                },
                {
                  "title": "not_available",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotAvailable"
                    }
                  ]
                },
                {
                  "title": "user_api_key_required",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorUserApiKeyRequired"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "forbidden_from_account": {
                "summary": "forbidden (fromAccount)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `fromAccount` subaccount_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "fromAccount",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_bill_id": {
                "summary": "forbidden (billId)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that on `billId` bill_2rj4l7hmrrrcv.",
                  "details": {
                    "field": "billId",
                    "id": "bill_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4031-2alj5if"
                }
              },
              "ip_allowlist_required": {
                "summary": "ip_allowlist_required",
                "value": {
                  "code": "ip_allowlist_required",
                  "message": "Creating or canceling transfers requires the legal entity’s IP allowlist to be on, and the request to come from an IP on it.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "forbidden_legal_entity": {
                "summary": "forbidden (legal entity)",
                "value": {
                  "code": "forbidden",
                  "message": "This credential is not permitted to do that.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "not_available": {
                "summary": "not_available",
                "value": {
                  "code": "not_available",
                  "message": "Public API v2 is not yet available. Use Public API v1 (https://docs.slash.com/introduction) in the meantime.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              },
              "user_api_key_required": {
                "summary": "user_api_key_required",
                "value": {
                  "code": "user_api_key_required",
                  "message": "Public API v2 requires a user API key. Create one under Settings → API keys in the Slash dashboard.",
                  "details": {},
                  "referenceId": "4031-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404AccountingDimensionsList": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_connection_id": {
                "summary": "not_found (connectionId)",
                "value": {
                  "code": "not_found",
                  "message": "`connectionId` accounting_connection_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "connectionId",
                    "id": "accounting_connection_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404AccountingDimensionsUpdate": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_connection_id": {
                "summary": "not_found (connectionId)",
                "value": {
                  "code": "not_found",
                  "message": "`connectionId` accounting_connection_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "connectionId",
                    "id": "accounting_connection_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_dimension_key": {
                "summary": "not_found (dimensionKey)",
                "value": {
                  "code": "not_found",
                  "message": "`dimensionKey` was not found.",
                  "details": {
                    "field": "dimensionKey"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_default_value_id": {
                "summary": "not_found (defaultValueId)",
                "value": {
                  "code": "not_found",
                  "message": "`defaultValueId` was not found.",
                  "details": {
                    "field": "defaultValueId"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404AccountingDimensionsValuesBulk": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_dimension_key": {
                "summary": "not_found (dimensionKey)",
                "value": {
                  "code": "not_found",
                  "message": "`dimensionKey` was not found.",
                  "details": {
                    "field": "dimensionKey"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_value_ids": {
                "summary": "not_found (valueIds)",
                "value": {
                  "code": "not_found",
                  "message": "`valueIds` was not found.",
                  "details": {
                    "field": "valueIds"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404AccountingDimensionsValuesGet": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_connection_id": {
                "summary": "not_found (connectionId)",
                "value": {
                  "code": "not_found",
                  "message": "`connectionId` accounting_connection_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "connectionId",
                    "id": "accounting_connection_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_dimension_key": {
                "summary": "not_found (dimensionKey)",
                "value": {
                  "code": "not_found",
                  "message": "`dimensionKey` was not found.",
                  "details": {
                    "field": "dimensionKey"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_value_id": {
                "summary": "not_found (valueId)",
                "value": {
                  "code": "not_found",
                  "message": "`valueId` was not found.",
                  "details": {
                    "field": "valueId"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404AccountingDimensionsValuesList": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_connection_id": {
                "summary": "not_found (connectionId)",
                "value": {
                  "code": "not_found",
                  "message": "`connectionId` accounting_connection_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "connectionId",
                    "id": "accounting_connection_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_dimension_key": {
                "summary": "not_found (dimensionKey)",
                "value": {
                  "code": "not_found",
                  "message": "`dimensionKey` was not found.",
                  "details": {
                    "field": "dimensionKey"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404AccountingDimensionsValuesUpdate": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_dimension_key": {
                "summary": "not_found (dimensionKey)",
                "value": {
                  "code": "not_found",
                  "message": "`dimensionKey` was not found.",
                  "details": {
                    "field": "dimensionKey"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_value_id": {
                "summary": "not_found (valueId)",
                "value": {
                  "code": "not_found",
                  "message": "`valueId` was not found.",
                  "details": {
                    "field": "valueId"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404AccountingEntriesArchive": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_entry_id": {
                "summary": "not_found (entryId)",
                "value": {
                  "code": "not_found",
                  "message": "`entryId` accounting_entry_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "entryId",
                    "id": "accounting_entry_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404AccountingEntriesAttachmentsAdd": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_entry_id": {
                "summary": "not_found (entryId)",
                "value": {
                  "code": "not_found",
                  "message": "`entryId` accounting_entry_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "entryId",
                    "id": "accounting_entry_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_document_id": {
                "summary": "not_found (documentId)",
                "value": {
                  "code": "not_found",
                  "message": "`documentId` st_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "documentId",
                    "id": "st_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404AccountingEntriesAttachmentsRemove": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_entry_id": {
                "summary": "not_found (entryId)",
                "value": {
                  "code": "not_found",
                  "message": "`entryId` accounting_entry_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "entryId",
                    "id": "accounting_entry_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_attachment_id": {
                "summary": "not_found (attachmentId)",
                "value": {
                  "code": "not_found",
                  "message": "`attachmentId` accounting_attachment_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "attachmentId",
                    "id": "accounting_attachment_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404AccountingEntriesList": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_connection_id": {
                "summary": "not_found (connectionId)",
                "value": {
                  "code": "not_found",
                  "message": "`connectionId` accounting_connection_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "connectionId",
                    "id": "accounting_connection_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404AccountingEntriesMarkInReview": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_entry_id": {
                "summary": "not_found (entryId)",
                "value": {
                  "code": "not_found",
                  "message": "`entryId` accounting_entry_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "entryId",
                    "id": "accounting_entry_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404AccountingEntriesMarkReady": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_entry_id": {
                "summary": "not_found (entryId)",
                "value": {
                  "code": "not_found",
                  "message": "`entryId` accounting_entry_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "entryId",
                    "id": "accounting_entry_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404AccountingEntriesSync": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_entry_id": {
                "summary": "not_found (entryId)",
                "value": {
                  "code": "not_found",
                  "message": "`entryId` accounting_entry_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "entryId",
                    "id": "accounting_entry_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404AccountingEntriesUpdate": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_entry_id": {
                "summary": "not_found (entryId)",
                "value": {
                  "code": "not_found",
                  "message": "`entryId` accounting_entry_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "entryId",
                    "id": "accounting_entry_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_dimensions": {
                "summary": "not_found (dimensions)",
                "value": {
                  "code": "not_found",
                  "message": "`dimensions` was not found.",
                  "details": {
                    "field": "dimensions"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_line_items": {
                "summary": "not_found (lineItems)",
                "value": {
                  "code": "not_found",
                  "message": "`lineItems` was not found.",
                  "details": {
                    "field": "lineItems"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404AccountingIntelligenceGet": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_connection_id": {
                "summary": "not_found (connectionId)",
                "value": {
                  "code": "not_found",
                  "message": "`connectionId` accounting_connection_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "connectionId",
                    "id": "accounting_connection_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404AccountingIntelligenceUpdate": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_connection_id": {
                "summary": "not_found (connectionId)",
                "value": {
                  "code": "not_found",
                  "message": "`connectionId` accounting_connection_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "connectionId",
                    "id": "accounting_connection_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404AccountingMappingsDelete": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_mapping_id": {
                "summary": "not_found (mappingId)",
                "value": {
                  "code": "not_found",
                  "message": "`mappingId` accounting_mapping_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "mappingId",
                    "id": "accounting_mapping_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404AccountingMappingsList": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_connection_id": {
                "summary": "not_found (connectionId)",
                "value": {
                  "code": "not_found",
                  "message": "`connectionId` accounting_connection_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "connectionId",
                    "id": "accounting_connection_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404AccountingMappingsUpsert": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_connection_id": {
                "summary": "not_found (connectionId)",
                "value": {
                  "code": "not_found",
                  "message": "`connectionId` accounting_connection_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "connectionId",
                    "id": "accounting_connection_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_source_id": {
                "summary": "not_found (source.id)",
                "value": {
                  "code": "not_found",
                  "message": "`source.id` was not found.",
                  "details": {
                    "field": "source.id"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_dimension_key": {
                "summary": "not_found (dimensionKey)",
                "value": {
                  "code": "not_found",
                  "message": "`dimensionKey` was not found.",
                  "details": {
                    "field": "dimensionKey"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_value_id": {
                "summary": "not_found (valueId)",
                "value": {
                  "code": "not_found",
                  "message": "`valueId` was not found.",
                  "details": {
                    "field": "valueId"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404AchTransfersCreate": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_from_account": {
                "summary": "not_found (fromAccount)",
                "value": {
                  "code": "not_found",
                  "message": "`fromAccount` subaccount_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "fromAccount",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_destination_id": {
                "summary": "not_found (destinationId)",
                "value": {
                  "code": "not_found",
                  "message": "`destinationId` le_contact_destination_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "destinationId",
                    "id": "le_contact_destination_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_information_request_id": {
                "summary": "not_found (informationRequestId)",
                "value": {
                  "code": "not_found",
                  "message": "`informationRequestId` le_c_info_req_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "informationRequestId",
                    "id": "le_c_info_req_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_bill_id": {
                "summary": "not_found (billId)",
                "value": {
                  "code": "not_found",
                  "message": "`billId` bill_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "billId",
                    "id": "bill_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404BillsCreate": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_recipient_id": {
                "summary": "not_found (recipientId)",
                "value": {
                  "code": "not_found",
                  "message": "`recipientId` le_c_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "recipientId",
                    "id": "le_c_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_destination_id": {
                "summary": "not_found (destinationId)",
                "value": {
                  "code": "not_found",
                  "message": "`destinationId` le_contact_destination_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "destinationId",
                    "id": "le_contact_destination_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_owner_user_id": {
                "summary": "not_found (ownerUserId)",
                "value": {
                  "code": "not_found",
                  "message": "`ownerUserId` u_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "ownerUserId",
                    "id": "u_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_document_ids": {
                "summary": "not_found (documentIds)",
                "value": {
                  "code": "not_found",
                  "message": "`documentIds` was not found.",
                  "details": {
                    "field": "documentIds"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404BillsDocumentsAdd": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_bill_id": {
                "summary": "not_found (billId)",
                "value": {
                  "code": "not_found",
                  "message": "`billId` bill_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "billId",
                    "id": "bill_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_document_ids": {
                "summary": "not_found (documentIds)",
                "value": {
                  "code": "not_found",
                  "message": "`documentIds` was not found.",
                  "details": {
                    "field": "documentIds"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404BillsDocumentsRemove": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_bill_id": {
                "summary": "not_found (billId)",
                "value": {
                  "code": "not_found",
                  "message": "`billId` bill_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "billId",
                    "id": "bill_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_document_id": {
                "summary": "not_found (documentId)",
                "value": {
                  "code": "not_found",
                  "message": "`documentId` st_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "documentId",
                    "id": "st_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404BillsInboxSendersRemove": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_sender_id": {
                "summary": "not_found (senderId)",
                "value": {
                  "code": "not_found",
                  "message": "`senderId` ais_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "senderId",
                    "id": "ais_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404BillsPaymentsAdd": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_bill_id": {
                "summary": "not_found (billId)",
                "value": {
                  "code": "not_found",
                  "message": "`billId` bill_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "billId",
                    "id": "bill_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_transfer_id": {
                "summary": "not_found (transferId)",
                "value": {
                  "code": "not_found",
                  "message": "`transferId` transfer_intent_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "transferId",
                    "id": "transfer_intent_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_transaction_id": {
                "summary": "not_found (transactionId)",
                "value": {
                  "code": "not_found",
                  "message": "`transactionId` agg_tx_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "transactionId",
                    "id": "agg_tx_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404BillsPaymentsRemove": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_bill_id": {
                "summary": "not_found (billId)",
                "value": {
                  "code": "not_found",
                  "message": "`billId` bill_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "billId",
                    "id": "bill_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_payment_id": {
                "summary": "not_found (paymentId)",
                "value": {
                  "code": "not_found",
                  "message": "`paymentId` bill_payment_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "paymentId",
                    "id": "bill_payment_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404BillsUpdate": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_bill_id": {
                "summary": "not_found (billId)",
                "value": {
                  "code": "not_found",
                  "message": "`billId` bill_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "billId",
                    "id": "bill_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_recipient_id": {
                "summary": "not_found (recipientId)",
                "value": {
                  "code": "not_found",
                  "message": "`recipientId` le_c_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "recipientId",
                    "id": "le_c_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_destination_id": {
                "summary": "not_found (destinationId)",
                "value": {
                  "code": "not_found",
                  "message": "`destinationId` le_contact_destination_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "destinationId",
                    "id": "le_contact_destination_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_owner_user_id": {
                "summary": "not_found (ownerUserId)",
                "value": {
                  "code": "not_found",
                  "message": "`ownerUserId` u_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "ownerUserId",
                    "id": "u_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_line_items": {
                "summary": "not_found (lineItems)",
                "value": {
                  "code": "not_found",
                  "message": "`lineItems` was not found.",
                  "details": {
                    "field": "lineItems"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404BookTransfersCreate": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_from_account": {
                "summary": "not_found (fromAccount)",
                "value": {
                  "code": "not_found",
                  "message": "`fromAccount` subaccount_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "fromAccount",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_to_account": {
                "summary": "not_found (toAccount)",
                "value": {
                  "code": "not_found",
                  "message": "`toAccount` subaccount_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "toAccount",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404CardGroupsArchive": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_card_group_id": {
                "summary": "not_found (cardGroupId)",
                "value": {
                  "code": "not_found",
                  "message": "`cardGroupId` card_group_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "cardGroupId",
                    "id": "card_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404CardGroupsUpdate": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_card_group_id": {
                "summary": "not_found (cardGroupId)",
                "value": {
                  "code": "not_found",
                  "message": "`cardGroupId` card_group_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "cardGroupId",
                    "id": "card_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404CardProductsList": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_account_id": {
                "summary": "not_found (accountId)",
                "value": {
                  "code": "not_found",
                  "message": "`accountId` sa_group_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404CardRequestsCreate": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_account_id": {
                "summary": "not_found (accountId)",
                "value": {
                  "code": "not_found",
                  "message": "`accountId` sa_group_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_virtual_account_id": {
                "summary": "not_found (virtualAccountId)",
                "value": {
                  "code": "not_found",
                  "message": "`virtualAccountId` subaccount_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "virtualAccountId",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_card_group_id": {
                "summary": "not_found (cardGroupId)",
                "value": {
                  "code": "not_found",
                  "message": "`cardGroupId` card_group_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "cardGroupId",
                    "id": "card_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404CardsClose": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_card_id": {
                "summary": "not_found (cardId)",
                "value": {
                  "code": "not_found",
                  "message": "`cardId` c_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "cardId",
                    "id": "c_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404CardsCreate": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_account_id": {
                "summary": "not_found (accountId)",
                "value": {
                  "code": "not_found",
                  "message": "`accountId` sa_group_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_virtual_account_id": {
                "summary": "not_found (virtualAccountId)",
                "value": {
                  "code": "not_found",
                  "message": "`virtualAccountId` subaccount_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "virtualAccountId",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_cardholder_user_id": {
                "summary": "not_found (cardholderUserId)",
                "value": {
                  "code": "not_found",
                  "message": "`cardholderUserId` u_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "cardholderUserId",
                    "id": "u_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_card_group_id": {
                "summary": "not_found (cardGroupId)",
                "value": {
                  "code": "not_found",
                  "message": "`cardGroupId` card_group_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "cardGroupId",
                    "id": "card_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_card_product_id": {
                "summary": "not_found (cardProductId)",
                "value": {
                  "code": "not_found",
                  "message": "`cardProductId` card_product_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "cardProductId",
                    "id": "card_product_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404CardsDetails": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_card_id": {
                "summary": "not_found (cardId)",
                "value": {
                  "code": "not_found",
                  "message": "`cardId` c_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "cardId",
                    "id": "c_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404CardsList": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_account_id": {
                "summary": "not_found (accountId)",
                "value": {
                  "code": "not_found",
                  "message": "`accountId` sa_group_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_virtual_account_id": {
                "summary": "not_found (virtualAccountId)",
                "value": {
                  "code": "not_found",
                  "message": "`virtualAccountId` subaccount_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "virtualAccountId",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_card_group_id": {
                "summary": "not_found (cardGroupId)",
                "value": {
                  "code": "not_found",
                  "message": "`cardGroupId` card_group_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "cardGroupId",
                    "id": "card_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_cardholder_user_id": {
                "summary": "not_found (cardholderUserId)",
                "value": {
                  "code": "not_found",
                  "message": "`cardholderUserId` u_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "cardholderUserId",
                    "id": "u_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404CardsPause": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_card_id": {
                "summary": "not_found (cardId)",
                "value": {
                  "code": "not_found",
                  "message": "`cardId` c_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "cardId",
                    "id": "c_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404CardsReplace": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_card_id": {
                "summary": "not_found (cardId)",
                "value": {
                  "code": "not_found",
                  "message": "`cardId` c_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "cardId",
                    "id": "c_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404CardsSetPin": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_card_id": {
                "summary": "not_found (cardId)",
                "value": {
                  "code": "not_found",
                  "message": "`cardId` c_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "cardId",
                    "id": "c_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404CardsUnpause": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_card_id": {
                "summary": "not_found (cardId)",
                "value": {
                  "code": "not_found",
                  "message": "`cardId` c_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "cardId",
                    "id": "c_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404CardsUpdate": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_card_id": {
                "summary": "not_found (cardId)",
                "value": {
                  "code": "not_found",
                  "message": "`cardId` c_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "cardId",
                    "id": "c_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_cardholder_user_id": {
                "summary": "not_found (cardholderUserId)",
                "value": {
                  "code": "not_found",
                  "message": "`cardholderUserId` u_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "cardholderUserId",
                    "id": "u_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_virtual_account_id": {
                "summary": "not_found (virtualAccountId)",
                "value": {
                  "code": "not_found",
                  "message": "`virtualAccountId` subaccount_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "virtualAccountId",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_card_group_id": {
                "summary": "not_found (cardGroupId)",
                "value": {
                  "code": "not_found",
                  "message": "`cardGroupId` card_group_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "cardGroupId",
                    "id": "card_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404CashbackBalancesGet": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_account_id": {
                "summary": "not_found (accountId)",
                "value": {
                  "code": "not_found",
                  "message": "`accountId` sa_group_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404CashbackCyclesList": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_account_id": {
                "summary": "not_found (accountId)",
                "value": {
                  "code": "not_found",
                  "message": "`accountId` sa_group_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404CashbackRatesGet": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_account_id": {
                "summary": "not_found (accountId)",
                "value": {
                  "code": "not_found",
                  "message": "`accountId` sa_group_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404CashbackRedemptionsCreate": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_account_id": {
                "summary": "not_found (accountId)",
                "value": {
                  "code": "not_found",
                  "message": "`accountId` sa_group_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_destination_account_id": {
                "summary": "not_found (destination.accountId)",
                "value": {
                  "code": "not_found",
                  "message": "`destination.accountId` sa_group_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "destination.accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_destination_destination_id": {
                "summary": "not_found (destination.destinationId)",
                "value": {
                  "code": "not_found",
                  "message": "`destination.destinationId` le_contact_destination_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "destination.destinationId",
                    "id": "le_contact_destination_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404CashbackRedemptionsGet": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_redemption_id": {
                "summary": "not_found (redemptionId)",
                "value": {
                  "code": "not_found",
                  "message": "`redemptionId` transfer_intent_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "redemptionId",
                    "id": "transfer_intent_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404CashbackRedemptionsList": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_account_id": {
                "summary": "not_found (accountId)",
                "value": {
                  "code": "not_found",
                  "message": "`accountId` sa_group_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404DestinationsCreate": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_recipient_id": {
                "summary": "not_found (recipientId)",
                "value": {
                  "code": "not_found",
                  "message": "`recipientId` le_c_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "recipientId",
                    "id": "le_c_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404FxQuotesCreate": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_from_account": {
                "summary": "not_found (fromAccount)",
                "value": {
                  "code": "not_found",
                  "message": "`fromAccount` subaccount_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "fromAccount",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404InformationRequestsCreate": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_recipient_id": {
                "summary": "not_found (recipientId)",
                "value": {
                  "code": "not_found",
                  "message": "`recipientId` le_c_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "recipientId",
                    "id": "le_c_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404InternationalWireTransfersCreate": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_from_account": {
                "summary": "not_found (fromAccount)",
                "value": {
                  "code": "not_found",
                  "message": "`fromAccount` subaccount_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "fromAccount",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_destination_id": {
                "summary": "not_found (destinationId)",
                "value": {
                  "code": "not_found",
                  "message": "`destinationId` le_contact_destination_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "destinationId",
                    "id": "le_contact_destination_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_international_wire_fx_quote_id": {
                "summary": "not_found (internationalWire.fxQuoteId)",
                "value": {
                  "code": "not_found",
                  "message": "`internationalWire.fxQuoteId` fx_rate_quote_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "internationalWire.fxQuoteId",
                    "id": "fx_rate_quote_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_bill_id": {
                "summary": "not_found (billId)",
                "value": {
                  "code": "not_found",
                  "message": "`billId` bill_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "billId",
                    "id": "bill_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404InvoicesCreate": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_customer_id": {
                "summary": "not_found (customerId)",
                "value": {
                  "code": "not_found",
                  "message": "`customerId` le_cus_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "customerId",
                    "id": "le_cus_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_account_id": {
                "summary": "not_found (accountId)",
                "value": {
                  "code": "not_found",
                  "message": "`accountId` sa_group_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_virtual_account_id": {
                "summary": "not_found (virtualAccountId)",
                "value": {
                  "code": "not_found",
                  "message": "`virtualAccountId` subaccount_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "virtualAccountId",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_line_items": {
                "summary": "not_found (lineItems)",
                "value": {
                  "code": "not_found",
                  "message": "`lineItems` was not found.",
                  "details": {
                    "field": "lineItems"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404InvoicesPaymentsAdd": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_invoice_id": {
                "summary": "not_found (invoiceId)",
                "value": {
                  "code": "not_found",
                  "message": "`invoiceId` inv_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "invoiceId",
                    "id": "inv_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_transaction_id": {
                "summary": "not_found (transactionId)",
                "value": {
                  "code": "not_found",
                  "message": "`transactionId` agg_tx_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "transactionId",
                    "id": "agg_tx_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404InvoicesPaymentsRemove": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_invoice_id": {
                "summary": "not_found (invoiceId)",
                "value": {
                  "code": "not_found",
                  "message": "`invoiceId` inv_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "invoiceId",
                    "id": "inv_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_payment_id": {
                "summary": "not_found (paymentId)",
                "value": {
                  "code": "not_found",
                  "message": "`paymentId` inv_tr_link_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "paymentId",
                    "id": "inv_tr_link_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404InvoicesSeriesCreate": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_customer_id": {
                "summary": "not_found (customerId)",
                "value": {
                  "code": "not_found",
                  "message": "`customerId` le_cus_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "customerId",
                    "id": "le_cus_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_account_id": {
                "summary": "not_found (accountId)",
                "value": {
                  "code": "not_found",
                  "message": "`accountId` sa_group_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_virtual_account_id": {
                "summary": "not_found (virtualAccountId)",
                "value": {
                  "code": "not_found",
                  "message": "`virtualAccountId` subaccount_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "virtualAccountId",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_line_items": {
                "summary": "not_found (lineItems)",
                "value": {
                  "code": "not_found",
                  "message": "`lineItems` was not found.",
                  "details": {
                    "field": "lineItems"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404InvoicesSeriesUpdate": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_series_id": {
                "summary": "not_found (seriesId)",
                "value": {
                  "code": "not_found",
                  "message": "`seriesId` inv_series_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "seriesId",
                    "id": "inv_series_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_account_id": {
                "summary": "not_found (accountId)",
                "value": {
                  "code": "not_found",
                  "message": "`accountId` sa_group_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_virtual_account_id": {
                "summary": "not_found (virtualAccountId)",
                "value": {
                  "code": "not_found",
                  "message": "`virtualAccountId` subaccount_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "virtualAccountId",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_line_items": {
                "summary": "not_found (lineItems)",
                "value": {
                  "code": "not_found",
                  "message": "`lineItems` was not found.",
                  "details": {
                    "field": "lineItems"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404InvoicesSettingsUpdate": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_logo_document_id": {
                "summary": "not_found (logoDocumentId)",
                "value": {
                  "code": "not_found",
                  "message": "`logoDocumentId` st_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "logoDocumentId",
                    "id": "st_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404InvoicesUpdate": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_invoice_id": {
                "summary": "not_found (invoiceId)",
                "value": {
                  "code": "not_found",
                  "message": "`invoiceId` inv_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "invoiceId",
                    "id": "inv_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_account_id": {
                "summary": "not_found (accountId)",
                "value": {
                  "code": "not_found",
                  "message": "`accountId` sa_group_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_virtual_account_id": {
                "summary": "not_found (virtualAccountId)",
                "value": {
                  "code": "not_found",
                  "message": "`virtualAccountId` subaccount_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "virtualAccountId",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_line_items": {
                "summary": "not_found (lineItems)",
                "value": {
                  "code": "not_found",
                  "message": "`lineItems` was not found.",
                  "details": {
                    "field": "lineItems"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404NotFound": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found": {
                "summary": "not_found",
                "value": {
                  "code": "not_found",
                  "message": "The requested resource was not found.",
                  "details": {},
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404NotFoundTaxDetailsNotOnFile": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.\n- `tax_details_not_on_file` — The recipient exists and the credential can view it, but it has no tax details on file. They are filled in when the recipient submits an information request that asks for `tax`, or when someone enters them in the Slash dashboard.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "not_found",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
                    }
                  ]
                },
                {
                  "title": "tax_details_not_on_file",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorTaxDetailsNotOnFile"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "not_found": {
                "summary": "not_found",
                "value": {
                  "code": "not_found",
                  "message": "The requested resource was not found.",
                  "details": {},
                  "referenceId": "4041-2alj5if"
                }
              },
              "tax_details_not_on_file": {
                "summary": "tax_details_not_on_file",
                "value": {
                  "code": "tax_details_not_on_file",
                  "message": "This recipient has no tax details on file.",
                  "details": {},
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404RealtimeTransfersCreate": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_from_account": {
                "summary": "not_found (fromAccount)",
                "value": {
                  "code": "not_found",
                  "message": "`fromAccount` subaccount_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "fromAccount",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_destination_id": {
                "summary": "not_found (destinationId)",
                "value": {
                  "code": "not_found",
                  "message": "`destinationId` le_contact_destination_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "destinationId",
                    "id": "le_contact_destination_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_information_request_id": {
                "summary": "not_found (informationRequestId)",
                "value": {
                  "code": "not_found",
                  "message": "`informationRequestId` le_c_info_req_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "informationRequestId",
                    "id": "le_c_info_req_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_bill_id": {
                "summary": "not_found (billId)",
                "value": {
                  "code": "not_found",
                  "message": "`billId` bill_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "billId",
                    "id": "bill_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404VirtualAccountsCreate": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_account_id": {
                "summary": "not_found (accountId)",
                "value": {
                  "code": "not_found",
                  "message": "`accountId` sa_group_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error404WireTransfersCreate": {
        "description": "- `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorNotFound"
            },
            "examples": {
              "not_found_from_account": {
                "summary": "not_found (fromAccount)",
                "value": {
                  "code": "not_found",
                  "message": "`fromAccount` subaccount_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "fromAccount",
                    "id": "subaccount_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_destination_id": {
                "summary": "not_found (destinationId)",
                "value": {
                  "code": "not_found",
                  "message": "`destinationId` le_contact_destination_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "destinationId",
                    "id": "le_contact_destination_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_information_request_id": {
                "summary": "not_found (informationRequestId)",
                "value": {
                  "code": "not_found",
                  "message": "`informationRequestId` le_c_info_req_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "informationRequestId",
                    "id": "le_c_info_req_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              },
              "not_found_bill_id": {
                "summary": "not_found (billId)",
                "value": {
                  "code": "not_found",
                  "message": "`billId` bill_2rj4l7hmrrrcv was not found.",
                  "details": {
                    "field": "billId",
                    "id": "bill_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4041-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409AchTransfersCreate": {
        "description": "- `bill_card_request_open` — A purchase card was requested for the bill and settles it once spent, so paying it another way too would cover it twice. Cancel the card request first.\n- `bill_not_payable` — The bill already has a payment awaiting approval, scheduled or in flight, or it is fully paid. Unlink or void the existing payment first.\n- `carrier_bill_read_only` — The bill was pulled from a connected carrier portal and is managed by that connection. It can be read but not changed.\n- `destination_archived` — The destination was archived and can no longer receive transfers.\n- `insufficient_funds` — The source account does not hold enough to cover this transfer. Nothing was moved; fund the account or lower the amount and retry.\n- `conflict (idempotency key reused)` — A consumed `X-Idempotency-Key` was reused; the original response is not replayed.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "bill_card_request_open",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorBillCardRequestOpen"
                    }
                  ]
                },
                {
                  "title": "bill_not_payable",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorBillNotPayable"
                    }
                  ]
                },
                {
                  "title": "carrier_bill_read_only",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCarrierBillReadOnly"
                    }
                  ]
                },
                {
                  "title": "destination_archived",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDestinationArchived"
                    }
                  ]
                },
                {
                  "title": "insufficient_funds",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInsufficientFunds"
                    }
                  ]
                },
                {
                  "title": "conflict (idempotency key reused)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorConflictIdempotencyKeyReused"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "bill_card_request_open_bill_id": {
                "summary": "bill_card_request_open (billId)",
                "value": {
                  "code": "bill_card_request_open",
                  "message": "A card request on this bill is approved; cancel it to pay the bill another way.",
                  "details": {
                    "hold": "approved",
                    "field": "billId",
                    "id": "bill_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "bill_not_payable_bill_id": {
                "summary": "bill_not_payable (billId)",
                "value": {
                  "code": "bill_not_payable",
                  "message": "The bill is payment_pending and cannot take a new payment.",
                  "details": {
                    "status": "payment_pending",
                    "field": "billId",
                    "id": "bill_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "carrier_bill_read_only": {
                "summary": "carrier_bill_read_only",
                "value": {
                  "code": "carrier_bill_read_only",
                  "message": "Bills from a connected carrier account are read-only.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "destination_archived_destination_id": {
                "summary": "destination_archived (destinationId)",
                "value": {
                  "code": "destination_archived",
                  "message": "The destination is archived.",
                  "details": {
                    "field": "destinationId",
                    "id": "le_contact_destination_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "insufficient_funds": {
                "summary": "insufficient_funds",
                "value": {
                  "code": "insufficient_funds",
                  "message": "The source account has $120.00 available but this transfer needs $500.00.",
                  "details": {
                    "available": "$120.00",
                    "requested": "$500.00"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "conflict_idempotency_key_reused": {
                "summary": "conflict (idempotency key reused)",
                "value": {
                  "code": "conflict",
                  "message": "This request has already been submitted (duplicate idempotency key).",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409BillAmountsLockedCarrierBillReadOnly": {
        "description": "- `bill_amounts_locked` — Amounts can only change while the bill is `draft` or `rejected`. Void the bill to cancel its unsettled payments first.\n- `carrier_bill_read_only` — The bill was pulled from a connected carrier portal and is managed by that connection. It can be read but not changed.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "bill_amounts_locked",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorBillAmountsLocked"
                    }
                  ]
                },
                {
                  "title": "carrier_bill_read_only",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCarrierBillReadOnly"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "bill_amounts_locked": {
                "summary": "bill_amounts_locked",
                "value": {
                  "code": "bill_amounts_locked",
                  "message": "Line items, tax and discount cannot change once the bill has a payment; the bill is scheduled.",
                  "details": {
                    "status": "scheduled"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "carrier_bill_read_only": {
                "summary": "carrier_bill_read_only",
                "value": {
                  "code": "carrier_bill_read_only",
                  "message": "Bills from a connected carrier account are read-only.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409BillNotDeletableCarrierBillReadOnly": {
        "description": "- `bill_not_deletable` — The bill has a payment that is scheduled, in flight or settled. Void it first if its payments can still be canceled.\n- `carrier_bill_read_only` — The bill was pulled from a connected carrier portal and is managed by that connection. It can be read but not changed.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "bill_not_deletable",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorBillNotDeletable"
                    }
                  ]
                },
                {
                  "title": "carrier_bill_read_only",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCarrierBillReadOnly"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "bill_not_deletable": {
                "summary": "bill_not_deletable",
                "value": {
                  "code": "bill_not_deletable",
                  "message": "Only bills in draft, rejected or pending_approval can be deleted; the bill is scheduled.",
                  "details": {
                    "status": "scheduled"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "carrier_bill_read_only": {
                "summary": "carrier_bill_read_only",
                "value": {
                  "code": "carrier_bill_read_only",
                  "message": "Bills from a connected carrier account are read-only.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409BillNotVoidableCarrierBillReadOnly": {
        "description": "- `bill_not_voidable` — Voiding cancels payments that have not been sent yet, ones awaiting approval or scheduled. A payment on its way or settled cannot be recalled this way; a pending ACH payment can still be canceled with `POST /v2/transfers/ach/{transferId}/cancel`.\n- `carrier_bill_read_only` — The bill was pulled from a connected carrier portal and is managed by that connection. It can be read but not changed.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "bill_not_voidable",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorBillNotVoidable"
                    }
                  ]
                },
                {
                  "title": "carrier_bill_read_only",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCarrierBillReadOnly"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "bill_not_voidable": {
                "summary": "bill_not_voidable",
                "value": {
                  "code": "bill_not_voidable",
                  "message": "A bill with a payment on its way or settled cannot be voided; the bill is payment_pending.",
                  "details": {
                    "status": "payment_pending"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "carrier_bill_read_only": {
                "summary": "carrier_bill_read_only",
                "value": {
                  "code": "carrier_bill_read_only",
                  "message": "Bills from a connected carrier account are read-only.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409BillPaymentEntryReadOnly": {
        "description": "- `bill_payment_entry_read_only` — Bill payment entries take their coding from the bill they pay. Code the bill’s entry instead.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorBillPaymentEntryReadOnly"
            },
            "examples": {
              "bill_payment_entry_read_only": {
                "summary": "bill_payment_entry_read_only",
                "value": {
                  "code": "bill_payment_entry_read_only",
                  "message": "Bill payment entries are coded automatically from their bill and cannot be edited.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409BillPaymentEntryReadOnlyBillVendorLockedEntrySyncInProgress": {
        "description": "- `bill_payment_entry_read_only` — Bill payment entries take their coding from the bill they pay. Code the bill’s entry instead.\n- `bill_vendor_locked` — A payment against the bill has already been booked with the current vendor and accounts payable account.\n- `entry_sync_in_progress` — The entry is `pending_sync` or `syncing`. Retry once a read of the entry shows `synced` or `failed`.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "bill_payment_entry_read_only",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorBillPaymentEntryReadOnly"
                    }
                  ]
                },
                {
                  "title": "bill_vendor_locked",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorBillVendorLocked"
                    }
                  ]
                },
                {
                  "title": "entry_sync_in_progress",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorEntrySyncInProgress"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "bill_payment_entry_read_only": {
                "summary": "bill_payment_entry_read_only",
                "value": {
                  "code": "bill_payment_entry_read_only",
                  "message": "Bill payment entries are coded automatically from their bill and cannot be edited.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "bill_vendor_locked": {
                "summary": "bill_vendor_locked",
                "value": {
                  "code": "bill_vendor_locked",
                  "message": "The vendor and accounts payable account cannot change once a payment has been recorded against the bill.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "entry_sync_in_progress": {
                "summary": "entry_sync_in_progress",
                "value": {
                  "code": "entry_sync_in_progress",
                  "message": "The entry is syncing and cannot be changed until the sync finishes.",
                  "details": {
                    "status": "syncing"
                  },
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409BillPaymentEntryReadOnlyConnectionNotSyncableEntryNotReadyEntrySyncInProgress": {
        "description": "- `bill_payment_entry_read_only` — Bill payment entries take their coding from the bill they pay. Code the bill’s entry instead.\n- `connection_not_syncable` — Only connections linked to a platform Slash syncs with can sync entries or refresh on demand. Other connections, such as CSV exports, are handled from the Slash dashboard.\n- `entry_not_ready` — A required dimension or custom field has no value yet. `blockers` lists everything that is missing.\n- `entry_sync_in_progress` — The entry is `pending_sync` or `syncing`. Retry once a read of the entry shows `synced` or `failed`.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "bill_payment_entry_read_only",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorBillPaymentEntryReadOnly"
                    }
                  ]
                },
                {
                  "title": "connection_not_syncable",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorConnectionNotSyncable"
                    }
                  ]
                },
                {
                  "title": "entry_not_ready",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorEntryNotReady"
                    }
                  ]
                },
                {
                  "title": "entry_sync_in_progress",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorEntrySyncInProgress"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "bill_payment_entry_read_only": {
                "summary": "bill_payment_entry_read_only",
                "value": {
                  "code": "bill_payment_entry_read_only",
                  "message": "Bill payment entries are coded automatically from their bill and cannot be edited.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "connection_not_syncable": {
                "summary": "connection_not_syncable",
                "value": {
                  "code": "connection_not_syncable",
                  "message": "This connection is not linked to a platform Slash can sync or refresh on demand.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "entry_not_ready": {
                "summary": "entry_not_ready",
                "value": {
                  "code": "entry_not_ready",
                  "message": "The entry is not ready to sync: You must specify an account for this line item.",
                  "details": {
                    "blockers": "You must specify an account for this line item."
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "entry_sync_in_progress": {
                "summary": "entry_sync_in_progress",
                "value": {
                  "code": "entry_sync_in_progress",
                  "message": "The entry is syncing and cannot be changed until the sync finishes.",
                  "details": {
                    "status": "syncing"
                  },
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409BillPaymentEntryReadOnlyEntryNotReadyEntrySyncInProgress": {
        "description": "- `bill_payment_entry_read_only` — Bill payment entries take their coding from the bill they pay. Code the bill’s entry instead.\n- `entry_not_ready` — A required dimension or custom field has no value yet. `blockers` lists everything that is missing.\n- `entry_sync_in_progress` — The entry is `pending_sync` or `syncing`. Retry once a read of the entry shows `synced` or `failed`.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "bill_payment_entry_read_only",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorBillPaymentEntryReadOnly"
                    }
                  ]
                },
                {
                  "title": "entry_not_ready",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorEntryNotReady"
                    }
                  ]
                },
                {
                  "title": "entry_sync_in_progress",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorEntrySyncInProgress"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "bill_payment_entry_read_only": {
                "summary": "bill_payment_entry_read_only",
                "value": {
                  "code": "bill_payment_entry_read_only",
                  "message": "Bill payment entries are coded automatically from their bill and cannot be edited.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "entry_not_ready": {
                "summary": "entry_not_ready",
                "value": {
                  "code": "entry_not_ready",
                  "message": "The entry is not ready to sync: You must specify an account for this line item.",
                  "details": {
                    "blockers": "You must specify an account for this line item."
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "entry_sync_in_progress": {
                "summary": "entry_sync_in_progress",
                "value": {
                  "code": "entry_sync_in_progress",
                  "message": "The entry is syncing and cannot be changed until the sync finishes.",
                  "details": {
                    "status": "syncing"
                  },
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409BillPaymentEntryReadOnlyEntrySyncInProgress": {
        "description": "- `bill_payment_entry_read_only` — Bill payment entries take their coding from the bill they pay. Code the bill’s entry instead.\n- `entry_sync_in_progress` — The entry is `pending_sync` or `syncing`. Retry once a read of the entry shows `synced` or `failed`.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "bill_payment_entry_read_only",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorBillPaymentEntryReadOnly"
                    }
                  ]
                },
                {
                  "title": "entry_sync_in_progress",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorEntrySyncInProgress"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "bill_payment_entry_read_only": {
                "summary": "bill_payment_entry_read_only",
                "value": {
                  "code": "bill_payment_entry_read_only",
                  "message": "Bill payment entries are coded automatically from their bill and cannot be edited.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "entry_sync_in_progress": {
                "summary": "entry_sync_in_progress",
                "value": {
                  "code": "entry_sync_in_progress",
                  "message": "The entry is syncing and cannot be changed until the sync finishes.",
                  "details": {
                    "status": "syncing"
                  },
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409BillsPaymentsAdd": {
        "description": "- `carrier_bill_read_only` — The bill was pulled from a connected carrier portal and is managed by that connection. It can be read but not changed.\n- `payment_linked_to_other_bill` — A payment can count toward one bill only. Unlink it from the other bill first.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "carrier_bill_read_only",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCarrierBillReadOnly"
                    }
                  ]
                },
                {
                  "title": "payment_linked_to_other_bill",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorPaymentLinkedToOtherBill"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "carrier_bill_read_only": {
                "summary": "carrier_bill_read_only",
                "value": {
                  "code": "carrier_bill_read_only",
                  "message": "Bills from a connected carrier account are read-only.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "payment_linked_to_other_bill_transfer_id": {
                "summary": "payment_linked_to_other_bill (transferId)",
                "value": {
                  "code": "payment_linked_to_other_bill",
                  "message": "The payment is already linked to another bill.",
                  "details": {
                    "field": "transferId",
                    "id": "transfer_intent_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "payment_linked_to_other_bill_transaction_id": {
                "summary": "payment_linked_to_other_bill (transactionId)",
                "value": {
                  "code": "payment_linked_to_other_bill",
                  "message": "The payment is already linked to another bill.",
                  "details": {
                    "field": "transactionId",
                    "id": "agg_tx_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409CardAccountLockedCardClosedCardClosingLimitReachedCardClosingUnavailableCardNeverUsedCardStatusPending": {
        "description": "- `account_locked` — Slash has locked the account, during a review or while it closes, so cards cannot be issued on it or changed. Contact Slash support.\n- `card_closed` — Closing is permanent; a closed card cannot change.\n- `card_closing_limit_reached` — Closing virtual cards is capped per account each month. Pause the card instead, or wait for the limit to reset.\n- `card_closing_unavailable` — The account's card limit is 0, so it can't close cards. Contact Slash support.\n- `card_never_used` — A virtual card that has never been used cannot be closed. Pause the card instead.\n- `card_status_pending` — An earlier status change has not finished at the card issuer. Retry once `GET /v2/cards/{cardId}` shows the new status.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "account_locked",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardAccountLocked"
                    }
                  ]
                },
                {
                  "title": "card_closed",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardClosed"
                    }
                  ]
                },
                {
                  "title": "card_closing_limit_reached",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardClosingLimitReached"
                    }
                  ]
                },
                {
                  "title": "card_closing_unavailable",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardClosingUnavailable"
                    }
                  ]
                },
                {
                  "title": "card_never_used",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardNeverUsed"
                    }
                  ]
                },
                {
                  "title": "card_status_pending",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardStatusPending"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "account_locked": {
                "summary": "account_locked",
                "value": {
                  "code": "account_locked",
                  "message": "The card account is locked.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_closed": {
                "summary": "card_closed",
                "value": {
                  "code": "card_closed",
                  "message": "The card is closed.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_closing_limit_reached": {
                "summary": "card_closing_limit_reached",
                "value": {
                  "code": "card_closing_limit_reached",
                  "message": "The account has closed as many cards as it may this month.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_closing_unavailable": {
                "summary": "card_closing_unavailable",
                "value": {
                  "code": "card_closing_unavailable",
                  "message": "This account can't close cards.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_never_used": {
                "summary": "card_never_used",
                "value": {
                  "code": "card_never_used",
                  "message": "The card has never been used and cannot be closed yet.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_status_pending": {
                "summary": "card_status_pending",
                "value": {
                  "code": "card_status_pending",
                  "message": "The card is still changing status. Retry shortly.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409CardAccountLockedCardClosedCardNotActiveCardStatusPending": {
        "description": "- `account_locked` — Slash has locked the account, during a review or while it closes, so cards cannot be issued on it or changed. Contact Slash support.\n- `card_closed` — Closing is permanent; a closed card cannot change.\n- `card_not_active` — Only `active` cards can be paused or have a PIN set.\n- `card_status_pending` — An earlier status change has not finished at the card issuer. Retry once `GET /v2/cards/{cardId}` shows the new status.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "account_locked",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardAccountLocked"
                    }
                  ]
                },
                {
                  "title": "card_closed",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardClosed"
                    }
                  ]
                },
                {
                  "title": "card_not_active",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardNotActive"
                    }
                  ]
                },
                {
                  "title": "card_status_pending",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardStatusPending"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "account_locked": {
                "summary": "account_locked",
                "value": {
                  "code": "account_locked",
                  "message": "The card account is locked.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_closed": {
                "summary": "card_closed",
                "value": {
                  "code": "card_closed",
                  "message": "The card is closed.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_not_active": {
                "summary": "card_not_active",
                "value": {
                  "code": "card_not_active",
                  "message": "The card must be active; it is paused.",
                  "details": {
                    "status": "paused"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_status_pending": {
                "summary": "card_status_pending",
                "value": {
                  "code": "card_status_pending",
                  "message": "The card is still changing status. Retry shortly.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409CardAccountLockedCardClosedCardNotPausedCardStatusPending": {
        "description": "- `account_locked` — Slash has locked the account, during a review or while it closes, so cards cannot be issued on it or changed. Contact Slash support.\n- `card_closed` — Closing is permanent; a closed card cannot change.\n- `card_not_paused` — Only `paused` cards can be unpaused. A physical card in `awaiting_activation` becomes `active` when its holder activates it.\n- `card_status_pending` — An earlier status change has not finished at the card issuer. Retry once `GET /v2/cards/{cardId}` shows the new status.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "account_locked",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardAccountLocked"
                    }
                  ]
                },
                {
                  "title": "card_closed",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardClosed"
                    }
                  ]
                },
                {
                  "title": "card_not_paused",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardNotPaused"
                    }
                  ]
                },
                {
                  "title": "card_status_pending",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardStatusPending"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "account_locked": {
                "summary": "account_locked",
                "value": {
                  "code": "account_locked",
                  "message": "The card account is locked.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_closed": {
                "summary": "card_closed",
                "value": {
                  "code": "card_closed",
                  "message": "The card is closed.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_not_paused": {
                "summary": "card_not_paused",
                "value": {
                  "code": "card_not_paused",
                  "message": "Only a paused card can be unpaused; this card is active.",
                  "details": {
                    "status": "active"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_status_pending": {
                "summary": "card_status_pending",
                "value": {
                  "code": "card_status_pending",
                  "message": "The card is still changing status. Retry shortly.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409CardAccountLockedCardDetailsUnavailable": {
        "description": "- `account_locked` — Slash has locked the account, during a review or while it closes, so cards cannot be issued on it or changed. Contact Slash support.\n- `card_details_unavailable` — Card numbers are available for `active` and `paused` cards only. A physical card shows them once its holder activates it.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "account_locked",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardAccountLocked"
                    }
                  ]
                },
                {
                  "title": "card_details_unavailable",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardDetailsUnavailable"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "account_locked": {
                "summary": "account_locked",
                "value": {
                  "code": "account_locked",
                  "message": "The card account is locked.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_details_unavailable": {
                "summary": "card_details_unavailable",
                "value": {
                  "code": "card_details_unavailable",
                  "message": "The details of a awaiting_activation card are not available.",
                  "details": {
                    "status": "awaiting_activation"
                  },
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409CardGroupsArchive": {
        "description": "- `card_group_archived` — Archived card groups cannot change or take new cards.\n- `card_group_has_open_cards` — A card group is archived only once it has no cards that are not closed. Move its cards out with `PATCH /v2/cards/{cardId}` or close them, then retry.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "card_group_archived",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardGroupArchived"
                    }
                  ]
                },
                {
                  "title": "card_group_has_open_cards",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardGroupHasOpenCards"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "card_group_archived_card_group_id": {
                "summary": "card_group_archived (cardGroupId)",
                "value": {
                  "code": "card_group_archived",
                  "message": "The card group is archived.",
                  "details": {
                    "field": "cardGroupId",
                    "id": "card_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_group_has_open_cards": {
                "summary": "card_group_has_open_cards",
                "value": {
                  "code": "card_group_has_open_cards",
                  "message": "The card group still has 3 open card(s).",
                  "details": {
                    "count": "3"
                  },
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409CardGroupsUpdate": {
        "description": "- `card_group_archived` — Archived card groups cannot change or take new cards.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorCardGroupArchived"
            },
            "examples": {
              "card_group_archived_card_group_id": {
                "summary": "card_group_archived (cardGroupId)",
                "value": {
                  "code": "card_group_archived",
                  "message": "The card group is archived.",
                  "details": {
                    "field": "cardGroupId",
                    "id": "card_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409CardRequestsCreate": {
        "description": "- `account_locked` — Slash has locked the account, during a review or while it closes, so cards cannot be issued on it or changed. Contact Slash support.\n- `card_group_archived` — Archived card groups cannot change or take new cards.\n- `card_requester_not_issuable` — Cards on this account need the requester to have an approved profile with the card issuer. Request the card again once it is approved.\n- `conflict (idempotency key reused)` — A consumed `X-Idempotency-Key` was reused; the original response is not replayed.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "account_locked",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardAccountLocked"
                    }
                  ]
                },
                {
                  "title": "card_group_archived",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardGroupArchived"
                    }
                  ]
                },
                {
                  "title": "card_requester_not_issuable",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardRequesterNotIssuable"
                    }
                  ]
                },
                {
                  "title": "conflict (idempotency key reused)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorConflictIdempotencyKeyReused"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "account_locked_account_id": {
                "summary": "account_locked (accountId)",
                "value": {
                  "code": "account_locked",
                  "message": "The card account is locked.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_group_archived_card_group_id": {
                "summary": "card_group_archived (cardGroupId)",
                "value": {
                  "code": "card_group_archived",
                  "message": "The card group is archived.",
                  "details": {
                    "field": "cardGroupId",
                    "id": "card_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_requester_not_issuable": {
                "summary": "card_requester_not_issuable",
                "value": {
                  "code": "card_requester_not_issuable",
                  "message": "The card issuer has not approved you as a cardholder yet.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "conflict_idempotency_key_reused": {
                "summary": "conflict (idempotency key reused)",
                "value": {
                  "code": "conflict",
                  "message": "This request has already been submitted (duplicate idempotency key).",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409CardsCreate": {
        "description": "- `account_locked` — Slash has locked the account, during a review or while it closes, so cards cannot be issued on it or changed. Contact Slash support.\n- `card_fee_insufficient_funds` — Ordering this card charges a fee to the virtual account, which does not hold enough. Fund it and retry.\n- `card_group_archived` — Archived card groups cannot change or take new cards.\n- `card_issuer_not_approved` — Cards on this account need the legal entity and the cardholder to be approved by the card issuer. `field` names which one is not approved yet: `accountId` for the legal entity, `cardholderUserId` for the cardholder. Retry once it is approved.\n- `card_limit_reached` — The account already holds as many open cards as it may. Close cards you no longer need, or contact Slash support to raise the limit.\n- `conflict (idempotency key reused)` — A consumed `X-Idempotency-Key` was reused; the original response is not replayed.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "account_locked",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardAccountLocked"
                    }
                  ]
                },
                {
                  "title": "card_fee_insufficient_funds",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardFeeInsufficientFunds"
                    }
                  ]
                },
                {
                  "title": "card_group_archived",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardGroupArchived"
                    }
                  ]
                },
                {
                  "title": "card_issuer_not_approved",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardIssuerNotApproved"
                    }
                  ]
                },
                {
                  "title": "card_limit_reached",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardLimitReached"
                    }
                  ]
                },
                {
                  "title": "conflict (idempotency key reused)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorConflictIdempotencyKeyReused"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "account_locked_account_id": {
                "summary": "account_locked (accountId)",
                "value": {
                  "code": "account_locked",
                  "message": "The card account is locked.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_fee_insufficient_funds": {
                "summary": "card_fee_insufficient_funds",
                "value": {
                  "code": "card_fee_insufficient_funds",
                  "message": "The account cannot cover the physical card fee.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_group_archived_card_group_id": {
                "summary": "card_group_archived (cardGroupId)",
                "value": {
                  "code": "card_group_archived",
                  "message": "The card group is archived.",
                  "details": {
                    "field": "cardGroupId",
                    "id": "card_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_issuer_not_approved_account_id": {
                "summary": "card_issuer_not_approved (accountId)",
                "value": {
                  "code": "card_issuer_not_approved",
                  "message": "The card issuer has not approved this account or cardholder yet.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_issuer_not_approved_cardholder_user_id": {
                "summary": "card_issuer_not_approved (cardholderUserId)",
                "value": {
                  "code": "card_issuer_not_approved",
                  "message": "The card issuer has not approved this account or cardholder yet.",
                  "details": {
                    "field": "cardholderUserId",
                    "id": "u_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_limit_reached": {
                "summary": "card_limit_reached",
                "value": {
                  "code": "card_limit_reached",
                  "message": "The account has reached its card limit.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "conflict_idempotency_key_reused": {
                "summary": "conflict (idempotency key reused)",
                "value": {
                  "code": "conflict",
                  "message": "This request has already been submitted (duplicate idempotency key).",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409CardsReplace": {
        "description": "- `account_locked` — Slash has locked the account, during a review or while it closes, so cards cannot be issued on it or changed. Contact Slash support.\n- `card_limit_reached` — The account already holds as many open cards as it may. Close cards you no longer need, or contact Slash support to raise the limit.\n- `card_not_physical` — Only physical cards can be replaced or have a PIN. Virtual cards are closed and issued again instead.\n- `card_not_replaceable` — Only issued cards that are not closed can be replaced. A `pending` card has not been issued yet.\n- `card_reorder_limit_reached` — A card can have at most three physical card orders in 30 days. Contact Slash support if the card needs another replacement.\n- `card_status_pending` — An earlier status change has not finished at the card issuer. Retry once `GET /v2/cards/{cardId}` shows the new status.\n- `conflict (idempotency key reused)` — A consumed `X-Idempotency-Key` was reused; the original response is not replayed.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "account_locked",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardAccountLocked"
                    }
                  ]
                },
                {
                  "title": "card_limit_reached",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardLimitReached"
                    }
                  ]
                },
                {
                  "title": "card_not_physical",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardNotPhysical"
                    }
                  ]
                },
                {
                  "title": "card_not_replaceable",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardNotReplaceable"
                    }
                  ]
                },
                {
                  "title": "card_reorder_limit_reached",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardReorderLimitReached"
                    }
                  ]
                },
                {
                  "title": "card_status_pending",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardStatusPending"
                    }
                  ]
                },
                {
                  "title": "conflict (idempotency key reused)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorConflictIdempotencyKeyReused"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "account_locked": {
                "summary": "account_locked",
                "value": {
                  "code": "account_locked",
                  "message": "The card account is locked.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_limit_reached": {
                "summary": "card_limit_reached",
                "value": {
                  "code": "card_limit_reached",
                  "message": "The account has reached its card limit.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_not_physical_card_id": {
                "summary": "card_not_physical (cardId)",
                "value": {
                  "code": "card_not_physical",
                  "message": "The card is not a physical card.",
                  "details": {
                    "field": "cardId",
                    "id": "c_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_not_replaceable_card_id": {
                "summary": "card_not_replaceable (cardId)",
                "value": {
                  "code": "card_not_replaceable",
                  "message": "A closed card cannot be replaced.",
                  "details": {
                    "status": "closed",
                    "field": "cardId",
                    "id": "c_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_reorder_limit_reached_card_id": {
                "summary": "card_reorder_limit_reached (cardId)",
                "value": {
                  "code": "card_reorder_limit_reached",
                  "message": "The card was ordered too many times in the last 30 days.",
                  "details": {
                    "field": "cardId",
                    "id": "c_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_status_pending": {
                "summary": "card_status_pending",
                "value": {
                  "code": "card_status_pending",
                  "message": "The card is still changing status. Retry shortly.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "conflict_idempotency_key_reused": {
                "summary": "conflict (idempotency key reused)",
                "value": {
                  "code": "conflict",
                  "message": "This request has already been submitted (duplicate idempotency key).",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409CardsSetPin": {
        "description": "- `account_locked` — Slash has locked the account, during a review or while it closes, so cards cannot be issued on it or changed. Contact Slash support.\n- `card_closed` — Closing is permanent; a closed card cannot change.\n- `card_not_active` — Only `active` cards can be paused or have a PIN set.\n- `card_not_physical` — Only physical cards can be replaced or have a PIN. Virtual cards are closed and issued again instead.\n- `card_status_pending` — An earlier status change has not finished at the card issuer. Retry once `GET /v2/cards/{cardId}` shows the new status.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "account_locked",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardAccountLocked"
                    }
                  ]
                },
                {
                  "title": "card_closed",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardClosed"
                    }
                  ]
                },
                {
                  "title": "card_not_active",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardNotActive"
                    }
                  ]
                },
                {
                  "title": "card_not_physical",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardNotPhysical"
                    }
                  ]
                },
                {
                  "title": "card_status_pending",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardStatusPending"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "account_locked": {
                "summary": "account_locked",
                "value": {
                  "code": "account_locked",
                  "message": "The card account is locked.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_closed": {
                "summary": "card_closed",
                "value": {
                  "code": "card_closed",
                  "message": "The card is closed.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_not_active": {
                "summary": "card_not_active",
                "value": {
                  "code": "card_not_active",
                  "message": "The card must be active; it is paused.",
                  "details": {
                    "status": "paused"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_not_physical_card_id": {
                "summary": "card_not_physical (cardId)",
                "value": {
                  "code": "card_not_physical",
                  "message": "The card is not a physical card.",
                  "details": {
                    "field": "cardId",
                    "id": "c_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_status_pending": {
                "summary": "card_status_pending",
                "value": {
                  "code": "card_status_pending",
                  "message": "The card is still changing status. Retry shortly.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409CardsUpdate": {
        "description": "- `account_locked` — Slash has locked the account, during a review or while it closes, so cards cannot be issued on it or changed. Contact Slash support.\n- `card_closed` — Closing is permanent; a closed card cannot change.\n- `card_group_archived` — Archived card groups cannot change or take new cards.\n- `card_holder_not_changeable` — The holder’s name is embossed on a physical card. Order a new card for the new holder instead.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "account_locked",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardAccountLocked"
                    }
                  ]
                },
                {
                  "title": "card_closed",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardClosed"
                    }
                  ]
                },
                {
                  "title": "card_group_archived",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardGroupArchived"
                    }
                  ]
                },
                {
                  "title": "card_holder_not_changeable",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCardHolderNotChangeable"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "account_locked": {
                "summary": "account_locked",
                "value": {
                  "code": "account_locked",
                  "message": "The card account is locked.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_closed": {
                "summary": "card_closed",
                "value": {
                  "code": "card_closed",
                  "message": "The card is closed.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_group_archived_card_group_id": {
                "summary": "card_group_archived (cardGroupId)",
                "value": {
                  "code": "card_group_archived",
                  "message": "The card group is archived.",
                  "details": {
                    "field": "cardGroupId",
                    "id": "card_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "card_holder_not_changeable_cardholder_user_id": {
                "summary": "card_holder_not_changeable (cardholderUserId)",
                "value": {
                  "code": "card_holder_not_changeable",
                  "message": "A physical card’s holder cannot change.",
                  "details": {
                    "field": "cardholderUserId",
                    "id": "u_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409CarrierBillReadOnly": {
        "description": "- `carrier_bill_read_only` — The bill was pulled from a connected carrier portal and is managed by that connection. It can be read but not changed.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorCarrierBillReadOnly"
            },
            "examples": {
              "carrier_bill_read_only": {
                "summary": "carrier_bill_read_only",
                "value": {
                  "code": "carrier_bill_read_only",
                  "message": "Bills from a connected carrier account are read-only.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409CashbackRedemptionsCreate": {
        "description": "- `account_locked` — A locked account can’t receive cashback.\n- `cashback_unavailable` — The charge card is past due, so its cashback is withheld until the account is brought current.\n- `destination_archived` — The destination was archived and can no longer receive transfers.\n- `destination_not_active` — The recipient’s destination is pending review or disabled, as its `status` shows.\n- `insufficient_cashback` — The amount is more than the account’s available cashback. Nothing was redeemed; lower the amount and retry.\n- `insufficient_funds` — The source account does not hold enough to cover this transfer. Nothing was moved; fund the account or lower the amount and retry.\n- `conflict (idempotency key reused)` — A consumed `X-Idempotency-Key` was reused; the original response is not replayed.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "account_locked",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCashbackAccountLocked"
                    }
                  ]
                },
                {
                  "title": "cashback_unavailable",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCashbackUnavailable"
                    }
                  ]
                },
                {
                  "title": "destination_archived",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDestinationArchived"
                    }
                  ]
                },
                {
                  "title": "destination_not_active",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCashbackDestinationNotActive"
                    }
                  ]
                },
                {
                  "title": "insufficient_cashback",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInsufficientCashback"
                    }
                  ]
                },
                {
                  "title": "insufficient_funds",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInsufficientFunds"
                    }
                  ]
                },
                {
                  "title": "conflict (idempotency key reused)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorConflictIdempotencyKeyReused"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "account_locked_destination_account_id": {
                "summary": "account_locked (destination.accountId)",
                "value": {
                  "code": "account_locked",
                  "message": "The receiving account is locked.",
                  "details": {
                    "field": "destination.accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "cashback_unavailable_account_id": {
                "summary": "cashback_unavailable (accountId)",
                "value": {
                  "code": "cashback_unavailable",
                  "message": "This account’s cashback can’t be redeemed while the account is past due.",
                  "details": {
                    "field": "accountId",
                    "id": "sa_group_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "destination_archived_destination_destination_id": {
                "summary": "destination_archived (destination.destinationId)",
                "value": {
                  "code": "destination_archived",
                  "message": "The destination is archived.",
                  "details": {
                    "field": "destination.destinationId",
                    "id": "le_contact_destination_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "destination_not_active_destination_destination_id": {
                "summary": "destination_not_active (destination.destinationId)",
                "value": {
                  "code": "destination_not_active",
                  "message": "The destination is pending; only active destinations can receive cashback.",
                  "details": {
                    "status": "pending",
                    "field": "destination.destinationId",
                    "id": "le_contact_destination_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "insufficient_cashback_amount": {
                "summary": "insufficient_cashback (amount)",
                "value": {
                  "code": "insufficient_cashback",
                  "message": "The account has $124.50 of cashback available but this redemption needs $250.00.",
                  "details": {
                    "available": "$124.50",
                    "requested": "$250.00",
                    "field": "amount"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "insufficient_funds": {
                "summary": "insufficient_funds",
                "value": {
                  "code": "insufficient_funds",
                  "message": "The source account has $120.00 available but this transfer needs $500.00.",
                  "details": {
                    "available": "$120.00",
                    "requested": "$500.00"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "conflict_idempotency_key_reused": {
                "summary": "conflict (idempotency key reused)",
                "value": {
                  "code": "conflict",
                  "message": "This request has already been submitted (duplicate idempotency key).",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409ConflictIdempotencyKeyReused": {
        "description": "- `conflict (idempotency key reused)` — A consumed `X-Idempotency-Key` was reused; the original response is not replayed.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorConflictIdempotencyKeyReused"
            },
            "examples": {
              "conflict_idempotency_key_reused": {
                "summary": "conflict (idempotency key reused)",
                "value": {
                  "code": "conflict",
                  "message": "This request has already been submitted (duplicate idempotency key).",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409ConnectionNotSyncable": {
        "description": "- `connection_not_syncable` — Only connections linked to a platform Slash syncs with can sync entries or refresh on demand. Other connections, such as CSV exports, are handled from the Slash dashboard.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorConnectionNotSyncable"
            },
            "examples": {
              "connection_not_syncable": {
                "summary": "connection_not_syncable",
                "value": {
                  "code": "connection_not_syncable",
                  "message": "This connection is not linked to a platform Slash can sync or refresh on demand.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409DefaultSubsidiaryRequired": {
        "description": "- `default_subsidiary_required` — The platform keeps mappings per subsidiary, and the connection has no default subsidiary to read or write them for.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorDefaultSubsidiaryRequired"
            },
            "examples": {
              "default_subsidiary_required": {
                "summary": "default_subsidiary_required",
                "value": {
                  "code": "default_subsidiary_required",
                  "message": "This connection keeps mappings per subsidiary and has no default subsidiary yet. Pick one in the Slash dashboard first.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409DimensionValuesUpdateInProgressLastEnabledDimensionValue": {
        "description": "- `dimension_values_update_in_progress` — A bulk change to this dimension’s values, started in the Slash dashboard, is still running.\n- `last_enabled_dimension_value` — Turning these values off would leave the dimension with nothing to code with.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "dimension_values_update_in_progress",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDimensionValuesUpdateInProgress"
                    }
                  ]
                },
                {
                  "title": "last_enabled_dimension_value",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorLastEnabledDimensionValue"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "dimension_values_update_in_progress": {
                "summary": "dimension_values_update_in_progress",
                "value": {
                  "code": "dimension_values_update_in_progress",
                  "message": "A bulk update is already in progress for this dimension. Try again once it finishes.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "last_enabled_dimension_value": {
                "summary": "last_enabled_dimension_value",
                "value": {
                  "code": "last_enabled_dimension_value",
                  "message": "At least one value of the dimension must stay enabled.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409InformationRequestNotPending": {
        "description": "- `information_request_not_pending` — The information request was already submitted or canceled, so it cannot be canceled.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInformationRequestNotPending"
            },
            "examples": {
              "information_request_not_pending": {
                "summary": "information_request_not_pending",
                "value": {
                  "code": "information_request_not_pending",
                  "message": "Only pending information requests can be canceled.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409InformationRequestsCreate": {
        "description": "- `information_request_already_pending` — A recipient can have one pending information request at a time; cancel the pending one first.\n- `recipient_email_missing` — Information requests are emailed to the recipient, and this recipient has no email address.\n- `conflict (idempotency key reused)` — A consumed `X-Idempotency-Key` was reused; the original response is not replayed.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "information_request_already_pending",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInformationRequestAlreadyPending"
                    }
                  ]
                },
                {
                  "title": "recipient_email_missing",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorRecipientEmailMissing"
                    }
                  ]
                },
                {
                  "title": "conflict (idempotency key reused)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorConflictIdempotencyKeyReused"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "information_request_already_pending_recipient_id": {
                "summary": "information_request_already_pending (recipientId)",
                "value": {
                  "code": "information_request_already_pending",
                  "message": "This recipient already has a pending information request. Cancel it before sending a new one.",
                  "details": {
                    "field": "recipientId",
                    "id": "le_c_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "recipient_email_missing_recipient_id": {
                "summary": "recipient_email_missing (recipientId)",
                "value": {
                  "code": "recipient_email_missing",
                  "message": "This recipient has no email on file. Add an email before requesting information.",
                  "details": {
                    "field": "recipientId",
                    "id": "le_c_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "conflict_idempotency_key_reused": {
                "summary": "conflict (idempotency key reused)",
                "value": {
                  "code": "conflict",
                  "message": "This request has already been submitted (duplicate idempotency key).",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409InsufficientFundsConflictIdempotencyKeyReused": {
        "description": "- `insufficient_funds` — The source account does not hold enough to cover this transfer. Nothing was moved; fund the account or lower the amount and retry.\n- `conflict (idempotency key reused)` — A consumed `X-Idempotency-Key` was reused; the original response is not replayed.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "insufficient_funds",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInsufficientFunds"
                    }
                  ]
                },
                {
                  "title": "conflict (idempotency key reused)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorConflictIdempotencyKeyReused"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "insufficient_funds": {
                "summary": "insufficient_funds",
                "value": {
                  "code": "insufficient_funds",
                  "message": "The source account has $120.00 available but this transfer needs $500.00.",
                  "details": {
                    "available": "$120.00",
                    "requested": "$500.00"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "conflict_idempotency_key_reused": {
                "summary": "conflict (idempotency key reused)",
                "value": {
                  "code": "conflict",
                  "message": "This request has already been submitted (duplicate idempotency key).",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409InternationalWireTransfersCreate": {
        "description": "- `bill_card_request_open` — A purchase card was requested for the bill and settles it once spent, so paying it another way too would cover it twice. Cancel the card request first.\n- `bill_not_payable` — The bill already has a payment awaiting approval, scheduled or in flight, or it is fully paid. Unlink or void the existing payment first.\n- `carrier_bill_read_only` — The bill was pulled from a connected carrier portal and is managed by that connection. It can be read but not changed.\n- `destination_archived` — The destination was archived and can no longer receive transfers.\n- `fx_quote_already_used` — The FX quote was already used by another transfer; create a new one.\n- `insufficient_funds` — The source account does not hold enough to cover this transfer. Nothing was moved; fund the account or lower the amount and retry.\n- `conflict (idempotency key reused)` — A consumed `X-Idempotency-Key` was reused; the original response is not replayed.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "bill_card_request_open",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorBillCardRequestOpen"
                    }
                  ]
                },
                {
                  "title": "bill_not_payable",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorBillNotPayable"
                    }
                  ]
                },
                {
                  "title": "carrier_bill_read_only",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCarrierBillReadOnly"
                    }
                  ]
                },
                {
                  "title": "destination_archived",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDestinationArchived"
                    }
                  ]
                },
                {
                  "title": "fx_quote_already_used",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorFxQuoteAlreadyUsed"
                    }
                  ]
                },
                {
                  "title": "insufficient_funds",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInsufficientFunds"
                    }
                  ]
                },
                {
                  "title": "conflict (idempotency key reused)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorConflictIdempotencyKeyReused"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "bill_card_request_open_bill_id": {
                "summary": "bill_card_request_open (billId)",
                "value": {
                  "code": "bill_card_request_open",
                  "message": "A card request on this bill is approved; cancel it to pay the bill another way.",
                  "details": {
                    "hold": "approved",
                    "field": "billId",
                    "id": "bill_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "bill_not_payable_bill_id": {
                "summary": "bill_not_payable (billId)",
                "value": {
                  "code": "bill_not_payable",
                  "message": "The bill is payment_pending and cannot take a new payment.",
                  "details": {
                    "status": "payment_pending",
                    "field": "billId",
                    "id": "bill_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "carrier_bill_read_only": {
                "summary": "carrier_bill_read_only",
                "value": {
                  "code": "carrier_bill_read_only",
                  "message": "Bills from a connected carrier account are read-only.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "destination_archived_destination_id": {
                "summary": "destination_archived (destinationId)",
                "value": {
                  "code": "destination_archived",
                  "message": "The destination is archived.",
                  "details": {
                    "field": "destinationId",
                    "id": "le_contact_destination_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "fx_quote_already_used_international_wire_fx_quote_id": {
                "summary": "fx_quote_already_used (internationalWire.fxQuoteId)",
                "value": {
                  "code": "fx_quote_already_used",
                  "message": "The FX quote has already been used.",
                  "details": {
                    "field": "internationalWire.fxQuoteId",
                    "id": "fx_rate_quote_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "insufficient_funds": {
                "summary": "insufficient_funds",
                "value": {
                  "code": "insufficient_funds",
                  "message": "The source account has $120.00 available but this transfer needs $500.00.",
                  "details": {
                    "available": "$120.00",
                    "requested": "$500.00"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "conflict_idempotency_key_reused": {
                "summary": "conflict (idempotency key reused)",
                "value": {
                  "code": "conflict",
                  "message": "This request has already been submitted (duplicate idempotency key).",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409InvoiceNotRemindableInvoiceReminderRecentlySent": {
        "description": "- `invoice_not_remindable` — Reminders are for invoices that still owe money and have been sent. See [Invoice lifecycle](/docs/v2/invoices/overview#invoice-lifecycle).\n- `invoice_reminder_recently_sent` — One manual reminder goes out per invoice every 24 hours. Automatic reminders keep their own schedule; see `nextReminderAt`.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "invoice_not_remindable",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceNotRemindable"
                    }
                  ]
                },
                {
                  "title": "invoice_reminder_recently_sent",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceReminderRecentlySent"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "invoice_not_remindable": {
                "summary": "invoice_not_remindable",
                "value": {
                  "code": "invoice_not_remindable",
                  "message": "The invoice is paid; reminders go out for unpaid and partially paid invoices.",
                  "details": {
                    "status": "paid"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "invoice_reminder_recently_sent": {
                "summary": "invoice_reminder_recently_sent",
                "value": {
                  "code": "invoice_reminder_recently_sent",
                  "message": "A reminder for this invoice was sent in the last 24 hours; try again later.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409InvoiceNotScheduled": {
        "description": "- `invoice_not_scheduled` — The invoice has already been sent, so it has no send date to change. See [Invoice lifecycle](/docs/v2/invoices/overview#invoice-lifecycle).",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceNotScheduled"
            },
            "examples": {
              "invoice_not_scheduled": {
                "summary": "invoice_not_scheduled",
                "value": {
                  "code": "invoice_not_scheduled",
                  "message": "The invoice is unpaid; only scheduled invoices can be sent or rescheduled.",
                  "details": {
                    "status": "unpaid"
                  },
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409InvoiceNotSentInvoiceVoid": {
        "description": "- `invoice_not_sent` — Payments can only be recorded on sent invoices. Send the invoice first. See [Invoice lifecycle](/docs/v2/invoices/overview#invoice-lifecycle).\n- `invoice_void` — A void invoice is final. Issue a new invoice to bill the customer again. See [Invoice lifecycle](/docs/v2/invoices/overview#invoice-lifecycle).",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "invoice_not_sent",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceNotSent"
                    }
                  ]
                },
                {
                  "title": "invoice_void",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceVoid"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "invoice_not_sent": {
                "summary": "invoice_not_sent",
                "value": {
                  "code": "invoice_not_sent",
                  "message": "The invoice is scheduled and has not been sent; send it before recording a payment.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "invoice_void": {
                "summary": "invoice_void",
                "value": {
                  "code": "invoice_void",
                  "message": "The invoice is void.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409InvoiceScheduledInSeriesInvoiceVoid": {
        "description": "- `invoice_scheduled_in_series` — A recurring series always has its next invoice scheduled. Skip that invoice on the series, or cancel the series. See [How a series works](/docs/v2/invoices/recurring-invoices#how-a-series-works).\n- `invoice_void` — A void invoice is final. Issue a new invoice to bill the customer again. See [Invoice lifecycle](/docs/v2/invoices/overview#invoice-lifecycle).",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "invoice_scheduled_in_series",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceScheduledInSeries"
                    }
                  ]
                },
                {
                  "title": "invoice_void",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceVoid"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "invoice_scheduled_in_series": {
                "summary": "invoice_scheduled_in_series",
                "value": {
                  "code": "invoice_scheduled_in_series",
                  "message": "The invoice is the next one scheduled in its series; skip it on the series instead.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "invoice_void": {
                "summary": "invoice_void",
                "value": {
                  "code": "invoice_void",
                  "message": "The invoice is void.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409InvoicesCreate": {
        "description": "- `invoice_number_taken` — Invoice numbers are unique per legal entity. Pick another number, or leave it out to take the next one.\n- `conflict (idempotency key reused)` — A consumed `X-Idempotency-Key` was reused; the original response is not replayed.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "invoice_number_taken",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceNumberTaken"
                    }
                  ]
                },
                {
                  "title": "conflict (idempotency key reused)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorConflictIdempotencyKeyReused"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "invoice_number_taken_number": {
                "summary": "invoice_number_taken (number)",
                "value": {
                  "code": "invoice_number_taken",
                  "message": "Another invoice already uses this number.",
                  "details": {
                    "field": "number"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "conflict_idempotency_key_reused": {
                "summary": "conflict (idempotency key reused)",
                "value": {
                  "code": "conflict",
                  "message": "This request has already been submitted (duplicate idempotency key).",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409InvoiceSeriesNotActive": {
        "description": "- `invoice_series_not_active` — Ended and cancelled series issue no more invoices. Create a new series to keep billing the customer. See [How a series works](/docs/v2/invoices/recurring-invoices#how-a-series-works).",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceSeriesNotActive"
            },
            "examples": {
              "invoice_series_not_active": {
                "summary": "invoice_series_not_active",
                "value": {
                  "code": "invoice_series_not_active",
                  "message": "The series is cancelled; only active series can be changed.",
                  "details": {
                    "status": "cancelled"
                  },
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409InvoicesUpdate": {
        "description": "- `invoice_not_editable` — Invoices can be edited until they take a payment. Remove the payments first, or void the invoice and issue a new one. See [Invoice lifecycle](/docs/v2/invoices/overview#invoice-lifecycle).\n- `invoice_not_scheduled` — The invoice has already been sent, so it has no send date to change. See [Invoice lifecycle](/docs/v2/invoices/overview#invoice-lifecycle).\n- `invoice_number_taken` — Invoice numbers are unique per legal entity. Pick another number, or leave it out to take the next one.\n- `invoice_payment_in_flight` — The payer started an ACH debit or card payment that has not settled yet. The invoice cannot change until it does.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "invoice_not_editable",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceNotEditable"
                    }
                  ]
                },
                {
                  "title": "invoice_not_scheduled",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceNotScheduled"
                    }
                  ]
                },
                {
                  "title": "invoice_number_taken",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceNumberTaken"
                    }
                  ]
                },
                {
                  "title": "invoice_payment_in_flight",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInvoicePaymentInFlight"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "invoice_not_editable": {
                "summary": "invoice_not_editable",
                "value": {
                  "code": "invoice_not_editable",
                  "message": "The invoice is partially_paid; only scheduled and unpaid invoices can be edited.",
                  "details": {
                    "status": "partially_paid"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "invoice_not_scheduled_scheduled_send_date": {
                "summary": "invoice_not_scheduled (scheduledSendDate)",
                "value": {
                  "code": "invoice_not_scheduled",
                  "message": "The invoice is unpaid; only scheduled invoices can be sent or rescheduled.",
                  "details": {
                    "status": "unpaid",
                    "field": "scheduledSendDate"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "invoice_number_taken_number": {
                "summary": "invoice_number_taken (number)",
                "value": {
                  "code": "invoice_number_taken",
                  "message": "Another invoice already uses this number.",
                  "details": {
                    "field": "number"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "invoice_payment_in_flight": {
                "summary": "invoice_payment_in_flight",
                "value": {
                  "code": "invoice_payment_in_flight",
                  "message": "A payment on the invoice is still settling; try again once it completes.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409InvoiceVoid": {
        "description": "- `invoice_void` — A void invoice is final. Issue a new invoice to bill the customer again. See [Invoice lifecycle](/docs/v2/invoices/overview#invoice-lifecycle).",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInvoiceVoid"
            },
            "examples": {
              "invoice_void": {
                "summary": "invoice_void",
                "value": {
                  "code": "invoice_void",
                  "message": "The invoice is void.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409PrimaryVirtualAccountVirtualAccountClosed": {
        "description": "- `primary_virtual_account` — The virtual account is the account's primary one, which cannot be closed or updated.\n- `virtual_account_closed` — The virtual account, or the account it belongs to, is closed.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "primary_virtual_account",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorPrimaryVirtualAccount"
                    }
                  ]
                },
                {
                  "title": "virtual_account_closed",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorVirtualAccountClosed"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "primary_virtual_account": {
                "summary": "primary_virtual_account",
                "value": {
                  "code": "primary_virtual_account",
                  "message": "The primary virtual account cannot be closed.",
                  "details": {
                    "action": "closed"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "virtual_account_closed": {
                "summary": "virtual_account_closed",
                "value": {
                  "code": "virtual_account_closed",
                  "message": "The virtual account is closed.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409RealtimeTransfersCreate": {
        "description": "- `bill_card_request_open` — A purchase card was requested for the bill and settles it once spent, so paying it another way too would cover it twice. Cancel the card request first.\n- `bill_not_payable` — The bill already has a payment awaiting approval, scheduled or in flight, or it is fully paid. Unlink or void the existing payment first.\n- `carrier_bill_read_only` — The bill was pulled from a connected carrier portal and is managed by that connection. It can be read but not changed.\n- `destination_archived` — The destination was archived and can no longer receive transfers.\n- `insufficient_funds` — The source account does not hold enough to cover this transfer. Nothing was moved; fund the account or lower the amount and retry.\n- `conflict (idempotency key reused)` — A consumed `X-Idempotency-Key` was reused; the original response is not replayed.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "bill_card_request_open",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorBillCardRequestOpen"
                    }
                  ]
                },
                {
                  "title": "bill_not_payable",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorBillNotPayable"
                    }
                  ]
                },
                {
                  "title": "carrier_bill_read_only",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCarrierBillReadOnly"
                    }
                  ]
                },
                {
                  "title": "destination_archived",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDestinationArchived"
                    }
                  ]
                },
                {
                  "title": "insufficient_funds",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInsufficientFunds"
                    }
                  ]
                },
                {
                  "title": "conflict (idempotency key reused)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorConflictIdempotencyKeyReused"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "bill_card_request_open_bill_id": {
                "summary": "bill_card_request_open (billId)",
                "value": {
                  "code": "bill_card_request_open",
                  "message": "A card request on this bill is approved; cancel it to pay the bill another way.",
                  "details": {
                    "hold": "approved",
                    "field": "billId",
                    "id": "bill_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "bill_not_payable_bill_id": {
                "summary": "bill_not_payable (billId)",
                "value": {
                  "code": "bill_not_payable",
                  "message": "The bill is payment_pending and cannot take a new payment.",
                  "details": {
                    "status": "payment_pending",
                    "field": "billId",
                    "id": "bill_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "carrier_bill_read_only": {
                "summary": "carrier_bill_read_only",
                "value": {
                  "code": "carrier_bill_read_only",
                  "message": "Bills from a connected carrier account are read-only.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "destination_archived_destination_id": {
                "summary": "destination_archived (destinationId)",
                "value": {
                  "code": "destination_archived",
                  "message": "The destination is archived.",
                  "details": {
                    "field": "destinationId",
                    "id": "le_contact_destination_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "insufficient_funds": {
                "summary": "insufficient_funds",
                "value": {
                  "code": "insufficient_funds",
                  "message": "The source account has $120.00 available but this transfer needs $500.00.",
                  "details": {
                    "available": "$120.00",
                    "requested": "$500.00"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "conflict_idempotency_key_reused": {
                "summary": "conflict (idempotency key reused)",
                "value": {
                  "code": "conflict",
                  "message": "This request has already been submitted (duplicate idempotency key).",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409TransferCancelWindowPassedTransferNotPending": {
        "description": "- `transfer_cancel_window_passed` — The transfer is still pending, but it is past the point where it can be canceled.\n- `transfer_not_pending` — The transfer is no longer pending, so it cannot be canceled.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "transfer_cancel_window_passed",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorTransferCancelWindowPassed"
                    }
                  ]
                },
                {
                  "title": "transfer_not_pending",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorTransferNotPending"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "transfer_cancel_window_passed": {
                "summary": "transfer_cancel_window_passed",
                "value": {
                  "code": "transfer_cancel_window_passed",
                  "message": "The transfer can no longer be canceled.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "transfer_not_pending": {
                "summary": "transfer_not_pending",
                "value": {
                  "code": "transfer_not_pending",
                  "message": "Only pending transfers can be canceled.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error409WireTransfersCreate": {
        "description": "- `bill_card_request_open` — A purchase card was requested for the bill and settles it once spent, so paying it another way too would cover it twice. Cancel the card request first.\n- `bill_not_payable` — The bill already has a payment awaiting approval, scheduled or in flight, or it is fully paid. Unlink or void the existing payment first.\n- `carrier_bill_read_only` — The bill was pulled from a connected carrier portal and is managed by that connection. It can be read but not changed.\n- `destination_archived` — The destination was archived and can no longer receive transfers.\n- `insufficient_funds` — The source account does not hold enough to cover this transfer. Nothing was moved; fund the account or lower the amount and retry.\n- `conflict (idempotency key reused)` — A consumed `X-Idempotency-Key` was reused; the original response is not replayed.",
        "content": {
          "application/json": {
            "schema": {
              "anyOf": [
                {
                  "title": "bill_card_request_open",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorBillCardRequestOpen"
                    }
                  ]
                },
                {
                  "title": "bill_not_payable",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorBillNotPayable"
                    }
                  ]
                },
                {
                  "title": "carrier_bill_read_only",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorCarrierBillReadOnly"
                    }
                  ]
                },
                {
                  "title": "destination_archived",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorDestinationArchived"
                    }
                  ]
                },
                {
                  "title": "insufficient_funds",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorInsufficientFunds"
                    }
                  ]
                },
                {
                  "title": "conflict (idempotency key reused)",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PublicApiV2ErrorConflictIdempotencyKeyReused"
                    }
                  ]
                }
              ]
            },
            "examples": {
              "bill_card_request_open_bill_id": {
                "summary": "bill_card_request_open (billId)",
                "value": {
                  "code": "bill_card_request_open",
                  "message": "A card request on this bill is approved; cancel it to pay the bill another way.",
                  "details": {
                    "hold": "approved",
                    "field": "billId",
                    "id": "bill_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "bill_not_payable_bill_id": {
                "summary": "bill_not_payable (billId)",
                "value": {
                  "code": "bill_not_payable",
                  "message": "The bill is payment_pending and cannot take a new payment.",
                  "details": {
                    "status": "payment_pending",
                    "field": "billId",
                    "id": "bill_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "carrier_bill_read_only": {
                "summary": "carrier_bill_read_only",
                "value": {
                  "code": "carrier_bill_read_only",
                  "message": "Bills from a connected carrier account are read-only.",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              },
              "destination_archived_destination_id": {
                "summary": "destination_archived (destinationId)",
                "value": {
                  "code": "destination_archived",
                  "message": "The destination is archived.",
                  "details": {
                    "field": "destinationId",
                    "id": "le_contact_destination_2rj4l7hmrrrcv"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "insufficient_funds": {
                "summary": "insufficient_funds",
                "value": {
                  "code": "insufficient_funds",
                  "message": "The source account has $120.00 available but this transfer needs $500.00.",
                  "details": {
                    "available": "$120.00",
                    "requested": "$500.00"
                  },
                  "referenceId": "4091-2alj5if"
                }
              },
              "conflict_idempotency_key_reused": {
                "summary": "conflict (idempotency key reused)",
                "value": {
                  "code": "conflict",
                  "message": "This request has already been submitted (duplicate idempotency key).",
                  "details": {},
                  "referenceId": "4091-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2Error500Internal": {
        "description": "- `internal` — Slash could not complete the request. Quote `referenceId` when contacting Slash support.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PublicApiV2ErrorInternal"
            },
            "examples": {
              "internal": {
                "summary": "internal",
                "value": {
                  "code": "internal",
                  "message": "An unexpected error occurred. If this keeps happening, contact Slash support with the reference id below.",
                  "details": {},
                  "referenceId": "5001-2alj5if"
                }
              }
            }
          }
        }
      },
      "PublicApiV2RateLimited": {
        "description": "The request exceeded the applicable rate limit. The response body is plain text, not the error object; clients must not depend on its wording.",
        "content": {
          "text/plain": {
            "schema": {
              "type": "string"
            },
            "example": "You are rate limited"
          }
        }
      }
    },
    "parameters": {
      "PublicApiV2LegalEntity": {
        "name": "x-legal-entity",
        "in": "header",
        "required": true,
        "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
        "schema": {
          "type": "string",
          "pattern": "^le_[a-zA-Z0-9]+$"
        }
      },
      "PublicApiV2IdempotencyKey": {
        "name": "X-Idempotency-Key",
        "in": "header",
        "required": true,
        "description": "Unique caller-generated key for one create request. Once an authenticated, schema-valid request reaches the operation, the key is permanently consumed for that operation and legal entity whether the operation succeeds or fails. Reusing it in that scope returns `409` and never replays a response, unlike API v1, which replays the original response for a matching key.",
        "schema": {
          "type": "string",
          "minLength": 1,
          "maxLength": 255
        },
        "example": "invoice-1042-attempt-1"
      },
      "PublicApiV2Cursor": {
        "name": "cursor",
        "in": "query",
        "required": false,
        "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
        "schema": {
          "type": "string"
        }
      },
      "PublicApiV2Limit": {
        "name": "limit",
        "in": "query",
        "required": false,
        "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100
        }
      },
      "PublicApiV2AccountingConnectionId": {
        "name": "connectionId",
        "in": "query",
        "required": false,
        "description": "The accounting connection to read. Optional when the legal entity has exactly one connection; required (`connection_id_required`) when it has several. List them at `GET /v2/accounting/connections`.",
        "schema": {
          "type": "string"
        }
      },
      "PublicApiV2SortDirection": {
        "name": "sortDirection",
        "in": "query",
        "required": false,
        "description": "Direction of the ordering selected by `sort`. When omitted, each `sort` value uses its own default; see [Sorting](/docs/v2/get-started/pagination#sorting).",
        "schema": {
          "type": "string",
          "enum": ["asc", "desc"]
        }
      },
      "PublicApiV2SortAccountsList": {
        "name": "sort",
        "in": "query",
        "required": false,
        "description": "Field to order the page by. `createdAt` is descending unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).",
        "schema": {
          "type": "string",
          "enum": ["createdAt"],
          "default": "createdAt"
        }
      },
      "PublicApiV2SortCustomersList": {
        "name": "sort",
        "in": "query",
        "required": false,
        "description": "Field to order the page by. Each value has its own default direction, used unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).\n\n- `createdAt` (default) — descending\n- `name` — ascending",
        "schema": {
          "type": "string",
          "enum": ["createdAt", "name"],
          "default": "createdAt"
        }
      },
      "PublicApiV2SortDestinationsList": {
        "name": "sort",
        "in": "query",
        "required": false,
        "description": "Field to order the page by. Each value has its own default direction, used unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).\n\n- `lastPaidAt` (default) — the most recent payment to the destination, with destinations that have never been paid ordered by creation time after them; descending\n- `createdAt` — descending",
        "schema": {
          "type": "string",
          "enum": ["lastPaidAt", "createdAt"],
          "default": "lastPaidAt"
        }
      },
      "PublicApiV2SortInformationRequestsList": {
        "name": "sort",
        "in": "query",
        "required": false,
        "description": "Field to order the page by. `createdAt` is descending unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).",
        "schema": {
          "type": "string",
          "enum": ["createdAt"],
          "default": "createdAt"
        }
      },
      "PublicApiV2SortInvoicesCatalogItemsList": {
        "name": "sort",
        "in": "query",
        "required": false,
        "description": "Field to order the page by. Each value has its own default direction, used unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).\n\n- `createdAt` (default) — descending\n- `name` — ascending",
        "schema": {
          "type": "string",
          "enum": ["createdAt", "name"],
          "default": "createdAt"
        }
      },
      "PublicApiV2SortInvoicesList": {
        "name": "sort",
        "in": "query",
        "required": false,
        "description": "Field to order the page by. Each value has its own default direction, used unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).\n\n- `createdAt` (default) — descending\n- `issueDate` — descending\n- `dueDate` — descending\n- `total` — descending",
        "schema": {
          "type": "string",
          "enum": ["createdAt", "issueDate", "dueDate", "total"],
          "default": "createdAt"
        }
      },
      "PublicApiV2SortInvoicesSeriesList": {
        "name": "sort",
        "in": "query",
        "required": false,
        "description": "Field to order the page by. Each value has its own default direction, used unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).\n\n- `createdAt` (default) — descending\n- `startDate` — descending\n- `nextInvoiceDate` — descending",
        "schema": {
          "type": "string",
          "enum": ["createdAt", "startDate", "nextInvoiceDate"],
          "default": "createdAt"
        }
      },
      "PublicApiV2SortRecipientsList": {
        "name": "sort",
        "in": "query",
        "required": false,
        "description": "Field to order the page by. Each value has its own default direction, used unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).\n\n- `createdAt` (default) — descending\n- `name` — ascending\n- `lastPaidAt` — the most recent payment to the recipient, with recipients that have never been paid last; descending",
        "schema": {
          "type": "string",
          "enum": ["createdAt", "name", "lastPaidAt"],
          "default": "createdAt"
        }
      },
      "PublicApiV2SortTransactionsCardList": {
        "name": "sort",
        "in": "query",
        "required": false,
        "description": "Field to order the page by. Each value has its own default direction, used unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).\n\n- `date` (default) — the transaction's `date` (the posting date, or the creation date while pending or failed); descending\n- `authorizedAt` — the card authorization time; descending",
        "schema": {
          "type": "string",
          "enum": ["date", "authorizedAt"],
          "default": "date"
        }
      },
      "PublicApiV2SortTransactionsList": {
        "name": "sort",
        "in": "query",
        "required": false,
        "description": "Field to order the page by. `date` (the transaction's `date` (the posting date, or the creation date while pending or failed)) is descending unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).",
        "schema": {
          "type": "string",
          "enum": ["date"],
          "default": "date"
        }
      },
      "PublicApiV2SortTransfersList": {
        "name": "sort",
        "in": "query",
        "required": false,
        "description": "Field to order the page by. `date` (the transfer's activity date (settlement time once settled, otherwise creation time)) is descending unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).",
        "schema": {
          "type": "string",
          "enum": ["date"],
          "default": "date"
        }
      },
      "PublicApiV2SortVirtualAccountsList": {
        "name": "sort",
        "in": "query",
        "required": false,
        "description": "Field to order the page by. `createdAt` is descending unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).",
        "schema": {
          "type": "string",
          "enum": ["createdAt"],
          "default": "createdAt"
        }
      },
      "PublicApiV2TransactionFrom": {
        "name": "from",
        "in": "query",
        "required": false,
        "description": "Inclusive RFC 3339 lower bound on transaction date.",
        "schema": {
          "type": "string",
          "format": "date-time"
        }
      },
      "PublicApiV2TransactionTo": {
        "name": "to",
        "in": "query",
        "required": false,
        "description": "Inclusive RFC 3339 upper bound on transaction date.",
        "schema": {
          "type": "string",
          "format": "date-time"
        }
      },
      "PublicApiV2TransferAccountId": {
        "name": "accountId",
        "in": "query",
        "required": false,
        "description": "Return transfers for one accessible Account.",
        "schema": {
          "type": "string"
        }
      },
      "PublicApiV2TransferFromAccount": {
        "name": "fromAccount",
        "in": "query",
        "required": false,
        "description": "Return transfers from one accessible virtual account.",
        "schema": {
          "type": "string"
        }
      },
      "PublicApiV2TransferDestinationId": {
        "name": "destinationId",
        "in": "query",
        "required": false,
        "description": "Return transfers sent to one saved destination.",
        "schema": {
          "type": "string"
        }
      },
      "PublicApiV2TransferFrom": {
        "name": "from",
        "in": "query",
        "required": false,
        "description": "Inclusive RFC 3339 lower bound on transfer date: the `date` of the transfer's source transaction, which is also the list order.",
        "schema": {
          "type": "string",
          "format": "date-time"
        }
      },
      "PublicApiV2TransferTo": {
        "name": "to",
        "in": "query",
        "required": false,
        "description": "Inclusive RFC 3339 upper bound on transfer date: the `date` of the transfer's source transaction, which is also the list order.",
        "schema": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "securitySchemes": {
      "api_key": {
        "type": "apiKey",
        "name": "X-API-Key",
        "in": "header",
        "description": "User API key authentication. Create a key under Settings → API keys in the Slash dashboard (https://app.slash.com/global-settings/api-keys) and send the `x-legal-entity` header naming the legal entity to act on with every request. Keys scoped to a legal entity are rejected with `403 user_api_key_required`."
      }
    }
  },
  "security": [
    {
      "api_key": []
    }
  ],
  "paths": {
    "/v2/accounts": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "List accounts",
        "description": "List the Accounts accessible to the credential for the selected legal entity. Each Account is a financial product that contains one or more virtual accounts. Use account retrieval for its balance breakdown.",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Field to order the page by. `createdAt` is descending unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["createdAt"],
              "default": "createdAt"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "required": false,
            "description": "Direction of the ordering selected by `sort`. When omitted, each `sort` value uses its own default; see [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["asc", "desc"]
            }
          },
          {
            "name": "includeClosed",
            "in": "query",
            "required": false,
            "description": "Include closed Accounts. Defaults to false.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of Accounts.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/account"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                },
                "example": {
                  "items": [
                    {
                      "id": "sa_group_primary123",
                      "name": "Slash Platinum",
                      "type": "secured_charge_card",
                      "status": "open",
                      "currency": "USD",
                      "accountNumber": "123456789",
                      "routingNumber": "021000021",
                      "createdAt": "2026-08-18T01:00:00.000Z"
                    }
                  ],
                  "metadata": {
                    "count": 1
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AccountsList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "x-mint": {
          "metadata": {
            "description": "List the Accounts accessible to the credential for the selected legal entity."
          },
          "content": "Each Account is a financial product that contains one or more virtual accounts. Use account retrieval for its balance breakdown."
        }
      }
    },
    "/v2/accounts/{accountId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "accountId",
          "in": "path",
          "required": true,
          "description": "Account id with the `sa_group_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve an account",
        "description": "Retrieve an Account and its user-facing balance components. Components are omitted when the credential cannot view balances.",
        "responses": {
          "200": {
            "description": "The requested Account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/account"
                },
                "example": {
                  "id": "sa_group_primary123",
                  "name": "Slash Platinum",
                  "type": "secured_charge_card",
                  "status": "open",
                  "currency": "USD",
                  "accountNumber": "123456789",
                  "routingNumber": "021000021",
                  "createdAt": "2026-08-18T01:00:00.000Z",
                  "balanceComponents": [
                    {
                      "type": "transactional",
                      "available": {
                        "amount": 25000,
                        "currency": "USD"
                      },
                      "posted": {
                        "amount": 20000,
                        "currency": "USD"
                      }
                    },
                    {
                      "type": "collateral",
                      "balance": {
                        "amount": 100000,
                        "currency": "USD"
                      }
                    },
                    {
                      "type": "credit",
                      "creditLimit": {
                        "amount": 100000,
                        "currency": "USD"
                      },
                      "availableToSpend": {
                        "amount": 75000,
                        "currency": "USD"
                      },
                      "pendingBalance": {
                        "amount": 5000,
                        "currency": "USD"
                      },
                      "settledBalance": {
                        "amount": 20000,
                        "currency": "USD"
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AccountsGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/transfers": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "List transfers",
        "description": "Return transfers across every supported payment rail, newest first. Use `type` to select one rail.",
        "x-mint": {
          "href": "/api-reference/transfers/list",
          "metadata": {
            "sidebarTitle": "List transfers"
          },
          "content": "Read [Transfers and transactions](/docs/v2/concepts/transfers-and-transactions) to understand the unified transfer model and its transaction legs."
        },
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Field to order the page by. `date` (the transfer's activity date (settlement time once settled, otherwise creation time)) is descending unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["date"],
              "default": "date"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "required": false,
            "description": "Direction of the ordering selected by `sort`. When omitted, each `sort` value uses its own default; see [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["asc", "desc"]
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "Return transfers using one payment rail.",
            "schema": {
              "$ref": "#/components/schemas/slashfi.models.entity.Transfer.Type.yaml"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Return transfers in one lifecycle state. When `type` is supplied, the status must apply to that rail.",
            "schema": {
              "$ref": "#/components/schemas/slashfi.models.entity.Transfer.Status.yaml"
            }
          },
          {
            "name": "accountId",
            "in": "query",
            "required": false,
            "description": "Return transfers for one accessible Account.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fromAccount",
            "in": "query",
            "required": false,
            "description": "Return transfers from one accessible virtual account.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "destinationId",
            "in": "query",
            "required": false,
            "description": "Return transfers sent to one saved destination.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Inclusive RFC 3339 lower bound on transfer date: the `date` of the transfer's source transaction, which is also the list order.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Inclusive RFC 3339 upper bound on transfer date: the `date` of the transfer's source transaction, which is also the list order.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of transfers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer-list"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400TransfersList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/transfers/ach": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "List ACH transfers",
        "description": "Return ACH transfers, including queued transfers awaiting bank details.",
        "x-mint": {
          "href": "/api-reference/transfers/ach/list",
          "metadata": {
            "sidebarTitle": "List ACH transfers"
          },
          "content": "Read [Sending ACH](/docs/v2/money-movement/ach/sending) for setup, examples, and lifecycle guidance."
        },
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Field to order the page by. `date` (the transfer's activity date (settlement time once settled, otherwise creation time)) is descending unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["date"],
              "default": "date"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "required": false,
            "description": "Direction of the ordering selected by `sort`. When omitted, each `sort` value uses its own default; see [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["asc", "desc"]
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Return ACH transfers in one lifecycle state.",
            "schema": {
              "$ref": "#/components/schemas/slashfi.models.entity.Transfer.AchStatus.yaml"
            }
          },
          {
            "name": "accountId",
            "in": "query",
            "required": false,
            "description": "Return transfers for one accessible Account.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fromAccount",
            "in": "query",
            "required": false,
            "description": "Return transfers from one accessible virtual account.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "destinationId",
            "in": "query",
            "required": false,
            "description": "Return transfers sent to one saved destination.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Inclusive RFC 3339 lower bound on transfer date: the `date` of the transfer's source transaction, which is also the list order.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Inclusive RFC 3339 upper bound on transfer date: the `date` of the transfer's source transaction, which is also the list order.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of ACH transfers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer-list-ach"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400TransfersList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      },
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Create an ACH transfer",
        "description": "Send USD to a saved US bank account, or queue the transfer against an information request while waiting for the recipient's bank details.",
        "x-mint": {
          "href": "/api-reference/transfers/ach/create",
          "metadata": {
            "sidebarTitle": "Create an ACH transfer"
          },
          "content": "<Note>\nRequires a source IP on the legal entity's enabled IP allowlist.\n</Note>\n\nRead [Sending ACH](/docs/v2/money-movement/ach/sending) for setup,\nexamples, and lifecycle guidance. To create a payment before the\nrecipient supplies bank details, read\n[Queued payments](/docs/v2/money-movement/queued-payments)."
        },
        "parameters": [
          {
            "name": "X-Idempotency-Key",
            "in": "header",
            "required": true,
            "description": "Unique caller-generated key for one create request. Once an authenticated, schema-valid request reaches the operation, the key is permanently consumed for that operation and legal entity whether the operation succeeds or fails. Reusing it in that scope returns `409` and never replays a response, unlike API v1, which replays the original response for a matching key.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "example": "invoice-1042-attempt-1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/transfer-create-ach"
              },
              "examples": {
                "destination": {
                  "summary": "Send to a saved bank account",
                  "value": {
                    "amount": {
                      "amount": 1250,
                      "currency": "USD"
                    },
                    "fromAccount": "subaccount_source123",
                    "destinationId": "le_contact_destination_bank123",
                    "description": "Vendor payment",
                    "ach": {
                      "speed": "standard",
                      "companyEntryDescription": "VENDOR PAY"
                    }
                  }
                },
                "informationRequest": {
                  "summary": "Queue while awaiting bank details",
                  "value": {
                    "amount": {
                      "amount": 1250,
                      "currency": "USD"
                    },
                    "fromAccount": "subaccount_source123",
                    "informationRequestId": "le_c_info_req_vendor123",
                    "description": "Vendor payment",
                    "ach": {
                      "speed": "standard"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The created ACH transfer.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer-ach"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AchTransfersCreate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403AchTransfersCreate"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404AchTransfersCreate"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409AchTransfersCreate"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/transfers/ach/{transferId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve an ACH transfer",
        "description": "Retrieve an ACH transfer. An id belonging to another transfer rail returns the same not-found response as an unknown id.",
        "x-mint": {
          "href": "/api-reference/transfers/ach/retrieve",
          "metadata": {
            "sidebarTitle": "Retrieve an ACH transfer"
          },
          "content": "Read [Sending ACH](/docs/v2/money-movement/ach/sending) for setup, examples, and lifecycle guidance."
        },
        "parameters": [
          {
            "name": "transferId",
            "in": "path",
            "required": true,
            "description": "Transfer id with the `transfer_intent_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The ACH transfer.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer-ach"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400TransfersGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/transfers/ach/{transferId}/cancel": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Cancel an ACH transfer",
        "description": "Cancel an ACH transfer before it has been submitted to the payment network. A queued ACH can be canceled while awaiting destination details.",
        "x-mint": {
          "href": "/api-reference/transfers/ach/cancel",
          "metadata": {
            "sidebarTitle": "Cancel an ACH transfer"
          },
          "content": "Read [Queued payments](/docs/v2/money-movement/queued-payments) for the destination-waiting flow and cancellation behavior."
        },
        "parameters": [
          {
            "name": "transferId",
            "in": "path",
            "required": true,
            "description": "Transfer id with the `transfer_intent_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The canceled ACH transfer.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer-ach"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400TransfersCancel"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenTransferIpAllowlistRequiredForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409TransferCancelWindowPassedTransferNotPending"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/transfers/wire": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "List wire transfers",
        "description": "Return domestic wire transfers, newest first, including queued transfers awaiting bank details.",
        "x-mint": {
          "href": "/api-reference/transfers/wire/list",
          "metadata": {
            "sidebarTitle": "List wire transfers"
          },
          "content": "Read [Sending wires](/docs/v2/money-movement/wires/sending) for setup, examples, and lifecycle guidance."
        },
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Field to order the page by. `date` (the transfer's activity date (settlement time once settled, otherwise creation time)) is descending unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["date"],
              "default": "date"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "required": false,
            "description": "Direction of the ordering selected by `sort`. When omitted, each `sort` value uses its own default; see [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["asc", "desc"]
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Return wire transfers in one lifecycle state.",
            "schema": {
              "$ref": "#/components/schemas/slashfi.models.entity.Transfer.WireStatus.yaml"
            }
          },
          {
            "name": "accountId",
            "in": "query",
            "required": false,
            "description": "Return transfers for one accessible Account.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fromAccount",
            "in": "query",
            "required": false,
            "description": "Return transfers from one accessible virtual account.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "destinationId",
            "in": "query",
            "required": false,
            "description": "Return transfers sent to one saved destination.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Inclusive RFC 3339 lower bound on transfer date: the `date` of the transfer's source transaction, which is also the list order.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Inclusive RFC 3339 upper bound on transfer date: the `date` of the transfer's source transaction, which is also the list order.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of domestic wire transfers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer-list-wire"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400TransfersList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      },
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Create a wire transfer",
        "description": "Send USD to a saved US bank account by domestic wire, or queue the transfer against an information request while waiting for the recipient's bank details.",
        "x-mint": {
          "href": "/api-reference/transfers/wire/create",
          "metadata": {
            "sidebarTitle": "Create a wire transfer"
          },
          "content": "<Note>\nRequires a source IP on the legal entity's enabled IP allowlist.\n</Note>\n\nRead [Sending wires](/docs/v2/money-movement/wires/sending) for setup,\nexamples, and lifecycle guidance. To create a payment before the\nrecipient supplies bank details, read\n[Queued payments](/docs/v2/money-movement/queued-payments)."
        },
        "parameters": [
          {
            "name": "X-Idempotency-Key",
            "in": "header",
            "required": true,
            "description": "Unique caller-generated key for one create request. Once an authenticated, schema-valid request reaches the operation, the key is permanently consumed for that operation and legal entity whether the operation succeeds or fails. Reusing it in that scope returns `409` and never replays a response, unlike API v1, which replays the original response for a matching key.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "example": "invoice-1042-attempt-1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/transfer-create-wire"
              },
              "examples": {
                "destination": {
                  "summary": "Send to a saved bank account",
                  "value": {
                    "amount": {
                      "amount": 1250,
                      "currency": "USD"
                    },
                    "fromAccount": "subaccount_source123",
                    "destinationId": "le_contact_destination_bank123",
                    "description": "Invoice 1042"
                  }
                },
                "informationRequest": {
                  "summary": "Queue while awaiting bank details",
                  "value": {
                    "amount": {
                      "amount": 1250,
                      "currency": "USD"
                    },
                    "fromAccount": "subaccount_source123",
                    "informationRequestId": "le_c_info_req_vendor123",
                    "description": "Invoice 1042"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The created wire transfer.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer-wire"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400WireTransfersCreate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403WireTransfersCreate"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404WireTransfersCreate"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409WireTransfersCreate"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/transfers/wire/{transferId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve a wire transfer",
        "description": "Retrieve a domestic wire transfer. An id belonging to another transfer rail returns the same not-found response as an unknown id.",
        "x-mint": {
          "href": "/api-reference/transfers/wire/retrieve",
          "metadata": {
            "sidebarTitle": "Retrieve a wire transfer"
          },
          "content": "Read [Sending wires](/docs/v2/money-movement/wires/sending) for setup, examples, and lifecycle guidance."
        },
        "parameters": [
          {
            "name": "transferId",
            "in": "path",
            "required": true,
            "description": "Transfer id with the `transfer_intent_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The wire transfer.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer-wire"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400TransfersGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/transfers/wire/{transferId}/cancel": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Cancel a wire transfer",
        "description": "Cancel a wire transfer before it has been submitted to the payment network. A queued wire can be canceled while awaiting destination details.",
        "x-mint": {
          "href": "/api-reference/transfers/wire/cancel",
          "metadata": {
            "sidebarTitle": "Cancel a wire transfer"
          },
          "content": "Read [Queued payments](/docs/v2/money-movement/queued-payments) for the destination-waiting flow and cancellation behavior."
        },
        "parameters": [
          {
            "name": "transferId",
            "in": "path",
            "required": true,
            "description": "Transfer id with the `transfer_intent_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The canceled wire.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer-wire"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400TransfersCancel"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenTransferIpAllowlistRequiredForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409TransferCancelWindowPassedTransferNotPending"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/transfers/international-wire": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "List international wire transfers",
        "description": "Return international wire transfers, newest first.",
        "x-mint": {
          "href": "/api-reference/transfers/international-wire/list",
          "metadata": {
            "sidebarTitle": "List international wire transfers"
          },
          "content": "Read [Sending international wires](/docs/v2/money-movement/international-wires/sending) for setup, examples, and lifecycle guidance."
        },
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Field to order the page by. `date` (the transfer's activity date (settlement time once settled, otherwise creation time)) is descending unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["date"],
              "default": "date"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "required": false,
            "description": "Direction of the ordering selected by `sort`. When omitted, each `sort` value uses its own default; see [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["asc", "desc"]
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Return international wire transfers in one lifecycle state.",
            "schema": {
              "$ref": "#/components/schemas/slashfi.models.entity.Transfer.WireStatus.yaml"
            }
          },
          {
            "name": "accountId",
            "in": "query",
            "required": false,
            "description": "Return transfers for one accessible Account.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fromAccount",
            "in": "query",
            "required": false,
            "description": "Return transfers from one accessible virtual account.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "destinationId",
            "in": "query",
            "required": false,
            "description": "Return transfers sent to one saved destination.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Inclusive RFC 3339 lower bound on transfer date: the `date` of the transfer's source transaction, which is also the list order.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Inclusive RFC 3339 upper bound on transfer date: the `date` of the transfer's source transaction, which is also the list order.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of international wire transfers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer-list-international-wire"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400TransfersList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      },
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Create an international wire transfer",
        "description": "Send USD or a supported foreign currency to an international destination. A non-USD amount requires an unexpired FX quote for the exact amount and currency; a USD transfer must omit the quote.",
        "x-mint": {
          "href": "/api-reference/transfers/international-wire/create",
          "metadata": {
            "description": "Send USD or a supported foreign currency to an international destination.",
            "sidebarTitle": "Create an international wire transfer"
          },
          "content": "A non-USD amount requires an unexpired FX quote for the exact amount and currency; a USD transfer must omit the quote.\n\n<Note>\nRequires a source IP on the legal entity's enabled IP allowlist.\n</Note>\n\nRead [Sending international wires](/docs/v2/money-movement/international-wires/sending)\nfor setup, examples, and lifecycle guidance."
        },
        "parameters": [
          {
            "name": "X-Idempotency-Key",
            "in": "header",
            "required": true,
            "description": "Unique caller-generated key for one create request. Once an authenticated, schema-valid request reaches the operation, the key is permanently consumed for that operation and legal entity whether the operation succeeds or fails. Reusing it in that scope returns `409` and never replays a response, unlike API v1, which replays the original response for a matching key.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "example": "invoice-1042-attempt-1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/transfer-create-international-wire"
              },
              "examples": {
                "foreignCurrency": {
                  "summary": "Send a quoted foreign-currency amount",
                  "value": {
                    "amount": {
                      "amount": 10000,
                      "currency": "GBP"
                    },
                    "fromAccount": "subaccount_source123",
                    "destinationId": "le_contact_destination_intl123",
                    "description": "International invoice 1042",
                    "internationalWire": {
                      "fxQuoteId": "fx_rate_quote_123",
                      "purposeCode": "GDDS",
                      "remittanceInfo": "Invoice 1042"
                    }
                  }
                },
                "usd": {
                  "summary": "Send USD internationally",
                  "value": {
                    "amount": {
                      "amount": 10000,
                      "currency": "USD"
                    },
                    "fromAccount": "subaccount_source123",
                    "destinationId": "le_contact_destination_intl123",
                    "description": "International invoice 1042",
                    "internationalWire": {
                      "purposeCode": "GDDS",
                      "remittanceInfo": "Invoice 1042"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The created international wire transfer.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer-international-wire"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InternationalWireTransfersCreate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403InternationalWireTransfersCreate"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404InternationalWireTransfersCreate"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409InternationalWireTransfersCreate"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/transfers/international-wire/{transferId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve an international wire transfer",
        "description": "Retrieve an international wire transfer. An id belonging to another transfer rail returns the same not-found response as an unknown id.",
        "x-mint": {
          "href": "/api-reference/transfers/international-wire/retrieve",
          "metadata": {
            "sidebarTitle": "Retrieve an international wire transfer"
          },
          "content": "Read [Sending international wires](/docs/v2/money-movement/international-wires/sending) for setup, examples, and lifecycle guidance."
        },
        "parameters": [
          {
            "name": "transferId",
            "in": "path",
            "required": true,
            "description": "Transfer id with the `transfer_intent_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The international wire transfer.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer-international-wire"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400TransfersGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/transfers/realtime": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "List realtime transfers",
        "description": "Return RTP and FedNow transfers, newest first, including queued transfers awaiting bank details.",
        "x-mint": {
          "href": "/api-reference/transfers/realtime/list",
          "metadata": {
            "sidebarTitle": "List realtime transfers"
          },
          "content": "Read [Sending realtime payments](/docs/v2/money-movement/realtime/sending) for setup, examples, and lifecycle guidance."
        },
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Field to order the page by. `date` (the transfer's activity date (settlement time once settled, otherwise creation time)) is descending unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["date"],
              "default": "date"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "required": false,
            "description": "Direction of the ordering selected by `sort`. When omitted, each `sort` value uses its own default; see [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["asc", "desc"]
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Return realtime transfers in one lifecycle state.",
            "schema": {
              "$ref": "#/components/schemas/slashfi.models.entity.Transfer.RealtimeStatus.yaml"
            }
          },
          {
            "name": "accountId",
            "in": "query",
            "required": false,
            "description": "Return transfers for one accessible Account.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fromAccount",
            "in": "query",
            "required": false,
            "description": "Return transfers from one accessible virtual account.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "destinationId",
            "in": "query",
            "required": false,
            "description": "Return transfers sent to one saved destination.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Inclusive RFC 3339 lower bound on transfer date: the `date` of the transfer's source transaction, which is also the list order.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Inclusive RFC 3339 upper bound on transfer date: the `date` of the transfer's source transaction, which is also the list order.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of realtime transfers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer-list-realtime"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400TransfersList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      },
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Create a realtime transfer",
        "description": "Send USD to a saved RTP- or FedNow-capable destination, or queue the transfer against an information request while waiting for the recipient's bank details.",
        "x-mint": {
          "href": "/api-reference/transfers/realtime/create",
          "metadata": {
            "sidebarTitle": "Create a realtime transfer"
          },
          "content": "<Note>\nRequires a source IP on the legal entity's enabled IP allowlist.\n</Note>\n\nRead [Sending realtime payments](/docs/v2/money-movement/realtime/sending)\nfor setup, examples, and lifecycle guidance. To create a payment before\nthe recipient supplies bank details, read\n[Queued payments](/docs/v2/money-movement/queued-payments)."
        },
        "parameters": [
          {
            "name": "X-Idempotency-Key",
            "in": "header",
            "required": true,
            "description": "Unique caller-generated key for one create request. Once an authenticated, schema-valid request reaches the operation, the key is permanently consumed for that operation and legal entity whether the operation succeeds or fails. Reusing it in that scope returns `409` and never replays a response, unlike API v1, which replays the original response for a matching key.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "example": "invoice-1042-attempt-1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/transfer-create-realtime"
              },
              "examples": {
                "destination": {
                  "summary": "Send to a saved bank account",
                  "value": {
                    "amount": {
                      "amount": 1250,
                      "currency": "USD"
                    },
                    "fromAccount": "subaccount_source123",
                    "destinationId": "le_contact_destination_bank123",
                    "description": "Invoice 1042",
                    "realtime": {
                      "remittanceInfo": "Invoice 1042"
                    }
                  }
                },
                "informationRequest": {
                  "summary": "Queue while awaiting bank details",
                  "value": {
                    "amount": {
                      "amount": 1250,
                      "currency": "USD"
                    },
                    "fromAccount": "subaccount_source123",
                    "informationRequestId": "le_c_info_req_vendor123",
                    "description": "Invoice 1042",
                    "realtime": {
                      "remittanceInfo": "Invoice 1042"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The created realtime transfer.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer-realtime"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400RealtimeTransfersCreate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403RealtimeTransfersCreate"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404RealtimeTransfersCreate"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409RealtimeTransfersCreate"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/transfers/realtime/{transferId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve a realtime transfer",
        "description": "Retrieve an RTP or FedNow transfer. An id belonging to another transfer rail returns the same not-found response as an unknown id.",
        "x-mint": {
          "href": "/api-reference/transfers/realtime/retrieve",
          "metadata": {
            "sidebarTitle": "Retrieve a realtime transfer"
          },
          "content": "Read [Sending realtime payments](/docs/v2/money-movement/realtime/sending) for setup, examples, and lifecycle guidance."
        },
        "parameters": [
          {
            "name": "transferId",
            "in": "path",
            "required": true,
            "description": "Transfer id with the `transfer_intent_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The realtime transfer.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer-realtime"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400TransfersGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/transfers/realtime/{transferId}/cancel": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Cancel a realtime transfer",
        "description": "Cancel a realtime transfer before it has been submitted to the payment network. A queued realtime transfer can be canceled while awaiting destination details.",
        "x-mint": {
          "href": "/api-reference/transfers/realtime/cancel",
          "metadata": {
            "sidebarTitle": "Cancel a realtime transfer"
          },
          "content": "Read [Queued payments](/docs/v2/money-movement/queued-payments) for the destination-waiting flow and cancellation behavior."
        },
        "parameters": [
          {
            "name": "transferId",
            "in": "path",
            "required": true,
            "description": "Transfer id with the `transfer_intent_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The canceled realtime transfer.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer-realtime"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400TransfersCancel"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenTransferIpAllowlistRequiredForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409TransferCancelWindowPassedTransferNotPending"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/transfers/book": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "List book transfers",
        "description": "Return transfers between Slash balances, newest first.",
        "x-mint": {
          "href": "/api-reference/transfers/book/list",
          "metadata": {
            "sidebarTitle": "List book transfers"
          },
          "content": "Read [Sending book transfers](/docs/v2/money-movement/book/sending) for setup, examples, and reconciliation guidance."
        },
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Field to order the page by. `date` (the transfer's activity date (settlement time once settled, otherwise creation time)) is descending unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["date"],
              "default": "date"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "required": false,
            "description": "Direction of the ordering selected by `sort`. When omitted, each `sort` value uses its own default; see [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["asc", "desc"]
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Return book transfers in one lifecycle state.",
            "schema": {
              "$ref": "#/components/schemas/slashfi.models.entity.Transfer.BookStatus.yaml"
            }
          },
          {
            "name": "accountId",
            "in": "query",
            "required": false,
            "description": "Return transfers for one accessible Account.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fromAccount",
            "in": "query",
            "required": false,
            "description": "Return transfers from one accessible virtual account.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Inclusive RFC 3339 lower bound on transfer date: the `date` of the transfer's source transaction, which is also the list order.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Inclusive RFC 3339 upper bound on transfer date: the `date` of the transfer's source transaction, which is also the list order.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of book transfers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer-list-book"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400TransfersList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      },
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Create a book transfer",
        "description": "Move USD between virtual accounts in the same Account.",
        "x-mint": {
          "href": "/api-reference/transfers/book/create",
          "metadata": {
            "sidebarTitle": "Create a book transfer"
          },
          "content": "<Note>\nRequires a source IP on the legal entity's enabled IP allowlist.\n</Note>\n\nRead [Sending book transfers](/docs/v2/money-movement/book/sending) for\nsetup, examples, and reconciliation guidance."
        },
        "parameters": [
          {
            "name": "X-Idempotency-Key",
            "in": "header",
            "required": true,
            "description": "Unique caller-generated key for one create request. Once an authenticated, schema-valid request reaches the operation, the key is permanently consumed for that operation and legal entity whether the operation succeeds or fails. Reusing it in that scope returns `409` and never replays a response, unlike API v1, which replays the original response for a matching key.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "example": "invoice-1042-attempt-1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/transfer-create-book"
              },
              "example": {
                "amount": {
                  "amount": 1250,
                  "currency": "USD"
                },
                "fromAccount": "subaccount_source123",
                "toAccount": "subaccount_destination123",
                "description": "Move funds to payroll"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The created book transfer.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer-book"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400BookTransfersCreate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403BookTransfersCreate"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404BookTransfersCreate"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409InsufficientFundsConflictIdempotencyKeyReused"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/transfers/book/{transferId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve a book transfer",
        "description": "Retrieve a book transfer. An id belonging to another transfer rail returns the same not-found response as an unknown id.",
        "x-mint": {
          "href": "/api-reference/transfers/book/retrieve",
          "metadata": {
            "sidebarTitle": "Retrieve a book transfer"
          },
          "content": "Read [Sending book transfers](/docs/v2/money-movement/book/sending) for setup, examples, and reconciliation guidance."
        },
        "parameters": [
          {
            "name": "transferId",
            "in": "path",
            "required": true,
            "description": "Transfer id with the `transfer_intent_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The book transfer.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer-book"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400TransfersGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/transfers/international-wire/fx-quotes": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Create an FX quote",
        "description": "Quote the USD debit for an exact foreign-currency amount. Pass the same amount and returned quote id when creating the international wire. USD international wires do not use FX quotes.",
        "x-mint": {
          "href": "/api-reference/transfers/international-wire/fx-quotes/create",
          "metadata": {
            "description": "Quote the USD debit for an exact foreign-currency amount.",
            "sidebarTitle": "Create an FX quote"
          },
          "content": "Pass the same amount and returned quote id when creating the international wire. USD international wires do not use FX quotes.\n\nRead [FX quotes](/docs/v2/money-movement/international-wires/fx-quotes) for the complete quote and transfer flow."
        },
        "parameters": [
          {
            "name": "X-Idempotency-Key",
            "in": "header",
            "required": true,
            "description": "Unique caller-generated key for one create request. Once an authenticated, schema-valid request reaches the operation, the key is permanently consumed for that operation and legal entity whether the operation succeeds or fails. Reusing it in that scope returns `409` and never replays a response, unlike API v1, which replays the original response for a matching key.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "example": "invoice-1042-attempt-1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/fx-quote-create"
              },
              "example": {
                "fromAccount": "subaccount_operating",
                "amount": {
                  "amount": 10000,
                  "currency": "GBP"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The created FX quote.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/fx-quote"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400FxQuotesCreate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403FxQuotesCreate"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404FxQuotesCreate"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409ConflictIdempotencyKeyReused"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/transfers/international-wire/fx-quotes/{fxQuoteId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve an FX quote",
        "description": "Retrieve the current status and pricing of an FX quote.",
        "x-mint": {
          "href": "/api-reference/transfers/international-wire/fx-quotes/retrieve",
          "metadata": {
            "sidebarTitle": "Retrieve an FX quote"
          },
          "content": "Read [FX quotes](/docs/v2/money-movement/international-wires/fx-quotes) for the complete quote and transfer flow."
        },
        "parameters": [
          {
            "name": "fxQuoteId",
            "in": "path",
            "required": true,
            "description": "FX quote id with the `fx_rate_quote_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The FX quote.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/fx-quote"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400FxQuotesGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/transfers/{transferId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve a transfer",
        "description": "Retrieve the latest state of one accessible transfer.",
        "x-mint": {
          "href": "/api-reference/transfers/retrieve",
          "metadata": {
            "sidebarTitle": "Retrieve a transfer"
          },
          "content": "Read [Transfers and transactions](/docs/v2/concepts/transfers-and-transactions) to understand the unified transfer model and its transaction legs."
        },
        "parameters": [
          {
            "name": "transferId",
            "in": "path",
            "required": true,
            "description": "Transfer id with the `transfer_intent_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The transfer.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400TransfersGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/transactions": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "List transactions",
        "description": "Returns the newest-first transaction feed for the selected legal entity.\n\nEvery transaction category appears in this feed. Use `category` to narrow\nto one category. Card-specific filters live on `GET /v2/transactions/card`.\n",
        "x-mint": {
          "href": "/api-reference/transactions/list",
          "content": "Every transaction category appears in this feed. Use `category` to narrow\nto one category. Card-specific filters live on `GET /v2/transactions/card`.\n\nRead [Transfers and transactions](/docs/v2/concepts/transfers-and-transactions) to understand how transfer instructions relate to account impacts.",
          "metadata": {
            "description": "Returns the newest-first transaction feed for the selected legal entity."
          }
        },
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Field to order the page by. `date` (the transaction's `date` (the posting date, or the creation date while pending or failed)) is descending unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["date"],
              "default": "date"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "required": false,
            "description": "Direction of the ordering selected by `sort`. When omitted, each `sort` value uses its own default; see [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["asc", "desc"]
            }
          },
          {
            "name": "accountId",
            "in": "query",
            "required": false,
            "description": "Return activity for one accessible Account.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "virtualAccountId",
            "in": "query",
            "required": false,
            "description": "Return transactions associated with one accessible virtual account. Transactions without a virtual-account association do not match.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category",
            "in": "query",
            "required": false,
            "description": "Return transactions in one category.",
            "schema": {
              "$ref": "#/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.CategoryFilter.yaml"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Return transactions with this broad accounting status.",
            "schema": {
              "$ref": "#/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.Status.yaml"
            }
          },
          {
            "name": "detailedStatus",
            "in": "query",
            "required": false,
            "description": "Return transactions in this exact lifecycle state. Must apply to the selected `category` when one is given.",
            "schema": {
              "$ref": "#/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.DetailedStatus.yaml"
            }
          },
          {
            "name": "transferId",
            "in": "query",
            "required": false,
            "description": "Return the transactions produced by one transfer. Uses the `transfer_intent_` prefix.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Inclusive RFC 3339 lower bound on transaction date.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Inclusive RFC 3339 upper bound on transaction date.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "includeSummary",
            "in": "query",
            "required": false,
            "description": "Include totals across the complete filtered result, not only this page.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of transactions. Every item has the same core fields and identifies its category. Payment- or network-specific information appears under `details`.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/transaction"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    },
                    "summary": {
                      "$ref": "#/components/schemas/transaction-summary"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                },
                "examples": {
                  "mixed_feed": {
                    "summary": "Global feed with card and book activity",
                    "value": {
                      "items": [
                        {
                          "id": "agg_tx_card123",
                          "date": "2026-08-18T01:00:00.000Z",
                          "description": "ACME SUPPLY",
                          "amountCents": -4250,
                          "status": "posted",
                          "detailedStatus": "settled",
                          "accountId": "sa_group_primary123",
                          "virtualAccountId": "subaccount_operations123",
                          "accountSubtype": "cash",
                          "category": "card",
                          "details": {
                            "cardId": "c_operations123",
                            "merchant": {
                              "description": "ACME SUPPLY",
                              "categoryCode": "5045",
                              "location": {
                                "city": "San Francisco",
                                "state": "CA",
                                "country": "US",
                                "zip": "94105"
                              }
                            },
                            "authorizedAt": "2026-08-17T22:52:43.399Z",
                            "providerAuthorizationId": "auth_123"
                          }
                        },
                        {
                          "id": "agg_tx_book123",
                          "date": "2026-08-17T20:00:00.000Z",
                          "description": "Operations to payroll",
                          "memo": "August payroll",
                          "amountCents": -250000,
                          "status": "posted",
                          "detailedStatus": "settled",
                          "accountId": "sa_group_primary123",
                          "virtualAccountId": "subaccount_operations123",
                          "accountSubtype": "cash",
                          "category": "book",
                          "transferId": "transfer_intent_book123"
                        }
                      ],
                      "metadata": {
                        "count": 2
                      }
                    }
                  },
                  "transfer_feed_with_summary": {
                    "summary": "ACH feed with full-result totals",
                    "value": {
                      "items": [
                        {
                          "id": "agg_tx_ach123",
                          "date": "2026-08-17T18:30:00.000Z",
                          "description": "Vendor payment",
                          "memo": "VENDOR PAY",
                          "amountCents": -1250,
                          "status": "pending",
                          "detailedStatus": "pending",
                          "accountId": "sa_group_primary123",
                          "virtualAccountId": "subaccount_operations123",
                          "accountSubtype": "cash",
                          "category": "ach",
                          "transferId": "transfer_intent_ach123",
                          "details": {
                            "counterpartyBank": "Example Bank",
                            "receiverId": "vendor-1042",
                            "companyId": "1234567890",
                            "companyDiscretionaryData": "",
                            "companyEntryDescription": "VENDOR PAY",
                            "traceNumber": "091000019876543",
                            "entryClassCode": "CCD",
                            "paymentRelatedInfo": "Invoice 1042"
                          }
                        }
                      ],
                      "metadata": {
                        "count": 1
                      },
                      "summary": {
                        "count": 482,
                        "totalInCents": 125000,
                        "totalOutCents": -94000,
                        "netChangeCents": 31000
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400TransactionsList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/transactions/{transactionId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve a transaction",
        "description": "Retrieve the latest state of one accessible transaction. Use the `agg_tx_` id returned by transfer creation or transaction listing.",
        "x-mint": {
          "href": "/api-reference/transactions/retrieve",
          "content": "Read [Transfers and transactions](/docs/v2/concepts/transfers-and-transactions) to understand how transfer instructions relate to account impacts."
        },
        "parameters": [
          {
            "name": "transactionId",
            "in": "path",
            "required": true,
            "description": "Transaction id with the `agg_tx_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The transaction.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transaction"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400TransactionsGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      },
      "patch": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Update a transaction",
        "description": "Update the user-editable note on one accessible transaction.",
        "x-mint": {
          "href": "/api-reference/transactions/update",
          "content": "Read [Transfers and transactions](/docs/v2/concepts/transfers-and-transactions) to understand how transfer instructions relate to account impacts."
        },
        "parameters": [
          {
            "name": "transactionId",
            "in": "path",
            "required": true,
            "description": "Transaction id with the `agg_tx_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "note": {
                    "type": "string",
                    "maxLength": 500,
                    "nullable": true,
                    "description": "Free-text note stored on the transaction. Send `null` or an empty string to clear it."
                  }
                },
                "required": ["note"],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated transaction.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transaction"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400TransactionsUpdate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/transactions/card": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "List card transactions",
        "description": "Returns the newest-first card transaction feed for the selected legal\nentity. Only card activity is returned; use the card-specific filters to\nnarrow by card, card group, processor authorization, or authorization time.\n",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Field to order the page by. Each value has its own default direction, used unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).\n\n- `date` (default) — the transaction's `date` (the posting date, or the creation date while pending or failed); descending\n- `authorizedAt` — the card authorization time; descending",
            "schema": {
              "type": "string",
              "enum": ["date", "authorizedAt"],
              "default": "date"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "required": false,
            "description": "Direction of the ordering selected by `sort`. When omitted, each `sort` value uses its own default; see [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["asc", "desc"]
            }
          },
          {
            "name": "accountId",
            "in": "query",
            "required": false,
            "description": "Return activity for one accessible Account.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "virtualAccountId",
            "in": "query",
            "required": false,
            "description": "Return card transactions associated with one accessible virtual account. Transactions without a virtual-account association do not match.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Return card transactions with this broad accounting status.",
            "schema": {
              "$ref": "#/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.Status.yaml"
            }
          },
          {
            "name": "detailedStatus",
            "in": "query",
            "required": false,
            "description": "Return card transactions in this exact lifecycle state.",
            "schema": {
              "$ref": "#/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.CardDetailedStatus.yaml"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Inclusive RFC 3339 lower bound on transaction date.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Inclusive RFC 3339 upper bound on transaction date.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "cardId",
            "in": "query",
            "required": false,
            "description": "Return transactions for one card.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cardGroupId",
            "in": "query",
            "required": false,
            "description": "Return transactions for cards in one card group.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "providerAuthorizationId",
            "in": "query",
            "required": false,
            "description": "Return the transaction with this processor authorization id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "authorizedFrom",
            "in": "query",
            "required": false,
            "description": "Inclusive RFC 3339 lower bound on authorization time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "authorizedTo",
            "in": "query",
            "required": false,
            "description": "Inclusive RFC 3339 upper bound on authorization time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "includeSummary",
            "in": "query",
            "required": false,
            "description": "Include totals across the complete filtered result, not only this page.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of card transactions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/transaction-card"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    },
                    "summary": {
                      "$ref": "#/components/schemas/transaction-summary"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                },
                "example": {
                  "items": [
                    {
                      "id": "agg_tx_card123",
                      "date": "2026-08-18T01:00:00.000Z",
                      "description": "ACME SUPPLY",
                      "amountCents": -4250,
                      "status": "posted",
                      "detailedStatus": "settled",
                      "accountId": "sa_group_primary123",
                      "virtualAccountId": "subaccount_operations123",
                      "accountSubtype": "cash",
                      "category": "card",
                      "details": {
                        "cardId": "c_operations123",
                        "merchant": {
                          "description": "ACME SUPPLY",
                          "categoryCode": "5045",
                          "location": {
                            "city": "San Francisco",
                            "state": "CA",
                            "country": "US",
                            "zip": "94105"
                          }
                        },
                        "authorizedAt": "2026-08-17T22:52:43.399Z",
                        "providerAuthorizationId": "auth_123"
                      }
                    }
                  ],
                  "metadata": {
                    "count": 1
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400TransactionsCardList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "x-mint": {
          "metadata": {
            "description": "Returns the newest-first card transaction feed for the selected legal entity."
          },
          "content": "Only card activity is returned; use the card-specific filters to\nnarrow by card, card group, processor authorization, or authorization time."
        }
      }
    },
    "/v2/transactions/card/{transactionId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve a card transaction",
        "description": "Retrieve the latest state of one accessible card transaction.",
        "parameters": [
          {
            "name": "transactionId",
            "in": "path",
            "required": true,
            "description": "Transaction id with the `agg_tx_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The card transaction.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transaction-card"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400TransactionsCardGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/virtual-accounts": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "List virtual accounts",
        "description": "List accessible balance-bearing virtual accounts for the selected legal entity across all of its Accounts. Use `accountId` to select one Account. Virtual accounts in eligible bank Accounts can be used as `fromAccount` or `toAccount`; Global USD virtual accounts are read-only on API v2 transfer endpoints.",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Field to order the page by. `createdAt` is descending unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["createdAt"],
              "default": "createdAt"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "required": false,
            "description": "Direction of the ordering selected by `sort`. When omitted, each `sort` value uses its own default; see [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["asc", "desc"]
            }
          },
          {
            "name": "accountId",
            "in": "query",
            "required": false,
            "description": "Return virtual accounts in one accessible Account.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeClosed",
            "in": "query",
            "required": false,
            "description": "Include closed virtual accounts. Defaults to false.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of virtual accounts.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/virtual-account"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                },
                "example": {
                  "items": [
                    {
                      "id": "subaccount_operating",
                      "name": "Operating",
                      "accountId": "sa_group_primary",
                      "accountType": "primary",
                      "status": "open",
                      "balance": {
                        "amount": 250000,
                        "currency": "USD"
                      }
                    }
                  ],
                  "metadata": {
                    "count": 1
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400VirtualAccountsList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "x-mint": {
          "metadata": {
            "description": "List accessible balance-bearing virtual accounts for the selected legal entity across all of its Accounts."
          },
          "content": "Use `accountId` to select one Account. Virtual accounts in eligible bank Accounts can be used as `fromAccount` or `toAccount`; Global USD virtual accounts are read-only on API v2 transfer endpoints."
        }
      },
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Create a virtual account",
        "description": "Create a new balance-bearing virtual account inside an accessible non-Global USD bank Account. Global USD Accounts are not eligible. The parent Account must be provided because a legal entity can have more than one. The virtual account starts with a zero balance. Use its id as `fromAccount` or `toAccount` in a per-rail transfer create endpoint.",
        "parameters": [
          {
            "name": "X-Idempotency-Key",
            "in": "header",
            "required": true,
            "description": "Unique caller-generated key for one create request. Once an authenticated, schema-valid request reaches the operation, the key is permanently consumed for that operation and legal entity whether the operation succeeds or fails. Reusing it in that scope returns `409` and never replays a response, unlike API v1, which replays the original response for a matching key.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "example": "invoice-1042-attempt-1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/virtual-account-create"
              },
              "example": {
                "accountId": "sa_group_primary123",
                "name": "Payroll",
                "commission": {
                  "type": "take_rate",
                  "rate": 0.1
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The created virtual account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/virtual-account"
                },
                "example": {
                  "id": "subaccount_payroll123",
                  "name": "Payroll",
                  "accountId": "sa_group_primary123",
                  "accountType": "default",
                  "status": "open",
                  "balance": {
                    "amount": 0,
                    "currency": "USD"
                  },
                  "commission": {
                    "id": "subaccount_commission_rule_payroll123",
                    "type": "take_rate",
                    "rate": 0.1
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400VirtualAccountsCreate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403VirtualAccountsCreate"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404VirtualAccountsCreate"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409ConflictIdempotencyKeyReused"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "x-mint": {
          "metadata": {
            "description": "Create a new balance-bearing virtual account inside an accessible non-Global USD bank Account."
          },
          "content": "Global USD Accounts are not eligible. The parent Account must be provided because a legal entity can have more than one. The virtual account starts with a zero balance. Use its id as `fromAccount` or `toAccount` in a per-rail transfer create endpoint."
        }
      }
    },
    "/v2/virtual-accounts/{virtualAccountId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve a virtual account",
        "description": "Retrieve one accessible virtual account and its current balance.",
        "parameters": [
          {
            "name": "virtualAccountId",
            "in": "path",
            "required": true,
            "description": "Virtual account id with the `subaccount_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The virtual account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/virtual-account"
                },
                "example": {
                  "id": "subaccount_operating",
                  "name": "Operating",
                  "accountId": "sa_group_primary",
                  "accountType": "primary",
                  "status": "open",
                  "balance": {
                    "amount": 250000,
                    "currency": "USD"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400VirtualAccountsGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      },
      "patch": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Update a virtual account",
        "description": "Rename an accessible virtual account or replace its commission. Omitted fields are left as they are. The primary virtual account of an Account and closed virtual accounts cannot be updated.",
        "parameters": [
          {
            "name": "virtualAccountId",
            "in": "path",
            "required": true,
            "description": "Virtual account id with the `subaccount_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/virtual-account-update"
              },
              "example": {
                "name": "Payroll (2026)",
                "commission": {
                  "type": "take_rate",
                  "rate": 0.05
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated virtual account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/virtual-account"
                },
                "example": {
                  "id": "subaccount_payroll123",
                  "name": "Payroll (2026)",
                  "accountId": "sa_group_primary123",
                  "accountType": "default",
                  "status": "open",
                  "balance": {
                    "amount": 125000,
                    "currency": "USD"
                  },
                  "commission": {
                    "id": "subaccount_commission_rule_payroll123",
                    "type": "take_rate",
                    "rate": 0.05
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400VirtualAccountsUpdate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409PrimaryVirtualAccountVirtualAccountClosed"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "x-mint": {
          "metadata": {
            "description": "Rename an accessible virtual account or replace its commission."
          },
          "content": "Omitted fields are left as they are. The primary virtual account of an Account and closed virtual accounts cannot be updated."
        }
      }
    },
    "/v2/virtual-accounts/{virtualAccountId}/close": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Close a virtual account",
        "description": "Close an accessible virtual account. Pending transfers from it are canceled, cards attached to it are closed, and its remaining balance is moved to the Account's primary virtual account shortly after the response, so the returned `balance` may still be non-zero. Inbound transfers addressed to a closed virtual account are returned. The primary virtual account cannot be closed, and closing cannot be reversed.",
        "parameters": [
          {
            "name": "virtualAccountId",
            "in": "path",
            "required": true,
            "description": "Virtual account id with the `subaccount_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The closed virtual account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/virtual-account"
                },
                "example": {
                  "id": "subaccount_payroll123",
                  "name": "Payroll",
                  "accountId": "sa_group_primary123",
                  "accountType": "default",
                  "status": "closed",
                  "balance": {
                    "amount": 125000,
                    "currency": "USD"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400VirtualAccountsClose"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409PrimaryVirtualAccountVirtualAccountClosed"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "x-mint": {
          "metadata": {
            "description": "Close an accessible virtual account."
          },
          "content": "Pending transfers from it are canceled, cards attached to it are closed, and its remaining balance is moved to the Account's primary virtual account shortly after the response, so the returned `balance` may still be non-zero. Inbound transfers addressed to a closed virtual account are returned. The primary virtual account cannot be closed, and closing cannot be reversed."
        }
      }
    },
    "/v2/recipients": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "List recipients",
        "description": "List the selected legal entity's recipients, the people and businesses it pays.",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Field to order the page by. Each value has its own default direction, used unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).\n\n- `createdAt` (default) — descending\n- `name` — ascending\n- `lastPaidAt` — the most recent payment to the recipient, with recipients that have never been paid last; descending",
            "schema": {
              "type": "string",
              "enum": ["createdAt", "name", "lastPaidAt"],
              "default": "createdAt"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "required": false,
            "description": "Direction of the ordering selected by `sort`. When omitted, each `sort` value uses its own default; see [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["asc", "desc"]
            }
          },
          {
            "name": "recipientType",
            "in": "query",
            "required": false,
            "description": "Return only people (`contact`) or only businesses (`vendor`).",
            "schema": {
              "type": "string",
              "enum": ["contact", "vendor"]
            }
          },
          {
            "name": "includeArchived",
            "in": "query",
            "required": false,
            "description": "Include archived recipients. Defaults to false.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of recipients.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/recipient"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400RecipientsList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      },
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Create a recipient",
        "description": "Create a person or business to pay. Add destinations to it to send them money.",
        "parameters": [
          {
            "name": "X-Idempotency-Key",
            "in": "header",
            "required": true,
            "description": "Unique caller-generated key for one create request. Once an authenticated, schema-valid request reaches the operation, the key is permanently consumed for that operation and legal entity whether the operation succeeds or fails. Reusing it in that scope returns `409` and never replays a response, unlike API v1, which replays the original response for a matching key.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "example": "invoice-1042-attempt-1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/recipient-create"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The created recipient.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/recipient"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400RecipientsCreate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409ConflictIdempotencyKeyReused"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/recipients/{recipientId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve a recipient",
        "description": "Retrieve one recipient.",
        "parameters": [
          {
            "name": "recipientId",
            "in": "path",
            "required": true,
            "description": "Recipient id.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The recipient.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/recipient"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400RecipientsGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/recipients/{recipientId}/archive": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Archive a recipient",
        "description": "Archive a recipient and hide it and its destinations from default list results.",
        "x-mint": {
          "href": "/api-reference/recipients/archive",
          "metadata": {
            "sidebarTitle": "Archive a recipient"
          },
          "content": "Archiving cancels the recipient's pending information request.\n\n<Warning>\nAny scheduled payments that still target the recipient's destinations\nare canceled. Canceled scheduled payments are not restored if the\nrecipient is later unarchived.\n</Warning>"
        },
        "parameters": [
          {
            "name": "recipientId",
            "in": "path",
            "required": true,
            "description": "Recipient id.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The archived recipient.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/recipient"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400RecipientsArchive"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/recipients/{recipientId}/tax-details": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve recipient tax details",
        "description": "Retrieve the tax details on file for one recipient.",
        "x-mint": {
          "href": "/api-reference/recipients/tax-details",
          "metadata": {
            "sidebarTitle": "Retrieve tax details"
          },
          "content": "A recipient's tax details are filled in when the recipient submits an\n[information request](/api-reference/request-payment-details) that asked\nfor `tax`, or when someone enters them in the Slash dashboard.\n`informationRequestId` tells the two apart.\n\nEach submission or edit replaces the previous details; this endpoint\nalways returns the current ones."
        },
        "parameters": [
          {
            "name": "recipientId",
            "in": "path",
            "required": true,
            "description": "Recipient id.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The recipient's current tax details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/recipient-tax-details"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400RecipientsTaxDetailsGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFoundTaxDetailsNotOnFile"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/contacts": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "deprecated": true,
        "x-hidden": true,
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "List contacts",
        "description": "Deprecated; use `GET /v2/recipients`.",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Field to order the page by. Each value has its own default direction, used unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).\n\n- `createdAt` (default) — descending\n- `name` — ascending\n- `lastPaidAt` — the most recent payment to the recipient, with recipients that have never been paid last; descending",
            "schema": {
              "type": "string",
              "enum": ["createdAt", "name", "lastPaidAt"],
              "default": "createdAt"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "required": false,
            "description": "Direction of the ordering selected by `sort`. When omitted, each `sort` value uses its own default; see [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["asc", "desc"]
            }
          },
          {
            "name": "recipientType",
            "in": "query",
            "required": false,
            "description": "Return only people or only vendors.",
            "schema": {
              "type": "string",
              "enum": ["contact", "vendor"]
            }
          },
          {
            "name": "includeArchived",
            "in": "query",
            "required": false,
            "description": "Include archived contacts. Defaults to false.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of contacts.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/recipient"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400RecipientsList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      },
      "post": {
        "deprecated": true,
        "x-hidden": true,
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Create a contact",
        "description": "Deprecated; use `POST /v2/recipients`.",
        "parameters": [
          {
            "name": "X-Idempotency-Key",
            "in": "header",
            "required": true,
            "description": "Unique caller-generated key for one create request. Once an authenticated, schema-valid request reaches the operation, the key is permanently consumed for that operation and legal entity whether the operation succeeds or fails. Reusing it in that scope returns `409` and never replays a response, unlike API v1, which replays the original response for a matching key.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "example": "invoice-1042-attempt-1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/contact-create"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The created contact.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/recipient"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400RecipientsCreate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409ConflictIdempotencyKeyReused"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/contacts/{contactId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "deprecated": true,
        "x-hidden": true,
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve a contact",
        "description": "Deprecated; use `GET /v2/recipients/{recipientId}`.",
        "parameters": [
          {
            "name": "contactId",
            "in": "path",
            "required": true,
            "description": "Contact id with the `le_c_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The contact.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/recipient"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400RecipientsGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/contacts/{contactId}/archive": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "post": {
        "deprecated": true,
        "x-hidden": true,
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Archive a contact",
        "description": "Deprecated; use `POST /v2/recipients/{recipientId}/archive`.",
        "parameters": [
          {
            "name": "contactId",
            "in": "path",
            "required": true,
            "description": "Contact id with the `le_c_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The archived contact.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/recipient"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400RecipientsArchive"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/contacts/{contactId}/tax-details": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "deprecated": true,
        "x-hidden": true,
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve contact tax details",
        "description": "Deprecated; use `GET /v2/recipients/{recipientId}/tax-details`.",
        "parameters": [
          {
            "name": "contactId",
            "in": "path",
            "required": true,
            "description": "Contact id with the `le_c_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The contact's current tax details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/recipient-tax-details"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400RecipientsTaxDetailsGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFoundTaxDetailsNotOnFile"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/information-requests": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "List information requests",
        "description": "List information requests belonging to recipients for the selected legal entity, newest first.",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Field to order the page by. `createdAt` is descending unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["createdAt"],
              "default": "createdAt"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "required": false,
            "description": "Direction of the ordering selected by `sort`. When omitted, each `sort` value uses its own default; see [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["asc", "desc"]
            }
          },
          {
            "name": "recipientId",
            "in": "query",
            "required": false,
            "description": "Return only requests for this recipient.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Return requests in one lifecycle state.",
            "schema": {
              "type": "string",
              "enum": ["pending", "submitted", "canceled"]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of information requests.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/information-request-list"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InformationRequestsList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      },
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Request recipient details",
        "description": "Email an existing recipient a secure form asking for any combination of payment destination details, an address, and tax details. Submitted destinations appear in `GET /v2/destinations`, the address replaces the recipient's `address`, and tax details are returned by `GET /v2/recipients/{recipientId}/tax-details`. A recipient can have at most one pending information request. Use an information request that accepts `bank_account` to create queued ACH, realtime or wire transfers while awaiting the recipient's bank details.",
        "x-mint": {
          "href": "/api-reference/request-payment-details",
          "metadata": {
            "description": "Email an existing recipient a secure form asking for any combination of payment destination details, an address, and tax details.",
            "sidebarTitle": "Request recipient details"
          },
          "content": "Submitted destinations appear in `GET /v2/destinations`, the address replaces the recipient's `address`, and tax details are returned by `GET /v2/recipients/{recipientId}/tax-details`. A recipient can have at most one pending information request. Use an information request that accepts `bank_account` to create queued ACH, realtime or wire transfers while awaiting the recipient's bank details."
        },
        "parameters": [
          {
            "name": "X-Idempotency-Key",
            "in": "header",
            "required": true,
            "description": "Unique caller-generated key for one create request. Once an authenticated, schema-valid request reaches the operation, the key is permanently consumed for that operation and legal entity whether the operation succeeds or fails. Reusing it in that scope returns `409` and never replays a response, unlike API v1, which replays the original response for a matching key.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "example": "invoice-1042-attempt-1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/information-request-create"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Information request created and sent.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/information-request"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InformationRequestsCreate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403InformationRequestsCreate"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404InformationRequestsCreate"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409InformationRequestsCreate"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/information-requests/{informationRequestId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve an information request",
        "description": "Retrieve the current state of an information request sent to a recipient. `submitted` means the recipient has submitted the secure form at least once.",
        "parameters": [
          {
            "name": "informationRequestId",
            "in": "path",
            "required": true,
            "description": "Information request id with the `le_c_info_req_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The information request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/information-request"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InformationRequestsGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/information-requests/{informationRequestId}/cancel": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Cancel an information request",
        "description": "Cancel a pending information request and notify the recipient. Canceling the request also cancels its unclaimed queued transfers.",
        "parameters": [
          {
            "name": "informationRequestId",
            "in": "path",
            "required": true,
            "description": "Information request id with the `le_c_info_req_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The canceled information request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/information-request"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InformationRequestsCancel"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409InformationRequestNotPending"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/destinations": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "List destinations",
        "description": "List saved bank destinations for the selected legal entity. The `supportedTransferTypes` field tells clients which transfer requests can use each destination.",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Field to order the page by. Each value has its own default direction, used unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).\n\n- `lastPaidAt` (default) — the most recent payment to the destination, with destinations that have never been paid ordered by creation time after them; descending\n- `createdAt` — descending",
            "schema": {
              "type": "string",
              "enum": ["lastPaidAt", "createdAt"],
              "default": "lastPaidAt"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "required": false,
            "description": "Direction of the ordering selected by `sort`. When omitted, each `sort` value uses its own default; see [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["asc", "desc"]
            }
          },
          {
            "name": "recipientId",
            "in": "query",
            "required": false,
            "description": "Return only destinations for this recipient.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "Return one destination type.",
            "schema": {
              "type": "string",
              "enum": ["bank_account", "international_wire"]
            }
          },
          {
            "name": "includeArchived",
            "in": "query",
            "required": false,
            "description": "Include archived destinations. Defaults to false.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of destinations.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/destination"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400DestinationsList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      },
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Create a destination",
        "description": "Save bank instructions on a recipient. Use the returned destination id in the matching per-rail transfer create endpoint.",
        "parameters": [
          {
            "name": "X-Idempotency-Key",
            "in": "header",
            "required": true,
            "description": "Unique caller-generated key for one create request. Once an authenticated, schema-valid request reaches the operation, the key is permanently consumed for that operation and legal entity whether the operation succeeds or fails. Reusing it in that scope returns `409` and never replays a response, unlike API v1, which replays the original response for a matching key.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "example": "invoice-1042-attempt-1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/destination-create"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The created destination.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/destination"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400DestinationsCreate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403DestinationsCreate"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404DestinationsCreate"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409ConflictIdempotencyKeyReused"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/destinations/{destinationId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve a destination",
        "description": "Retrieve saved bank instructions and supported transfer types.",
        "parameters": [
          {
            "name": "destinationId",
            "in": "path",
            "required": true,
            "description": "Destination id with the `le_contact_destination_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The destination.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/destination"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400DestinationsGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/destinations/{destinationId}/archive": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Archive a destination",
        "description": "Archive a destination and hide it from default list results.",
        "x-mint": {
          "href": "/api-reference/destinations/archive",
          "metadata": {
            "sidebarTitle": "Archive a destination"
          },
          "content": "<Warning>\nAny scheduled payments that still target the destination are canceled.\nCanceled scheduled payments cannot be restored.\n</Warning>"
        },
        "parameters": [
          {
            "name": "destinationId",
            "in": "path",
            "required": true,
            "description": "Destination id with the `le_contact_destination_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The archived destination.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/destination"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400DestinationsArchive"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/documents": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "post": {
        "summary": "Upload a document",
        "x-mint": {
          "href": "/api-reference/documents/upload",
          "metadata": {
            "sidebarTitle": "Upload a document"
          }
        },
        "description": "Upload a PDF, PNG or JPEG of up to 25 MB as `multipart/form-data`.",
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "purpose": {
                    "type": "string",
                    "enum": [
                      "bill_invoice",
                      "accounting_receipt",
                      "invoice_logo"
                    ],
                    "description": "What the file is for: `bill_invoice` for bills, `accounting_receipt` for accounting entries, `invoice_logo` for invoice settings. Send it before `file`."
                  },
                  "file": {
                    "type": "string",
                    "format": "binary",
                    "description": "The file to upload. PDF, PNG, or JPEG, and only PNG or JPEG for `invoice_logo` (HEIC is converted to JPEG). Required; a request without a `file` part is rejected with `file_required`."
                  }
                },
                "required": ["purpose"],
                "additionalProperties": false
              },
              "encoding": {
                "file": {
                  "contentType": "*/*"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The uploaded document, with a `downloadUrl` for the stored file.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/document"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400DocumentsUpload"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/documents/{documentId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "documentId",
          "in": "path",
          "required": true,
          "description": "Document id with the `st_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "summary": "Get a document",
        "x-mint": {
          "href": "/api-reference/documents/retrieve",
          "metadata": {
            "sidebarTitle": "Get a document"
          }
        },
        "description": "Get a document with a fresh `downloadUrl`, valid for about 15 minutes.",
        "responses": {
          "200": {
            "description": "The document.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/document"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400DocumentsGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/legal-entities": {
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "List legal entities",
        "x-mint": {
          "href": "/api-reference/legal-entities/list",
          "metadata": {
            "description": "List the legal entities the API key's user can act on, oldest first.",
            "sidebarTitle": "List legal entities"
          },
          "content": "This is the one request that takes no `x-legal-entity` header: use it to find the id to send in that header on every other request."
        },
        "description": "List the legal entities the API key's user can act on, oldest first. This is the one request that takes no `x-legal-entity` header: use it to find the id to send in that header on every other request.",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of legal entities.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/legal-entity"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400LegalEntitiesList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403NotAvailableUserApiKeyRequired"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/users": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "List users",
        "x-mint": {
          "href": "/api-reference/users/list",
          "metadata": {
            "sidebarTitle": "List users"
          }
        },
        "description": "List the active members of the legal entity, by name.",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "description": "Match on first name, last name or email.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of users.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/user"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400UsersList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/users/{userId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve a user",
        "x-mint": {
          "href": "/api-reference/users/retrieve",
          "metadata": {
            "sidebarTitle": "Retrieve a user"
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "description": "User id with the `u_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The user.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/user"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400UsersGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/card-products": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "List card products",
        "x-mint": {
          "href": "/api-reference/cards/products",
          "metadata": {
            "sidebarTitle": "List card products"
          }
        },
        "description": "List the BIN programs cards can be issued from.",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "accountId",
            "in": "query",
            "required": false,
            "description": "Return only the card products cards on one account can be issued from.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of card products.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/card-product"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CardProductsList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404CardProductsList"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/cashback/balances": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "List cashback balances",
        "x-mint": {
          "href": "/api-reference/cashback/balances/list",
          "metadata": {
            "sidebarTitle": "List balances"
          }
        },
        "description": "One balance for each account that earns cashback or holds some.",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of cashback balances.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/cashback-balance"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CashbackBalancesList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/cashback/balances/{accountId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve a cashback balance",
        "x-mint": {
          "href": "/api-reference/cashback/balances/retrieve",
          "metadata": {
            "sidebarTitle": "Retrieve a balance"
          }
        },
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "required": true,
            "description": "Account id with the `sa_group_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The account's cashback balance.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cashback-balance"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CashbackBalancesGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404CashbackBalancesGet"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/cashback/rates": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "List cashback rates",
        "x-mint": {
          "href": "/api-reference/cashback/rates/list",
          "metadata": {
            "sidebarTitle": "List rates"
          }
        },
        "description": "What each account that earns cashback, or holds some, earns this month. See [Cashback](/docs/v2/cashback/overview#rates).",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of cashback rates.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/cashback-rate"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CashbackRatesList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/cashback/rates/{accountId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve a cashback rate",
        "x-mint": {
          "href": "/api-reference/cashback/rates/retrieve",
          "metadata": {
            "sidebarTitle": "Retrieve a rate"
          }
        },
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "required": true,
            "description": "Account id with the `sa_group_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The account's cashback rate.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cashback-rate"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CashbackRatesGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404CashbackRatesGet"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/cashback/cycles": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "List cashback cycles",
        "x-mint": {
          "href": "/api-reference/cashback/cycles/list",
          "metadata": {
            "sidebarTitle": "List cycles"
          }
        },
        "description": "Each account's cashback month by month, newest first.",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "accountId",
            "in": "query",
            "required": false,
            "description": "Return cycles for one account.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of cashback cycles.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/cashback-cycle"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CashbackCyclesList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404CashbackCyclesList"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/cashback/redemptions": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "List cashback redemptions",
        "x-mint": {
          "href": "/api-reference/cashback/redemptions/list",
          "metadata": {
            "sidebarTitle": "List redemptions"
          }
        },
        "description": "Redemptions, newest first.",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "accountId",
            "in": "query",
            "required": false,
            "description": "Return redemptions from one account.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Return redemptions in one status.",
            "schema": {
              "type": "string",
              "enum": ["pending", "completed", "returned", "failed"]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of cashback redemptions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/cashback-redemption"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CashbackRedemptionsList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404CashbackRedemptionsList"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      },
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Redeem cashback",
        "x-mint": {
          "href": "/api-reference/cashback/redemptions/create",
          "metadata": {
            "sidebarTitle": "Redeem cashback"
          },
          "content": "<Note>\nRequires a source IP on the legal entity's enabled IP allowlist.\n</Note>"
        },
        "description": "Pay cashback to one of your accounts or to a recipient. See [Redeeming cashback](/docs/v2/cashback/redeeming).",
        "parameters": [
          {
            "name": "X-Idempotency-Key",
            "in": "header",
            "required": true,
            "description": "Unique caller-generated key for one create request. Once an authenticated, schema-valid request reaches the operation, the key is permanently consumed for that operation and legal entity whether the operation succeeds or fails. Reusing it in that scope returns `409` and never replays a response, unlike API v1, which replays the original response for a matching key.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "example": "invoice-1042-attempt-1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/cashback-redemption-create"
              },
              "example": {
                "accountId": "sa_group_2rj4l7hmrrrcv",
                "amount": {
                  "amount": 25000,
                  "currency": "USD"
                },
                "destination": {
                  "type": "account",
                  "accountId": "sa_group_3k8m2p9qwexyz"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The redemption.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cashback-redemption"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CashbackRedemptionsCreate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenCashbackIpAllowlistRequiredForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404CashbackRedemptionsCreate"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409CashbackRedemptionsCreate"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/cashback/redemptions/{redemptionId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve a cashback redemption",
        "x-mint": {
          "href": "/api-reference/cashback/redemptions/retrieve",
          "metadata": {
            "sidebarTitle": "Retrieve a redemption"
          }
        },
        "parameters": [
          {
            "name": "redemptionId",
            "in": "path",
            "required": true,
            "description": "Redemption id with the `transfer_intent_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The redemption.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/cashback-redemption"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CashbackRedemptionsGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404CashbackRedemptionsGet"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/merchants": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "List merchants",
        "x-mint": {
          "href": "/api-reference/merchants/list",
          "metadata": {
            "sidebarTitle": "List merchants"
          }
        },
        "description": "List the merchants card controls can name.",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "categoryId",
            "in": "query",
            "required": false,
            "description": "Return merchants in one merchant category.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "description": "Match on the merchant name, or an exact merchant id.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of merchants.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/merchant"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400MerchantsList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/merchants/{merchantId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve a merchant",
        "x-mint": {
          "href": "/api-reference/merchants/retrieve",
          "metadata": {
            "sidebarTitle": "Retrieve a merchant"
          }
        },
        "parameters": [
          {
            "name": "merchantId",
            "in": "path",
            "required": true,
            "description": "Merchant id with the `merchant_v2_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The merchant.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/merchant"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400MerchantsGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/merchant-categories": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "List merchant categories",
        "x-mint": {
          "href": "/api-reference/merchants/categories",
          "metadata": {
            "sidebarTitle": "List merchant categories"
          }
        },
        "description": "List the merchant categories card controls can name.",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of merchant categories.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/merchant-category"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400MerchantCategoriesList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/cards": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "List cards",
        "x-mint": {
          "href": "/api-reference/cards/list",
          "metadata": {
            "sidebarTitle": "List cards"
          }
        },
        "description": "List the cards the caller can see, physical cards first, then by name. Closed cards are left out unless `status` asks for them.",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Return cards in these statuses. Defaults to every status but `closed`.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "pending",
                  "awaiting_activation",
                  "active",
                  "paused",
                  "inactive",
                  "closed"
                ]
              }
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "Return virtual or physical cards.",
            "schema": {
              "type": "string",
              "enum": ["virtual", "physical"]
            }
          },
          {
            "name": "accountId",
            "in": "query",
            "required": false,
            "description": "Return cards issued on one account.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "virtualAccountId",
            "in": "query",
            "required": false,
            "description": "Return cards on one virtual account.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cardGroupId",
            "in": "query",
            "required": false,
            "description": "Return cards in one card group.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cardholderUserId",
            "in": "query",
            "required": false,
            "description": "Return cards held by one user.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "description": "Match on the card name, its last four digits or its id.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of cards.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/card"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CardsList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404CardsList"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      },
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Create a card",
        "x-mint": {
          "href": "/api-reference/cards/create",
          "metadata": {
            "sidebarTitle": "Create a card"
          }
        },
        "description": "Issue a virtual or physical card.",
        "parameters": [
          {
            "name": "X-Idempotency-Key",
            "in": "header",
            "required": true,
            "description": "Unique caller-generated key for one create request. Once an authenticated, schema-valid request reaches the operation, the key is permanently consumed for that operation and legal entity whether the operation succeeds or fails. Reusing it in that scope returns `409` and never replays a response, unlike API v1, which replays the original response for a matching key.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "example": "invoice-1042-attempt-1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/card-create"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The card.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/card"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CardsCreate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403CardsCreate"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404CardsCreate"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409CardsCreate"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/cards/{cardId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve a card",
        "x-mint": {
          "href": "/api-reference/cards/retrieve",
          "metadata": {
            "sidebarTitle": "Retrieve a card"
          }
        },
        "parameters": [
          {
            "name": "cardId",
            "in": "path",
            "required": true,
            "description": "Card id with the `c_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The card.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/card"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CardsGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      },
      "patch": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Update a card",
        "x-mint": {
          "href": "/api-reference/cards/update",
          "metadata": {
            "sidebarTitle": "Update a card"
          }
        },
        "parameters": [
          {
            "name": "cardId",
            "in": "path",
            "required": true,
            "description": "Card id with the `c_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/card-update"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated card.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/card"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CardsUpdate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403CardsUpdate"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404CardsUpdate"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409CardsUpdate"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/cards/{cardId}/pause": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Pause a card",
        "x-mint": {
          "href": "/api-reference/cards/pause",
          "metadata": {
            "sidebarTitle": "Pause a card"
          }
        },
        "description": "Decline the card's authorizations until it is unpaused.",
        "parameters": [
          {
            "name": "cardId",
            "in": "path",
            "required": true,
            "description": "Card id with the `c_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The card.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/card"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CardsPause"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403CardsPause"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404CardsPause"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409CardAccountLockedCardClosedCardNotActiveCardStatusPending"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/cards/{cardId}/unpause": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Unpause a card",
        "x-mint": {
          "href": "/api-reference/cards/unpause",
          "metadata": {
            "sidebarTitle": "Unpause a card"
          }
        },
        "description": "Approve the card's authorizations again.",
        "parameters": [
          {
            "name": "cardId",
            "in": "path",
            "required": true,
            "description": "Card id with the `c_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The card.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/card"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CardsUnpause"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403CardsUnpause"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404CardsUnpause"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409CardAccountLockedCardClosedCardNotPausedCardStatusPending"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/cards/{cardId}/close": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Close a card",
        "x-mint": {
          "href": "/api-reference/cards/close",
          "metadata": {
            "sidebarTitle": "Close a card"
          }
        },
        "description": "Close the card. This is permanent: a closed card can't be reopened. To replace a physical card, create a replacement instead.",
        "parameters": [
          {
            "name": "cardId",
            "in": "path",
            "required": true,
            "description": "Card id with the `c_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The closed card.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/card"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CardsClose"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403CardsClose"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404CardsClose"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409CardAccountLockedCardClosedCardClosingLimitReachedCardClosingUnavailableCardNeverUsedCardStatusPending"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/cards/{cardId}/replace": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Replace a card",
        "x-mint": {
          "href": "/api-reference/cards/replace",
          "metadata": {
            "sidebarTitle": "Replace a card"
          }
        },
        "description": "Replace a lost, stolen, damaged or undelivered physical card. The original closes, and the response is the new card.",
        "parameters": [
          {
            "name": "cardId",
            "in": "path",
            "required": true,
            "description": "Card id with the `c_` prefix.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Idempotency-Key",
            "in": "header",
            "required": true,
            "description": "Unique caller-generated key for one create request. Once an authenticated, schema-valid request reaches the operation, the key is permanently consumed for that operation and legal entity whether the operation succeeds or fails. Reusing it in that scope returns `409` and never replays a response, unlike API v1, which replays the original response for a matching key.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "example": "invoice-1042-attempt-1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/card-replace"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The new card.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/card"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CardsReplace"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403CardsReplace"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404CardsReplace"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409CardsReplace"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/cards/{cardId}/pin": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Set a card PIN",
        "x-mint": {
          "href": "/api-reference/cards/pin",
          "metadata": {
            "sidebarTitle": "Set a PIN"
          }
        },
        "description": "Set the PIN of an active physical card.",
        "parameters": [
          {
            "name": "cardId",
            "in": "path",
            "required": true,
            "description": "Card id with the `c_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "pin": {
                    "type": "string",
                    "pattern": "^[0-9]{4}$"
                  }
                },
                "required": ["pin"],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The card.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/card"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CardsSetPin"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403CardsSetPin"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404CardsSetPin"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409CardsSetPin"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/cards/{cardId}/details": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "servers": [
          {
            "url": "https://vault.slash.com",
            "description": "production"
          }
        ],
        "summary": "Retrieve card details",
        "x-mint": {
          "href": "/api-reference/cards/details",
          "metadata": {
            "sidebarTitle": "Retrieve card details"
          }
        },
        "description": "The card number, security code and expiry. Only served on `https://vault.slash.com`.",
        "parameters": [
          {
            "name": "cardId",
            "in": "path",
            "required": true,
            "description": "Card id with the `c_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The card details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/card-details"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CardsDetails"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404CardsDetails"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409CardAccountLockedCardDetailsUnavailable"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/cards/{cardId}/utilization": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve card utilization",
        "x-mint": {
          "href": "/api-reference/cards/utilization",
          "metadata": {
            "sidebarTitle": "Retrieve utilization"
          }
        },
        "description": "Spend against the card's limit in the current period.",
        "parameters": [
          {
            "name": "cardId",
            "in": "path",
            "required": true,
            "description": "Card id with the `c_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The utilization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/card-utilization"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CardsUtilization"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/card-groups": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "List card groups",
        "x-mint": {
          "href": "/api-reference/card-groups/list",
          "metadata": {
            "sidebarTitle": "List card groups"
          }
        },
        "description": "List card groups, newest first.",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Return groups in these statuses. Defaults to `active`.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": ["active", "archived"]
              }
            }
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "description": "Match on the group name.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of card groups.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/card-group"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CardGroupsList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      },
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Create a card group",
        "x-mint": {
          "href": "/api-reference/card-groups/create",
          "metadata": {
            "sidebarTitle": "Create a card group"
          }
        },
        "parameters": [
          {
            "name": "X-Idempotency-Key",
            "in": "header",
            "required": true,
            "description": "Unique caller-generated key for one create request. Once an authenticated, schema-valid request reaches the operation, the key is permanently consumed for that operation and legal entity whether the operation succeeds or fails. Reusing it in that scope returns `409` and never replays a response, unlike API v1, which replays the original response for a matching key.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "example": "invoice-1042-attempt-1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/card-group-create"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The card group.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/card-group"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CardGroupsCreate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409ConflictIdempotencyKeyReused"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/card-groups/{cardGroupId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve a card group",
        "x-mint": {
          "href": "/api-reference/card-groups/retrieve",
          "metadata": {
            "sidebarTitle": "Retrieve a card group"
          }
        },
        "parameters": [
          {
            "name": "cardGroupId",
            "in": "path",
            "required": true,
            "description": "Card group id with the `card_group_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The card group.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/card-group"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CardGroupsGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      },
      "patch": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Update a card group",
        "x-mint": {
          "href": "/api-reference/card-groups/update",
          "metadata": {
            "sidebarTitle": "Update a card group"
          }
        },
        "parameters": [
          {
            "name": "cardGroupId",
            "in": "path",
            "required": true,
            "description": "Card group id with the `card_group_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/card-group-update"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated card group.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/card-group"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CardGroupsUpdate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403CardGroupsUpdate"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404CardGroupsUpdate"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409CardGroupsUpdate"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/card-groups/{cardGroupId}/archive": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Archive a card group",
        "x-mint": {
          "href": "/api-reference/card-groups/archive",
          "metadata": {
            "sidebarTitle": "Archive a card group"
          }
        },
        "description": "Archive a group with no open cards.",
        "parameters": [
          {
            "name": "cardGroupId",
            "in": "path",
            "required": true,
            "description": "Card group id with the `card_group_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The archived card group.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/card-group"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CardGroupsArchive"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403CardGroupsArchive"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404CardGroupsArchive"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409CardGroupsArchive"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/card-groups/{cardGroupId}/utilization": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve card group utilization",
        "x-mint": {
          "href": "/api-reference/card-groups/utilization",
          "metadata": {
            "sidebarTitle": "Retrieve utilization"
          }
        },
        "description": "Spend against the group's shared limit in the current period.",
        "parameters": [
          {
            "name": "cardGroupId",
            "in": "path",
            "required": true,
            "description": "Card group id with the `card_group_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The utilization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/card-utilization"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CardGroupsUtilization"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/card-requests": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "List card requests",
        "x-mint": {
          "href": "/api-reference/card-requests/list",
          "metadata": {
            "sidebarTitle": "List card requests"
          }
        },
        "description": "List card requests, newest first. Without card access, only your own.",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Return requests in these statuses.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "pending",
                  "approved",
                  "rejected",
                  "canceled",
                  "expired"
                ]
              }
            }
          },
          {
            "name": "requesterUserId",
            "in": "query",
            "required": false,
            "description": "Return requests made by one user.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "in": "query",
            "required": false,
            "description": "Return requests on one account.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of card requests.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/card-request"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CardRequestsList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      },
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Request a card",
        "x-mint": {
          "href": "/api-reference/card-requests/create",
          "metadata": {
            "sidebarTitle": "Request a card"
          }
        },
        "description": "Ask for a card for yourself. An approver decides in Slash.",
        "parameters": [
          {
            "name": "X-Idempotency-Key",
            "in": "header",
            "required": true,
            "description": "Unique caller-generated key for one create request. Once an authenticated, schema-valid request reaches the operation, the key is permanently consumed for that operation and legal entity whether the operation succeeds or fails. Reusing it in that scope returns `409` and never replays a response, unlike API v1, which replays the original response for a matching key.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "example": "invoice-1042-attempt-1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/card-request-create"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The card request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/card-request"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CardRequestsCreate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403CardRequestsCreate"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404CardRequestsCreate"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409CardRequestsCreate"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/card-requests/{cardRequestId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve a card request",
        "x-mint": {
          "href": "/api-reference/card-requests/retrieve",
          "metadata": {
            "sidebarTitle": "Retrieve a card request"
          }
        },
        "parameters": [
          {
            "name": "cardRequestId",
            "in": "path",
            "required": true,
            "description": "Card request id with the `card_request_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The card request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/card-request"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CardRequestsGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/three-ds-challenges/{challengeId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve a 3D Secure challenge",
        "x-mint": {
          "href": "/api-reference/three-ds-challenges/retrieve",
          "metadata": {
            "description": "A 3D Secure challenge asks the cardholder to confirm a card purchase.",
            "sidebarTitle": "Retrieve a 3D Secure challenge"
          },
          "content": "Legal entities that decide their own challenges receive each one as a `three_ds_challenge.requested` webhook, then approve or decline it within about five minutes; a challenge left unanswered is declined."
        },
        "description": "A 3D Secure challenge asks the cardholder to confirm a card purchase. Legal entities that decide their own challenges receive each one as a `three_ds_challenge.requested` webhook, then approve or decline it within about five minutes; a challenge left unanswered is declined.",
        "parameters": [
          {
            "name": "challengeId",
            "in": "path",
            "required": true,
            "description": "3D Secure challenge id with the `three_ds_challenge_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The 3D Secure challenge.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/three-ds-challenge"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400ThreeDsChallengesGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403FeatureNotEnabledForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404ThreeDsChallengesGet"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/three-ds-challenges/{challengeId}/approve": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Approve a 3D Secure challenge",
        "x-mint": {
          "href": "/api-reference/three-ds-challenges/approve",
          "metadata": {
            "description": "Confirm the purchase on the cardholder's behalf; it then goes on to authorization as usual.",
            "sidebarTitle": "Approve a 3D Secure challenge"
          },
          "content": "Only a `pending` challenge can be decided, once, before its `expiresAt`."
        },
        "description": "Confirm the purchase on the cardholder's behalf; it then goes on to authorization as usual. Only a `pending` challenge can be decided, once, before its `expiresAt`.",
        "parameters": [
          {
            "name": "challengeId",
            "in": "path",
            "required": true,
            "description": "3D Secure challenge id with the `three_ds_challenge_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The approved 3D Secure challenge.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/three-ds-challenge"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400ThreeDsChallengesApprove"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ThreeDsChallengesApprove"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404ThreeDsChallengesApprove"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409ThreeDsChallengeAlreadyDecidedThreeDsChallengeExpired"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/three-ds-challenges/{challengeId}/decline": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "post": {
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Decline a 3D Secure challenge",
        "x-mint": {
          "href": "/api-reference/three-ds-challenges/decline",
          "metadata": {
            "sidebarTitle": "Decline a 3D Secure challenge"
          }
        },
        "description": "Reject the purchase on the cardholder's behalf; the purchase is declined. Only a `pending` challenge can be decided, once, before its `expiresAt`.",
        "parameters": [
          {
            "name": "challengeId",
            "in": "path",
            "required": true,
            "description": "3D Secure challenge id with the `three_ds_challenge_` prefix.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The declined 3D Secure challenge.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/three-ds-challenge"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400ThreeDsChallengesDecline"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ThreeDsChallengesDecline"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404ThreeDsChallengesDecline"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409ThreeDsChallengeAlreadyDecidedThreeDsChallengeExpired"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        }
      }
    },
    "/v2/bills": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "summary": "List bills",
        "x-mint": {
          "href": "/api-reference/bills/list",
          "metadata": {
            "description": "List bills, soonest due first; bills without a due date come first, and bills due the same day are ordered by id.",
            "sidebarTitle": "List bills"
          },
          "content": "Add `includeSummary=true` for totals and an accounts payable aging report."
        },
        "description": "List bills, soonest due first; bills without a due date come first, and bills due the same day are ordered by id. Add `includeSummary=true` for totals and an accounts payable aging report.",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Return only bills in these statuses.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "draft",
                  "pending_approval",
                  "rejected",
                  "scheduled",
                  "payment_pending",
                  "paid",
                  "payment_failed",
                  "partially_paid"
                ]
              }
            }
          },
          {
            "name": "recipientId",
            "in": "query",
            "required": false,
            "description": "Return only bills for one vendor, a recipient.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "invoiceNumber",
            "in": "query",
            "required": false,
            "description": "Return only bills with exactly this invoice number. Invoice numbers aren't unique, so combine it with `recipientId` to find one vendor's invoice.",
            "schema": {
              "type": "string",
              "maxLength": 255
            }
          },
          {
            "name": "ownerUserId",
            "in": "query",
            "required": false,
            "description": "Return only bills owned by one user.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "source",
            "in": "query",
            "required": false,
            "description": "Return only bills that entered Slash this way.",
            "schema": {
              "type": "string",
              "enum": ["manual", "email", "carrier_account", "api"]
            }
          },
          {
            "name": "overdue",
            "in": "query",
            "required": false,
            "description": "`true` returns only unpaid bills whose due date has passed; `false` excludes them.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "hasDocument",
            "in": "query",
            "required": false,
            "description": "`true` returns only bills with at least one document attached; `false` only bills without one.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "dueFrom",
            "in": "query",
            "required": false,
            "description": "Return only bills due on or after this `YYYY-MM-DD` date.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "dueTo",
            "in": "query",
            "required": false,
            "description": "Return only bills due on or before this `YYYY-MM-DD` date.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "invoiceDateFrom",
            "in": "query",
            "required": false,
            "description": "Return only bills invoiced on or after this `YYYY-MM-DD` date.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "invoiceDateTo",
            "in": "query",
            "required": false,
            "description": "Return only bills invoiced on or before this `YYYY-MM-DD` date.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "amountMin",
            "in": "query",
            "required": false,
            "description": "Return only bills whose total is at least this many minor units.",
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "amountMax",
            "in": "query",
            "required": false,
            "description": "Return only bills whose total is at most this many minor units.",
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "includeSummary",
            "in": "query",
            "required": false,
            "description": "`true` adds a `summary` with the count, total, outstanding balance, and aging buckets of every bill the filters match, not just the current page, one entry per currency.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of bills.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/bill"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    },
                    "summary": {
                      "$ref": "#/components/schemas/bill-summary"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400BillsList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      },
      "post": {
        "summary": "Create a bill",
        "x-mint": {
          "href": "/api-reference/bills/create",
          "metadata": {
            "sidebarTitle": "Create a bill"
          }
        },
        "description": "Create a bill as a `draft`. Only the line items are required.",
        "parameters": [
          {
            "name": "X-Idempotency-Key",
            "in": "header",
            "required": true,
            "description": "Unique caller-generated key for one create request. Once an authenticated, schema-valid request reaches the operation, the key is permanently consumed for that operation and legal entity whether the operation succeeds or fails. Reusing it in that scope returns `409` and never replays a response, unlike API v1, which replays the original response for a matching key.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "example": "invoice-1042-attempt-1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/bill-create"
              },
              "example": {
                "recipientId": "le_c_2rj4l7hmrrrcv",
                "destinationId": "le_contact_destination_2rj4l7hmrrrcv",
                "invoiceNumber": "INV-4471",
                "invoiceDate": "2026-09-01",
                "dueDate": "2026-10-01",
                "lineItems": [
                  {
                    "name": "Hosting",
                    "quantity": 1,
                    "unitAmount": {
                      "amount": 120000,
                      "currency": "USD"
                    }
                  },
                  {
                    "name": "Support hours",
                    "quantity": 2.5,
                    "unitAmount": {
                      "amount": 15000,
                      "currency": "USD"
                    }
                  }
                ],
                "tax": {
                  "amount": 9800,
                  "currency": "USD"
                },
                "documentIds": ["st_2rj4l7hmrrrcv"],
                "notes": "September hosting"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The created bill.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bill"
                },
                "example": {
                  "id": "bill_2rj4l7hmrrrcv",
                  "status": "draft",
                  "source": "api",
                  "recipientId": "le_c_2rj4l7hmrrrcv",
                  "destinationId": "le_contact_destination_2rj4l7hmrrrcv",
                  "ownerUserId": "u_2rj4l7hmrrrcv",
                  "invoiceNumber": "INV-4471",
                  "invoiceDate": "2026-09-01",
                  "dueDate": "2026-10-01",
                  "currency": "USD",
                  "amounts": {
                    "total": {
                      "amount": 167300,
                      "currency": "USD"
                    },
                    "tax": {
                      "amount": 9800,
                      "currency": "USD"
                    },
                    "discount": {
                      "amount": 0,
                      "currency": "USD"
                    },
                    "outstanding": {
                      "amount": 167300,
                      "currency": "USD"
                    }
                  },
                  "lineItems": [
                    {
                      "id": "bill_line_item_2rj4l7hmrrrcv",
                      "name": "Hosting",
                      "quantity": 1,
                      "unitAmount": {
                        "amount": 120000,
                        "currency": "USD"
                      },
                      "total": {
                        "amount": 120000,
                        "currency": "USD"
                      }
                    },
                    {
                      "id": "bill_line_item_3sk5m8inssscw",
                      "name": "Support hours",
                      "quantity": 2.5,
                      "unitAmount": {
                        "amount": 15000,
                        "currency": "USD"
                      },
                      "total": {
                        "amount": 37500,
                        "currency": "USD"
                      }
                    }
                  ],
                  "documentIds": ["st_2rj4l7hmrrrcv"],
                  "payments": [],
                  "notes": "September hosting",
                  "createdAt": "2026-09-19T14:05:22.000Z"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400BillsCreate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403BillsCreate"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404BillsCreate"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409ConflictIdempotencyKeyReused"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/bills/{billId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "billId",
          "in": "path",
          "required": true,
          "description": "Bill id with the `bill_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "summary": "Get a bill",
        "x-mint": {
          "href": "/api-reference/bills/retrieve",
          "metadata": {
            "sidebarTitle": "Get a bill"
          }
        },
        "description": "Get a bill with its line items, documents and payments.",
        "responses": {
          "200": {
            "description": "The bill.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bill"
                },
                "example": {
                  "id": "bill_2rj4l7hmrrrcv",
                  "status": "partially_paid",
                  "source": "api",
                  "recipientId": "le_c_2rj4l7hmrrrcv",
                  "destinationId": "le_contact_destination_2rj4l7hmrrrcv",
                  "ownerUserId": "u_2rj4l7hmrrrcv",
                  "invoiceNumber": "INV-4471",
                  "invoiceDate": "2026-09-01",
                  "dueDate": "2026-10-01",
                  "currency": "USD",
                  "amounts": {
                    "total": {
                      "amount": 167300,
                      "currency": "USD"
                    },
                    "tax": {
                      "amount": 9800,
                      "currency": "USD"
                    },
                    "discount": {
                      "amount": 0,
                      "currency": "USD"
                    },
                    "outstanding": {
                      "amount": 67300,
                      "currency": "USD"
                    }
                  },
                  "lineItems": [
                    {
                      "id": "bill_line_item_2rj4l7hmrrrcv",
                      "name": "Hosting",
                      "quantity": 1,
                      "unitAmount": {
                        "amount": 120000,
                        "currency": "USD"
                      },
                      "total": {
                        "amount": 120000,
                        "currency": "USD"
                      }
                    },
                    {
                      "id": "bill_line_item_3sk5m8inssscw",
                      "name": "Support hours",
                      "quantity": 2.5,
                      "unitAmount": {
                        "amount": 15000,
                        "currency": "USD"
                      },
                      "total": {
                        "amount": 37500,
                        "currency": "USD"
                      }
                    }
                  ],
                  "documentIds": ["st_2rj4l7hmrrrcv"],
                  "payments": [
                    {
                      "id": "bill_payment_2rj4l7hmrrrcv",
                      "transferId": "transfer_intent_2rj4l7hmrrrcv",
                      "transactionId": "agg_tx_2rj4l7hmrrrcv",
                      "status": "posted",
                      "detailedStatus": "settled",
                      "amount": {
                        "amount": 100000,
                        "currency": "USD"
                      },
                      "createdAt": "2026-09-20T16:12:04.000Z"
                    }
                  ],
                  "notes": "September hosting",
                  "createdAt": "2026-09-19T14:05:22.000Z"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400BillsGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      },
      "patch": {
        "summary": "Update a bill",
        "x-mint": {
          "href": "/api-reference/bills/update",
          "metadata": {
            "sidebarTitle": "Update a bill"
          }
        },
        "description": "Update a bill. Only the fields you send change. Line items and amounts can only change while the bill is `draft` or `rejected`.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/bill-update"
              },
              "example": {
                "dueDate": "2026-10-15",
                "lineItems": [
                  {
                    "id": "bill_line_item_2rj4l7hmrrrcv",
                    "name": "Hosting",
                    "quantity": 1,
                    "unitAmount": {
                      "amount": 120000,
                      "currency": "USD"
                    }
                  },
                  {
                    "name": "Backup storage",
                    "quantity": 1,
                    "unitAmount": {
                      "amount": 4000,
                      "currency": "USD"
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated bill.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bill"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400BillsUpdate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403BillsUpdate"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404BillsUpdate"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409BillAmountsLockedCarrierBillReadOnly"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      },
      "delete": {
        "summary": "Delete a bill",
        "x-mint": {
          "href": "/api-reference/bills/delete",
          "metadata": {
            "sidebarTitle": "Delete a bill"
          }
        },
        "description": "Delete a bill that hasn't been paid: one that is `draft`, `rejected` or `pending_approval`.",
        "responses": {
          "200": {
            "description": "The bill was deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400BillsDelete"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409BillNotDeletableCarrierBillReadOnly"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/bills/{billId}/void": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "billId",
          "in": "path",
          "required": true,
          "description": "Bill id with the `bill_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "summary": "Void a bill",
        "x-mint": {
          "href": "/api-reference/bills/void",
          "metadata": {
            "description": "Cancel the bill's payments that are awaiting approval or scheduled and return it to `draft`.",
            "sidebarTitle": "Void a bill"
          },
          "content": "A bill whose payment is already on its way (`payment_pending`) or settled can't be voided; cancel a pending ACH payment with `POST /v2/transfers/ach/{transferId}/cancel` instead."
        },
        "description": "Cancel the bill's payments that are awaiting approval or scheduled and return it to `draft`. A bill whose payment is already on its way (`payment_pending`) or settled can't be voided; cancel a pending ACH payment with `POST /v2/transfers/ach/{transferId}/cancel` instead.",
        "responses": {
          "200": {
            "description": "The voided bill, back in `draft`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bill"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400BillsVoid"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409BillNotVoidableCarrierBillReadOnly"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/bills/{billId}/documents": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "billId",
          "in": "path",
          "required": true,
          "description": "Bill id with the `bill_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "summary": "Attach documents to a bill",
        "x-mint": {
          "href": "/api-reference/bills/documents/add",
          "metadata": {
            "sidebarTitle": "Attach documents to a bill"
          }
        },
        "description": "Attach uploaded documents to a bill. Documents already on the bill are ignored.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "documentIds": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 20,
                    "description": "Documents uploaded with purpose `bill_invoice`.",
                    "items": {
                      "type": "string",
                      "example": "st_2rj4l7hmrrrcv"
                    }
                  }
                },
                "required": ["documentIds"],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The bill with the documents attached.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bill"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400BillsDocumentsAdd"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404BillsDocumentsAdd"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409CarrierBillReadOnly"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/bills/{billId}/documents/{documentId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "billId",
          "in": "path",
          "required": true,
          "description": "Bill id with the `bill_` prefix.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "documentId",
          "in": "path",
          "required": true,
          "description": "Document id with the `st_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "delete": {
        "summary": "Detach a document from a bill",
        "x-mint": {
          "href": "/api-reference/bills/documents/remove",
          "metadata": {
            "sidebarTitle": "Detach a document from a bill"
          }
        },
        "description": "Remove a document from a bill. The document itself is kept.",
        "responses": {
          "200": {
            "description": "The bill without the document.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bill"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400BillsDocumentsRemove"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404BillsDocumentsRemove"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409CarrierBillReadOnly"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/accounting/connections": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "summary": "List accounting connections",
        "x-mint": {
          "href": "/api-reference/accounting/connections/list",
          "metadata": {
            "sidebarTitle": "List connections"
          }
        },
        "description": "List the accounting platforms the legal entity is connected to. Most have one; if there are several, pass `connectionId` to the other accounting endpoints.",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The legal entity's connections, oldest first.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/accounting-connection"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AccountingConnectionsList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/accounting/connections/{connectionId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "connectionId",
          "in": "path",
          "required": true,
          "description": "Connection id with the `accounting_connection_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "summary": "Get an accounting connection",
        "x-mint": {
          "href": "/api-reference/accounting/connections/retrieve",
          "metadata": {
            "sidebarTitle": "Get a connection"
          }
        },
        "description": "Get one accounting connection.",
        "responses": {
          "200": {
            "description": "The connection.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/accounting-connection"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AccountingConnectionsGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/accounting/dimensions": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "summary": "List accounting dimensions",
        "x-mint": {
          "href": "/api-reference/accounting/dimensions/list",
          "metadata": {
            "sidebarTitle": "List dimensions"
          }
        },
        "description": "List the dimensions entries are coded with on one connection, such as `account`, `vendor` and custom fields, including ones that are turned off.",
        "parameters": [
          {
            "name": "connectionId",
            "in": "query",
            "required": false,
            "description": "The accounting connection to read. Optional when the legal entity has exactly one connection; required (`connection_id_required`) when it has several. List them at `GET /v2/accounting/connections`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The connection's dimensions, `account` first.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/accounting-dimension"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AccountingDimensionsList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404AccountingDimensionsList"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/accounting/dimensions/{dimensionKey}/values": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "dimensionKey",
          "in": "path",
          "required": true,
          "description": "A `key` from `GET /v2/accounting/dimensions`.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "summary": "List dimension values",
        "x-mint": {
          "href": "/api-reference/accounting/dimensions/values/list",
          "metadata": {
            "sidebarTitle": "List dimension values"
          }
        },
        "description": "List the values of one dimension, sorted by name. Values that are turned off are left out unless you pass `includeDisabled=true`.",
        "parameters": [
          {
            "name": "connectionId",
            "in": "query",
            "required": false,
            "description": "The accounting connection to read. Optional when the legal entity has exactly one connection; required (`connection_id_required`) when it has several. List them at `GET /v2/accounting/connections`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "includeDisabled",
            "in": "query",
            "required": false,
            "description": "`true` returns disabled values alongside the enabled ones. Disabled values are left out by default.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "parentValueId",
            "in": "query",
            "required": false,
            "description": "Return only values under this parent value (`acc_dim_val_` prefix), for dimensions with a `parentKey`.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of values.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/accounting-dimension-value"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AccountingDimensionsValuesList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404AccountingDimensionsValuesList"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/accounting/dimensions/{dimensionKey}/values/{valueId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "dimensionKey",
          "in": "path",
          "required": true,
          "description": "A `key` from `GET /v2/accounting/dimensions`.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "valueId",
          "in": "path",
          "required": true,
          "description": "A value `id` on that dimension.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "summary": "Get a dimension value",
        "x-mint": {
          "href": "/api-reference/accounting/dimensions/values/retrieve",
          "metadata": {
            "sidebarTitle": "Get a dimension value"
          }
        },
        "description": "Get one dimension value, whether it's turned on or off.",
        "parameters": [
          {
            "name": "connectionId",
            "in": "query",
            "required": false,
            "description": "The accounting connection to read. Optional when the legal entity has exactly one connection; required (`connection_id_required`) when it has several. List them at `GET /v2/accounting/connections`.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The value.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/accounting-dimension-value"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AccountingDimensionsValuesGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404AccountingDimensionsValuesGet"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      },
      "patch": {
        "summary": "Enable or disable a dimension value",
        "x-mint": {
          "href": "/api-reference/accounting/dimensions/values/update",
          "metadata": {
            "sidebarTitle": "Enable or disable a dimension value"
          }
        },
        "description": "Turn a value on or off for coding, for example to hide a retired account. Entries already coded with it keep it.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "description": "Whether the value can be coded onto new entries."
                  }
                },
                "required": ["enabled"],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The value, with its new availability.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/accounting-dimension-value"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AccountingDimensionsValuesUpdate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404AccountingDimensionsValuesUpdate"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409DimensionValuesUpdateInProgressLastEnabledDimensionValue"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/accounting/entries": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "summary": "List accounting entries",
        "x-mint": {
          "href": "/api-reference/accounting/entries/list",
          "metadata": {
            "sidebarTitle": "List entries"
          }
        },
        "description": "List accounting entries, newest first. Use `status=in_review` for the review queue or `status=failed` for entries the platform rejected.",
        "parameters": [
          {
            "name": "connectionId",
            "in": "query",
            "required": false,
            "description": "The accounting connection to read. Optional when the legal entity has exactly one connection; required (`connection_id_required`) when it has several. List them at `GET /v2/accounting/connections`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Return only entries in this status.",
            "schema": {
              "type": "string",
              "enum": [
                "in_review",
                "ready_to_sync",
                "pending_sync",
                "syncing",
                "synced",
                "archived",
                "failed"
              ]
            }
          },
          {
            "name": "sourceType",
            "in": "query",
            "required": false,
            "description": "Return only entries created from transactions, or only from bills.",
            "schema": {
              "type": "string",
              "enum": ["transaction", "bill"]
            }
          },
          {
            "name": "transactionId",
            "in": "query",
            "required": false,
            "description": "Return the entry that covers one transaction (`agg_tx_` prefix). Can't be combined with `billId`, and combines only with `status`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "billId",
            "in": "query",
            "required": false,
            "description": "Return the entry for one bill (`bill_` prefix). Can't be combined with `transactionId`, and combines only with `status`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cardId",
            "in": "query",
            "required": false,
            "description": "Return only entries for transactions on one card (`c_` prefix). Bill entries have no card, so they are never matched.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cardGroupId",
            "in": "query",
            "required": false,
            "description": "Return only entries for transactions on cards in one card group (`card_group_` prefix).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "virtualAccountId",
            "in": "query",
            "required": false,
            "description": "Return only entries for transactions on one virtual account (`subaccount_` prefix).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "description": "Return only entries whose source transaction was in this ISO-4217 currency, for example `EUR` for foreign-currency card spend.",
            "schema": {
              "type": "string",
              "pattern": "^[A-Z]{3}$"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "required": false,
            "description": "Return only entries with an accounting date on or after this `YYYY-MM-DD` date.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "required": false,
            "description": "Return only entries with an accounting date on or before this `YYYY-MM-DD` date.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of entries.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/accounting-entry"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AccountingEntriesList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404AccountingEntriesList"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/accounting/entries/{entryId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "entryId",
          "in": "path",
          "required": true,
          "description": "Entry id with the `accounting_entry_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "summary": "Get an accounting entry",
        "x-mint": {
          "href": "/api-reference/accounting/entries/retrieve",
          "metadata": {
            "sidebarTitle": "Get an entry"
          }
        },
        "description": "Get one accounting entry with its line items, coding and attachments.",
        "responses": {
          "200": {
            "description": "The entry.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/accounting-entry"
                },
                "example": {
                  "id": "accounting_entry_2rj4l7hmrrrcv",
                  "connectionId": "accounting_connection_2rj4l7hmrrrcv",
                  "type": "expense_card",
                  "status": "in_review",
                  "statusUpdatedAt": "2026-09-18T20:11:02.000Z",
                  "date": "2026-09-18",
                  "memo": "AWS hosting, September",
                  "amount": {
                    "amount": -120000,
                    "currency": "USD"
                  },
                  "source": {
                    "type": "transaction",
                    "id": "agg_tx_2rj4l7hmrrrcv"
                  },
                  "transactionIds": ["agg_tx_2rj4l7hmrrrcv"],
                  "lineItems": [
                    {
                      "id": "accounting_line_item_2rj4l7hmrrrcv",
                      "type": "fixed",
                      "amount": {
                        "amount": -120000,
                        "currency": "USD"
                      },
                      "splitIndex": 0,
                      "transactionId": "agg_tx_2rj4l7hmrrrcv",
                      "dimensions": {
                        "account": {
                          "id": "accounting_account_9qx2v1",
                          "name": "Slash Card"
                        }
                      },
                      "customFields": {}
                    },
                    {
                      "id": "accounting_line_item_3sk5m8inssscw",
                      "type": "editable",
                      "amount": {
                        "amount": 120000,
                        "currency": "USD"
                      },
                      "description": "AWS hosting",
                      "splitIndex": 0,
                      "dimensions": {
                        "account": {
                          "id": "accounting_account_2rj4l7hmrrrcv",
                          "name": "6100 Software Subscriptions"
                        },
                        "vendor": {
                          "id": "accounting_vendor_4tl6n9jottdx",
                          "name": "Amazon Web Services"
                        }
                      },
                      "customFields": {}
                    }
                  ],
                  "lineItemLevelDimensions": [],
                  "unsupportedDimensions": ["customer"],
                  "customFields": {},
                  "attachments": [
                    {
                      "id": "accounting_attachment_2rj4l7hmrrrcv",
                      "documentId": "st_2rj4l7hmrrrcv",
                      "filename": "aws-invoice.pdf",
                      "contentType": "application/pdf",
                      "status": "pending_sync"
                    }
                  ],
                  "createdAt": "2026-09-18T20:11:02.000Z",
                  "updatedAt": "2026-09-18T20:11:02.000Z"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AccountingEntriesGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      },
      "patch": {
        "summary": "Update an accounting entry",
        "x-mint": {
          "href": "/api-reference/accounting/entries/update",
          "metadata": {
            "description": "Code an entry: its memo, dimensions, custom fields and, for transaction entries, how it's split into lines.",
            "sidebarTitle": "Update an entry"
          },
          "content": "Only the fields you send change, and the entry's status stays the same."
        },
        "description": "Code an entry: its memo, dimensions, custom fields and, for transaction entries, how it's split into lines. Only the fields you send change, and the entry's status stays the same.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/accounting-entry-update"
              },
              "example": {
                "memo": "AWS hosting, September",
                "dimensions": {
                  "vendor": "accounting_vendor_4tl6n9jottdx"
                },
                "lineItems": [
                  {
                    "id": "accounting_line_item_3sk5m8inssscw",
                    "amount": {
                      "amount": 100000,
                      "currency": "USD"
                    },
                    "description": "Compute",
                    "dimensions": {
                      "account": "accounting_account_2rj4l7hmrrrcv",
                      "class": "accounting_class_3sk5m8inssscw"
                    }
                  },
                  {
                    "amount": {
                      "amount": 20000,
                      "currency": "USD"
                    },
                    "description": "Storage",
                    "dimensions": {
                      "account": "accounting_account_6vn8p1lqvvvfz"
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The entry as coded.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/accounting-entry"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AccountingEntriesUpdate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404AccountingEntriesUpdate"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409BillPaymentEntryReadOnlyBillVendorLockedEntrySyncInProgress"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/accounting/entries/{entryId}/mark-ready": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "entryId",
          "in": "path",
          "required": true,
          "description": "Entry id with the `accounting_entry_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "summary": "Mark an accounting entry ready to sync",
        "x-mint": {
          "href": "/api-reference/accounting/entries/mark-ready",
          "metadata": {
            "description": "Approve an entry for syncing.",
            "sidebarTitle": "Mark an entry ready to sync"
          },
          "content": "Nothing is sent to the accounting platform until the entry is synced. If anything required is missing, such as a line without an account, returns `entry_not_ready` listing what to fix."
        },
        "description": "Approve an entry for syncing. Nothing is sent to the accounting platform until the entry is synced. If anything required is missing, such as a line without an account, returns `entry_not_ready` listing what to fix.",
        "responses": {
          "200": {
            "description": "The entry, now `ready_to_sync`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/accounting-entry"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AccountingEntriesMarkReady"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404AccountingEntriesMarkReady"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409BillPaymentEntryReadOnlyEntryNotReadyEntrySyncInProgress"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/accounting/entries/{entryId}/mark-in-review": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "entryId",
          "in": "path",
          "required": true,
          "description": "Entry id with the `accounting_entry_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "summary": "Move an accounting entry back to review",
        "x-mint": {
          "href": "/api-reference/accounting/entries/mark-in-review",
          "metadata": {
            "sidebarTitle": "Move an entry back to review"
          }
        },
        "description": "Move an entry back to `in_review`.",
        "responses": {
          "200": {
            "description": "The entry, now `in_review`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/accounting-entry"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AccountingEntriesMarkInReview"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404AccountingEntriesMarkInReview"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409BillPaymentEntryReadOnlyEntrySyncInProgress"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/accounting/entries/{entryId}/sync": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "entryId",
          "in": "path",
          "required": true,
          "description": "Entry id with the `accounting_entry_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "summary": "Sync an accounting entry",
        "x-mint": {
          "href": "/api-reference/accounting/entries/sync",
          "metadata": {
            "sidebarTitle": "Sync an entry to the platform"
          }
        },
        "description": "Send an entry to the accounting platform. Read the entry to see the outcome: its `status` moves to `synced` or `failed`.",
        "responses": {
          "200": {
            "description": "The entry, now `pending_sync`, or already `syncing` if the sync started right away.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/accounting-entry"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AccountingEntriesSync"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404AccountingEntriesSync"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409BillPaymentEntryReadOnlyConnectionNotSyncableEntryNotReadyEntrySyncInProgress"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/accounting/entries/{entryId}/archive": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "entryId",
          "in": "path",
          "required": true,
          "description": "Entry id with the `accounting_entry_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "summary": "Archive an accounting entry",
        "x-mint": {
          "href": "/api-reference/accounting/entries/archive",
          "metadata": {
            "sidebarTitle": "Archive an entry"
          }
        },
        "description": "Set an entry aside so it's never synced. A record already on the accounting platform stays there.",
        "responses": {
          "200": {
            "description": "The entry, now `archived`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/accounting-entry"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AccountingEntriesArchive"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404AccountingEntriesArchive"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409BillPaymentEntryReadOnlyEntrySyncInProgress"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/accounting/entries/{entryId}/attachments": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "entryId",
          "in": "path",
          "required": true,
          "description": "Entry id with the `accounting_entry_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "summary": "Attach a document to an accounting entry",
        "x-mint": {
          "href": "/api-reference/accounting/entries/attachments/add",
          "metadata": {
            "sidebarTitle": "Attach a document to an entry"
          }
        },
        "description": "Attach an uploaded document, such as a receipt, to an entry. It's sent to the accounting platform with the entry's next sync.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "documentId": {
                    "type": "string",
                    "description": "A document uploaded with purpose `accounting_receipt`.",
                    "example": "st_2rj4l7hmrrrcv"
                  }
                },
                "required": ["documentId"],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The entry with the document attached.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/accounting-entry"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AccountingEntriesAttachmentsAdd"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404AccountingEntriesAttachmentsAdd"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409BillPaymentEntryReadOnly"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/accounting/entries/{entryId}/attachments/{attachmentId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "entryId",
          "in": "path",
          "required": true,
          "description": "Entry id with the `accounting_entry_` prefix.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "attachmentId",
          "in": "path",
          "required": true,
          "description": "Attachment id with the `accounting_attachment_` prefix, from the entry's `attachments`.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "delete": {
        "summary": "Detach a document from an accounting entry",
        "x-mint": {
          "href": "/api-reference/accounting/entries/attachments/remove",
          "metadata": {
            "sidebarTitle": "Detach a document from an entry"
          }
        },
        "description": "Remove a document from an entry. The document itself is kept, and a copy already on the accounting platform stays there.",
        "responses": {
          "200": {
            "description": "The entry without the attachment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/accounting-entry"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AccountingEntriesAttachmentsRemove"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404AccountingEntriesAttachmentsRemove"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409BillPaymentEntryReadOnly"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/bills/{billId}/payments": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "billId",
          "in": "path",
          "required": true,
          "description": "Bill id with the `bill_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "summary": "Link a payment to a bill",
        "x-mint": {
          "href": "/api-reference/bills/payments/add",
          "metadata": {
            "description": "Record a transfer or transaction you already made as a payment on the bill.",
            "sidebarTitle": "Link a payment to a bill"
          },
          "content": "Provide exactly one of `transferId` or `transactionId`; either must be one your key can read. To pay with a new transfer, pass `billId` when you create the transfer instead."
        },
        "description": "Record a transfer or transaction you already made as a payment on the bill. Provide exactly one of `transferId` or `transactionId`; either must be one your key can read. To pay with a new transfer, pass `billId` when you create the transfer instead.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "transferId": {
                    "type": "string",
                    "description": "Transfer id with the `transfer_intent_` prefix.",
                    "example": "transfer_intent_2rj4l7hmrrrcv"
                  },
                  "transactionId": {
                    "type": "string",
                    "description": "Transaction id with the `agg_tx_` prefix.",
                    "example": "agg_tx_2rj4l7hmrrrcv"
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The bill with the payment linked.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bill"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400BillsPaymentsAdd"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404BillsPaymentsAdd"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409BillsPaymentsAdd"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/bills/{billId}/payments/{paymentId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "billId",
          "in": "path",
          "required": true,
          "description": "Bill id with the `bill_` prefix.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "paymentId",
          "in": "path",
          "required": true,
          "description": "Payment id with the `bill_payment_` prefix, from the bill's `payments`.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "delete": {
        "summary": "Unlink a payment from a bill",
        "x-mint": {
          "href": "/api-reference/bills/payments/remove",
          "metadata": {
            "description": "Remove a payment from a bill without touching the money.",
            "sidebarTitle": "Unlink a payment from a bill"
          },
          "content": "To cancel a payment that is awaiting approval or scheduled, void the bill instead; to cancel a pending ACH payment, use `POST /v2/transfers/ach/{transferId}/cancel`."
        },
        "description": "Remove a payment from a bill without touching the money. To cancel a payment that is awaiting approval or scheduled, void the bill instead; to cancel a pending ACH payment, use `POST /v2/transfers/ach/{transferId}/cancel`.",
        "responses": {
          "200": {
            "description": "The bill without the payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bill"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400BillsPaymentsRemove"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404BillsPaymentsRemove"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409CarrierBillReadOnly"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/accounting/dimensions/{dimensionKey}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "dimensionKey",
          "in": "path",
          "required": true,
          "description": "A dimension `key` from `GET /v2/accounting/dimensions`.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "patch": {
        "summary": "Update an accounting dimension",
        "x-mint": {
          "href": "/api-reference/accounting/dimensions/update",
          "metadata": {
            "description": "Turn a dimension on or off, rename it, or set the default value new entries are coded with.",
            "sidebarTitle": "Update a dimension"
          },
          "content": "Required dimensions can't be turned off, and neither they nor `account` can be renamed."
        },
        "description": "Turn a dimension on or off, rename it, or set the default value new entries are coded with. Required dimensions can't be turned off, and neither they nor `account` can be renamed.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/accounting-dimension-update"
              },
              "example": {
                "enabled": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The dimension as updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/accounting-dimension"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AccountingDimensionsUpdate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404AccountingDimensionsUpdate"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/accounting/mappings": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "summary": "List accounting mappings",
        "x-mint": {
          "href": "/api-reference/accounting/mappings/list",
          "metadata": {
            "description": "List the mappings that code entries automatically, including the ones the accounting intelligence agent created.",
            "sidebarTitle": "List mappings"
          },
          "content": "On platforms that keep account mappings per subsidiary, such as NetSuite, the `account` mappings of `account` and `accounts_payable` sources listed are the default subsidiary's."
        },
        "description": "List the mappings that code entries automatically, including the ones the accounting intelligence agent created. On platforms that keep account mappings per subsidiary, such as NetSuite, the `account` mappings of `account` and `accounts_payable` sources listed are the default subsidiary's.",
        "parameters": [
          {
            "name": "connectionId",
            "in": "query",
            "required": false,
            "description": "The accounting connection to read. Optional when the legal entity has exactly one connection; required (`connection_id_required`) when it has several. List them at `GET /v2/accounting/connections`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "sourceType",
            "in": "query",
            "required": false,
            "description": "Return only mappings keyed on this kind of source.",
            "schema": {
              "type": "string",
              "enum": [
                "account",
                "virtual_account",
                "card",
                "card_group",
                "merchant",
                "merchant_category",
                "recipient",
                "accounts_payable"
              ]
            }
          },
          {
            "name": "sourceId",
            "in": "query",
            "required": false,
            "description": "Return only mappings keyed on this source id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dimensionKey",
            "in": "query",
            "required": false,
            "description": "Return only mappings that code this dimension.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of mappings, oldest first.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/accounting-mapping"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                },
                "example": {
                  "items": [
                    {
                      "id": "accounting_mapping_3sk5m8inssscw",
                      "connectionId": "accounting_connection_2rj4l7hmrrrcv",
                      "source": {
                        "type": "card",
                        "id": "c_2rj4l7hmrrrcv"
                      },
                      "dimensionKey": "customField:cf_cost_center",
                      "customFieldValue": "Engineering",
                      "createdBy": "ai",
                      "createdAt": "2026-09-17T09:30:00.000Z"
                    },
                    {
                      "id": "accounting_mapping_2rj4l7hmrrrcv",
                      "connectionId": "accounting_connection_2rj4l7hmrrrcv",
                      "source": {
                        "type": "merchant",
                        "id": "merchant_v2_2rj4l7hmrrrcv"
                      },
                      "dimensionKey": "account",
                      "valueId": "accounting_account_2rj4l7hmrrrcv",
                      "createdBy": "user",
                      "createdAt": "2026-09-18T20:11:02.000Z"
                    }
                  ],
                  "metadata": {
                    "count": 2
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AccountingMappingsList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404AccountingMappingsList"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      },
      "put": {
        "summary": "Create or replace an accounting mapping",
        "x-mint": {
          "href": "/api-reference/accounting/mappings/upsert",
          "metadata": {
            "description": "Automatically code one dimension for everything from a source, such as a card or merchant.",
            "sidebarTitle": "Create or replace a mapping"
          },
          "content": "Replaces any existing mapping for the same source and dimension. Set `applyToExistingEntries` to also recode entries still in review. On platforms that keep account mappings per subsidiary, such as NetSuite, an `account` mapping for an `account` or `accounts_payable` source applies to the connection's default subsidiary; every other mapping applies to the whole connection."
        },
        "description": "Automatically code one dimension for everything from a source, such as a card or merchant. Replaces any existing mapping for the same source and dimension. Set `applyToExistingEntries` to also recode entries still in review. On platforms that keep account mappings per subsidiary, such as NetSuite, an `account` mapping for an `account` or `accounts_payable` source applies to the connection's default subsidiary; every other mapping applies to the whole connection.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/accounting-mapping-upsert"
              },
              "example": {
                "source": {
                  "type": "merchant",
                  "id": "merchant_v2_2rj4l7hmrrrcv"
                },
                "dimensionKey": "account",
                "valueId": "accounting_account_2rj4l7hmrrrcv",
                "applyToExistingEntries": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The mapping as stored.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/accounting-mapping"
                },
                "example": {
                  "id": "accounting_mapping_2rj4l7hmrrrcv",
                  "connectionId": "accounting_connection_2rj4l7hmrrrcv",
                  "source": {
                    "type": "merchant",
                    "id": "merchant_v2_2rj4l7hmrrrcv"
                  },
                  "dimensionKey": "account",
                  "valueId": "accounting_account_2rj4l7hmrrrcv",
                  "createdBy": "user",
                  "createdAt": "2026-09-18T20:11:02.000Z"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AccountingMappingsUpsert"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404AccountingMappingsUpsert"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409DefaultSubsidiaryRequired"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/accounting/mappings/{mappingId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "mappingId",
          "in": "path",
          "required": true,
          "description": "Mapping id with the `accounting_mapping_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "delete": {
        "summary": "Delete an accounting mapping",
        "x-mint": {
          "href": "/api-reference/accounting/mappings/delete",
          "metadata": {
            "sidebarTitle": "Delete a mapping"
          }
        },
        "description": "Delete a mapping. Entries it already coded keep their values.",
        "responses": {
          "200": {
            "description": "The mapping was deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AccountingMappingsDelete"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404AccountingMappingsDelete"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/accounting/intelligence": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "summary": "Get accounting intelligence settings",
        "x-mint": {
          "href": "/api-reference/accounting/intelligence/retrieve",
          "metadata": {
            "sidebarTitle": "Get intelligence settings"
          }
        },
        "description": "Get which dimensions the accounting intelligence agent codes automatically.",
        "parameters": [
          {
            "name": "connectionId",
            "in": "query",
            "required": false,
            "description": "The accounting connection to read. Optional when the legal entity has exactly one connection; required (`connection_id_required`) when it has several. List them at `GET /v2/accounting/connections`.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The connection's intelligence settings.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/accounting-intelligence-settings"
                },
                "example": {
                  "connectionId": "accounting_connection_2rj4l7hmrrrcv",
                  "mode": "selected_fields",
                  "enabledDimensionKeys": ["account", "class"],
                  "supportedDimensionKeys": [
                    "account",
                    "class",
                    "vendor",
                    "customer",
                    "department",
                    "location",
                    "project"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AccountingIntelligenceGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404AccountingIntelligenceGet"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      },
      "patch": {
        "summary": "Update accounting intelligence settings",
        "x-mint": {
          "href": "/api-reference/accounting/intelligence/update",
          "metadata": {
            "sidebarTitle": "Update intelligence settings"
          }
        },
        "description": "Turn the accounting intelligence agent on or off, or choose which dimensions it codes. Changes apply to entries coded from now on.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/accounting-intelligence-settings-update"
              },
              "example": {
                "mode": "selected_fields",
                "enabledDimensionKeys": ["account", "class"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The settings as stored.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/accounting-intelligence-settings"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AccountingIntelligenceUpdate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404AccountingIntelligenceUpdate"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/bills/inbox": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "summary": "Get the bill inbox",
        "x-mint": {
          "href": "/api-reference/bills/inbox/get",
          "metadata": {
            "sidebarTitle": "Get the bill inbox"
          }
        },
        "description": "Get the legal entity's accounts payable email address and the senders allowed to email it. Invoices sent there become draft bills.",
        "responses": {
          "200": {
            "description": "The inbox.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bill-inbox"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400BillsInboxGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/bills/inbox/senders": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "post": {
        "summary": "Allowlist an inbox sender",
        "x-mint": {
          "href": "/api-reference/bills/inbox/senders/add",
          "metadata": {
            "sidebarTitle": "Allowlist an inbox sender"
          }
        },
        "description": "Allow an email address or a whole domain to send bills to the inbox. Public email domains such as `gmail.com` can't be allowed as a domain.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/bill-inbox-sender-create"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The allowlisted sender.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bill-inbox-sender"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400BillsInboxSendersAdd"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/bills/inbox/senders/{senderId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "senderId",
          "in": "path",
          "required": true,
          "description": "Sender id with the `ais_` prefix, from the inbox's `authorizedSenders`.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "delete": {
        "summary": "Remove an inbox sender",
        "x-mint": {
          "href": "/api-reference/bills/inbox/senders/remove",
          "metadata": {
            "sidebarTitle": "Remove an inbox sender"
          }
        },
        "description": "Stop accepting bills from an allowed sender. Bills they already sent are kept.",
        "responses": {
          "200": {
            "description": "The sender was removed.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400BillsInboxSendersRemove"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404BillsInboxSendersRemove"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/accounting/entries/bulk": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "post": {
        "summary": "Run a status action on many accounting entries",
        "x-mint": {
          "href": "/api-reference/accounting/entries/bulk",
          "metadata": {
            "description": "Run one action (`mark_ready`, `mark_in_review`, `sync` or `archive`) on up to 100 entries.",
            "sidebarTitle": "Update entry statuses in bulk"
          },
          "content": "Each entry gets its own result, so one that can't move doesn't stop the rest."
        },
        "description": "Run one action (`mark_ready`, `mark_in_review`, `sync` or `archive`) on up to 100 entries. Each entry gets its own result, so one that can't move doesn't stop the rest.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "action": {
                    "type": "string",
                    "description": "The move to make. `sync` is only available on connections with a platform to post to; a CSV connection returns `connection_not_syncable` per entry.",
                    "enum": ["mark_ready", "mark_in_review", "archive", "sync"]
                  },
                  "entryIds": {
                    "type": "array",
                    "description": "The entries to move, 1 to 100 ids. Repeated ids are collapsed; ids the credential cannot see come back as `not_found`.",
                    "minItems": 1,
                    "maxItems": 100,
                    "items": {
                      "type": "string",
                      "example": "accounting_entry_2rj4l7hmrrrcv"
                    }
                  }
                },
                "required": ["action", "entryIds"],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The outcome for every requested entry.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/accounting-entry-bulk-result"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AccountingEntriesBulk"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/accounting/connections/{connectionId}/resync": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "connectionId",
          "in": "path",
          "required": true,
          "description": "Connection id with the `accounting_connection_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "summary": "Pull the latest records from the accounting platform",
        "x-mint": {
          "href": "/api-reference/accounting/connections/resync",
          "metadata": {
            "description": "Pull new and changed records, such as accounts and vendors, from the accounting platform without waiting for the scheduled refresh.",
            "sidebarTitle": "Resync a connection"
          },
          "content": "The pull runs in the background; list the dimension's values to see when new ones arrive."
        },
        "description": "Pull new and changed records, such as accounts and vendors, from the accounting platform without waiting for the scheduled refresh. The pull runs in the background; list the dimension's values to see when new ones arrive.",
        "responses": {
          "200": {
            "description": "The connection the pull was started on.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/accounting-connection"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AccountingConnectionsResync"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409ConnectionNotSyncable"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/accounting/dimensions/{dimensionKey}/values/bulk": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "dimensionKey",
          "in": "path",
          "required": true,
          "description": "A `key` from `GET /v2/accounting/dimensions`.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "summary": "Enable or disable many dimension values",
        "x-mint": {
          "href": "/api-reference/accounting/dimensions/values/bulk",
          "metadata": {
            "sidebarTitle": "Enable or disable dimension values in bulk"
          }
        },
        "description": "Turn up to 100 values of one dimension on or off at once. The batch succeeds or fails as a whole.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "description": "Whether the values can be coded onto new entries."
                  },
                  "valueIds": {
                    "type": "array",
                    "description": "The values to set, 1 to 100 per request, all on the same connection. Repeated ids are collapsed.",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 255
                    },
                    "minItems": 1,
                    "maxItems": 100,
                    "example": [
                      "accounting_account_2rj4l7hmrrrcv",
                      "accounting_account_3o1xabrjl8s8x"
                    ]
                  }
                },
                "required": ["enabled", "valueIds"],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The values, in the order given, with their new availability.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/accounting-dimension-value"
                      }
                    }
                  },
                  "required": ["items"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400AccountingDimensionsValuesBulk"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404AccountingDimensionsValuesBulk"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409DimensionValuesUpdateInProgressLastEnabledDimensionValue"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/customers": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "summary": "List customers",
        "x-mint": {
          "href": "/api-reference/customers/list",
          "metadata": {
            "sidebarTitle": "List customers"
          }
        },
        "description": "List the customers you invoice. See [Customers](/docs/v2/invoices/overview#customers).",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Field to order the page by. Each value has its own default direction, used unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).\n\n- `createdAt` (default) — descending\n- `name` — ascending",
            "schema": {
              "type": "string",
              "enum": ["createdAt", "name"],
              "default": "createdAt"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "required": false,
            "description": "Direction of the ordering selected by `sort`. When omitted, each `sort` value uses its own default; see [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["asc", "desc"]
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Return only customers in this status.",
            "schema": {
              "type": "string",
              "enum": ["active", "archived"]
            }
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "description": "Match customers by name, email or id.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of customers.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/customer"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CustomersList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      },
      "post": {
        "summary": "Create a customer",
        "x-mint": {
          "href": "/api-reference/customers/create",
          "metadata": {
            "sidebarTitle": "Create a customer"
          }
        },
        "description": "Create a customer to invoice. See [Customers](/docs/v2/invoices/overview#customers).",
        "parameters": [
          {
            "name": "X-Idempotency-Key",
            "in": "header",
            "required": true,
            "description": "Unique caller-generated key for one create request. Once an authenticated, schema-valid request reaches the operation, the key is permanently consumed for that operation and legal entity whether the operation succeeds or fails. Reusing it in that scope returns `409` and never replays a response, unlike API v1, which replays the original response for a matching key.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "example": "invoice-1042-attempt-1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/customer-create"
              },
              "example": {
                "name": "Acme Robotics",
                "email": "ap@acme.example",
                "address": {
                  "line1": "500 Market St",
                  "city": "San Francisco",
                  "state": "CA",
                  "postalCode": "94105",
                  "countryCode": "US"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The created customer.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/customer"
                },
                "example": {
                  "id": "le_cus_2rj4l7hmrrrcv",
                  "name": "Acme Robotics",
                  "email": "ap@acme.example",
                  "address": {
                    "line1": "500 Market St",
                    "city": "San Francisco",
                    "state": "CA",
                    "postalCode": "94105",
                    "countryCode": "US"
                  },
                  "status": "active",
                  "createdAt": "2026-09-19T14:05:22.000Z"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CustomersCreate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409ConflictIdempotencyKeyReused"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/customers/{customerId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "customerId",
          "in": "path",
          "required": true,
          "description": "Customer id with the `le_cus_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "summary": "Get a customer",
        "x-mint": {
          "href": "/api-reference/customers/retrieve",
          "metadata": {
            "sidebarTitle": "Get a customer"
          }
        },
        "description": "Get a customer.",
        "responses": {
          "200": {
            "description": "The customer.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/customer"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CustomersGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      },
      "patch": {
        "summary": "Update a customer",
        "x-mint": {
          "href": "/api-reference/customers/update",
          "metadata": {
            "sidebarTitle": "Update a customer"
          }
        },
        "description": "Update a customer. Only the fields you send change. Existing invoices keep the name, email and address they were issued with until you edit them.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/customer-update"
              },
              "example": {
                "email": "billing@acme.example"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated customer.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/customer"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CustomersUpdate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/customers/{customerId}/archive": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "customerId",
          "in": "path",
          "required": true,
          "description": "Customer id with the `le_cus_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "summary": "Archive a customer",
        "x-mint": {
          "href": "/api-reference/customers/archive",
          "metadata": {
            "sidebarTitle": "Archive a customer"
          }
        },
        "description": "Mark a customer as `archived`. Archiving an archived customer returns it unchanged.",
        "responses": {
          "200": {
            "description": "The archived customer.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/customer"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CustomersArchive"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/customers/{customerId}/unarchive": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "customerId",
          "in": "path",
          "required": true,
          "description": "Customer id with the `le_cus_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "summary": "Unarchive a customer",
        "x-mint": {
          "href": "/api-reference/customers/unarchive",
          "metadata": {
            "sidebarTitle": "Unarchive a customer"
          }
        },
        "description": "Mark an archived customer as `active` again. Unarchiving an active customer returns it unchanged.",
        "responses": {
          "200": {
            "description": "The active customer.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/customer"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400CustomersUnarchive"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403ForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/invoices": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "summary": "List invoices",
        "x-mint": {
          "href": "/api-reference/invoices/list",
          "metadata": {
            "sidebarTitle": "List invoices"
          }
        },
        "description": "List invoices. Add `includeSummary=true` for the count and outstanding balance of every invoice the filters match.",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Field to order the page by. Each value has its own default direction, used unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).\n\n- `createdAt` (default) — descending\n- `issueDate` — descending\n- `dueDate` — descending\n- `total` — descending",
            "schema": {
              "type": "string",
              "enum": ["createdAt", "issueDate", "dueDate", "total"],
              "default": "createdAt"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "required": false,
            "description": "Direction of the ordering selected by `sort`. When omitted, each `sort` value uses its own default; see [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["asc", "desc"]
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Return only invoices in these statuses.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "scheduled",
                  "unpaid",
                  "partially_paid",
                  "paid",
                  "void"
                ]
              }
            }
          },
          {
            "name": "overdue",
            "in": "query",
            "required": false,
            "description": "`true` returns only invoices that are `overdue`; `false` excludes them.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "customerId",
            "in": "query",
            "required": false,
            "description": "Return only invoices for one customer.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "in": "query",
            "required": false,
            "description": "Return only invoices that settle into one account.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "seriesId",
            "in": "query",
            "required": false,
            "description": "Return only invoices issued by one recurring series.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "query",
            "required": false,
            "description": "Return only the invoice with exactly this number.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 50,
              "pattern": "^[A-Z0-9_-]+$"
            }
          },
          {
            "name": "dueFrom",
            "in": "query",
            "required": false,
            "description": "Return only invoices due on or after this `YYYY-MM-DD` date.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "dueTo",
            "in": "query",
            "required": false,
            "description": "Return only invoices due on or before this `YYYY-MM-DD` date.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "issueDateFrom",
            "in": "query",
            "required": false,
            "description": "Return only invoices issued on or after this `YYYY-MM-DD` date.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "issueDateTo",
            "in": "query",
            "required": false,
            "description": "Return only invoices issued on or before this `YYYY-MM-DD` date.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "amountMin",
            "in": "query",
            "required": false,
            "description": "Return only invoices whose total is at least this many cents.",
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "amountMax",
            "in": "query",
            "required": false,
            "description": "Return only invoices whose total is at most this many cents.",
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "description": "Match invoices by number, memo or customer name.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            }
          },
          {
            "name": "includeSummary",
            "in": "query",
            "required": false,
            "description": "`true` adds a `summary` covering every invoice the filters match, not just the current page.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of invoices.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/invoice"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    },
                    "summary": {
                      "$ref": "#/components/schemas/invoice-summary"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InvoicesList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403FeatureNotEnabledForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      },
      "post": {
        "summary": "Create an invoice",
        "x-mint": {
          "href": "/api-reference/invoices/create",
          "metadata": {
            "description": "Create an invoice and email it to the customer, or schedule it with `scheduledSendDate`.",
            "sidebarTitle": "Create an invoice"
          },
          "content": "See [Create an invoice](/docs/v2/invoices/creating-and-sending#create-an-invoice)."
        },
        "description": "Create an invoice and email it to the customer, or schedule it with `scheduledSendDate`. See [Create an invoice](/docs/v2/invoices/creating-and-sending#create-an-invoice).",
        "parameters": [
          {
            "name": "X-Idempotency-Key",
            "in": "header",
            "required": true,
            "description": "Unique caller-generated key for one create request. Once an authenticated, schema-valid request reaches the operation, the key is permanently consumed for that operation and legal entity whether the operation succeeds or fails. Reusing it in that scope returns `409` and never replays a response, unlike API v1, which replays the original response for a matching key.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "example": "invoice-1042-attempt-1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoice-create"
              },
              "example": {
                "customerId": "le_cus_2rj4l7hmrrrcv",
                "issueDate": "2026-10-01",
                "dueDate": "2026-10-31",
                "timezone": "America/New_York",
                "lineItems": [
                  {
                    "name": "Design retainer",
                    "quantity": 1,
                    "unitAmount": {
                      "amount": 450000,
                      "currency": "USD"
                    }
                  },
                  {
                    "name": "Extra hours",
                    "quantity": 6,
                    "unitAmount": {
                      "amount": 15000,
                      "currency": "USD"
                    }
                  }
                ],
                "taxRate": 8.5,
                "paymentMethods": [
                  {
                    "type": "bank_transfer"
                  },
                  {
                    "type": "card",
                    "passFeeToPayer": true
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The created invoice.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoice"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InvoicesCreate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403FeatureNotEnabledForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404InvoicesCreate"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409InvoicesCreate"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/invoices/{invoiceId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "invoiceId",
          "in": "path",
          "required": true,
          "description": "Invoice id with the `inv_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "summary": "Get an invoice",
        "x-mint": {
          "href": "/api-reference/invoices/retrieve",
          "metadata": {
            "sidebarTitle": "Get an invoice"
          }
        },
        "description": "Get an invoice.",
        "responses": {
          "200": {
            "description": "The invoice.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoice"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InvoicesGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403FeatureNotEnabledForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      },
      "patch": {
        "summary": "Update an invoice",
        "x-mint": {
          "href": "/api-reference/invoices/update",
          "metadata": {
            "description": "Edit a `scheduled` or `unpaid` invoice.",
            "sidebarTitle": "Update an invoice"
          },
          "content": "Only the fields you send change, and `null` clears a field. See [Edit an invoice](/docs/v2/invoices/creating-and-sending#edit-an-invoice)."
        },
        "description": "Edit a `scheduled` or `unpaid` invoice. Only the fields you send change, and `null` clears a field. See [Edit an invoice](/docs/v2/invoices/creating-and-sending#edit-an-invoice).",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoice-update"
              },
              "example": {
                "dueDate": "2026-11-15",
                "memo": null
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated invoice.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoice"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InvoicesUpdate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403FeatureNotEnabledForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404InvoicesUpdate"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409InvoicesUpdate"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/invoices/{invoiceId}/send": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "invoiceId",
          "in": "path",
          "required": true,
          "description": "Invoice id with the `inv_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "summary": "Send an invoice now",
        "x-mint": {
          "href": "/api-reference/invoices/send",
          "metadata": {
            "sidebarTitle": "Send an invoice now"
          }
        },
        "description": "Email a `scheduled` invoice now instead of on its `scheduledSendDate`. See [Schedule or send](/docs/v2/invoices/creating-and-sending#schedule-or-send).",
        "responses": {
          "200": {
            "description": "The sent invoice.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoice"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InvoicesSend"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403FeatureNotEnabledForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409InvoiceNotScheduled"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/invoices/{invoiceId}/send-reminder": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "invoiceId",
          "in": "path",
          "required": true,
          "description": "Invoice id with the `inv_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "summary": "Send a payment reminder",
        "x-mint": {
          "href": "/api-reference/invoices/send-reminder",
          "metadata": {
            "description": "Email the customer a reminder for an `unpaid` or `partially_paid` invoice, at most once a day.",
            "sidebarTitle": "Send a payment reminder"
          },
          "content": "See [Reminders](/docs/v2/invoices/creating-and-sending#reminders)."
        },
        "description": "Email the customer a reminder for an `unpaid` or `partially_paid` invoice, at most once a day. See [Reminders](/docs/v2/invoices/creating-and-sending#reminders).",
        "responses": {
          "200": {
            "description": "The invoice.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoice"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InvoicesSendReminder"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403FeatureNotEnabledForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409InvoiceNotRemindableInvoiceReminderRecentlySent"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/invoices/{invoiceId}/void": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "invoiceId",
          "in": "path",
          "required": true,
          "description": "Invoice id with the `inv_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "summary": "Void an invoice",
        "x-mint": {
          "href": "/api-reference/invoices/void",
          "metadata": {
            "description": "Mark an invoice as `void` so it can no longer be paid.",
            "sidebarTitle": "Void an invoice"
          },
          "content": "Voiding a `paid` invoice releases its payments; the money is untouched. See [Void an invoice](/docs/v2/invoices/collecting-payment#void-an-invoice)."
        },
        "description": "Mark an invoice as `void` so it can no longer be paid. Voiding a `paid` invoice releases its payments; the money is untouched. See [Void an invoice](/docs/v2/invoices/collecting-payment#void-an-invoice).",
        "responses": {
          "200": {
            "description": "The voided invoice.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoice"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InvoicesVoid"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403FeatureNotEnabledForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409InvoiceScheduledInSeriesInvoiceVoid"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/invoices/{invoiceId}/payments": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "invoiceId",
          "in": "path",
          "required": true,
          "description": "Invoice id with the `inv_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "summary": "Record a payment on an invoice",
        "x-mint": {
          "href": "/api-reference/invoices/payments/add",
          "metadata": {
            "description": "Record that a sent invoice was paid, by a deposit Slash didn't match on its own or outside Slash.",
            "sidebarTitle": "Record a payment"
          },
          "content": "See [Record a payment](/docs/v2/invoices/collecting-payment#record-a-payment)."
        },
        "description": "Record that a sent invoice was paid, by a deposit Slash didn't match on its own or outside Slash. See [Record a payment](/docs/v2/invoices/collecting-payment#record-a-payment).",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoice-payment-create"
              },
              "examples": {
                "deposit": {
                  "summary": "A deposit into the account",
                  "value": {
                    "transactionId": "agg_tx_2rj4l7hmrrrcv"
                  }
                },
                "external": {
                  "summary": "A payment received outside Slash",
                  "value": {
                    "external": {
                      "paidOn": "2026-10-12",
                      "method": "wire"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The invoice with the payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoice"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InvoicesPaymentsAdd"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403FeatureNotEnabledForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404InvoicesPaymentsAdd"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409InvoiceNotSentInvoiceVoid"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/invoices/{invoiceId}/payments/{paymentId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "invoiceId",
          "in": "path",
          "required": true,
          "description": "Invoice id with the `inv_` prefix.",
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "paymentId",
          "in": "path",
          "required": true,
          "description": "Payment id with the `inv_tr_link_` prefix, from the invoice's `payments`.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "delete": {
        "summary": "Remove a payment from an invoice",
        "x-mint": {
          "href": "/api-reference/invoices/payments/remove",
          "metadata": {
            "description": "Remove a payment from an invoice without touching the money.",
            "sidebarTitle": "Remove a payment"
          },
          "content": "The invoice's `status` and `amounts` follow the payments that remain. See [Remove a payment](/docs/v2/invoices/collecting-payment#remove-a-payment)."
        },
        "description": "Remove a payment from an invoice without touching the money. The invoice's `status` and `amounts` follow the payments that remain. See [Remove a payment](/docs/v2/invoices/collecting-payment#remove-a-payment).",
        "responses": {
          "200": {
            "description": "The invoice without the payment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoice"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InvoicesPaymentsRemove"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403FeatureNotEnabledForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404InvoicesPaymentsRemove"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409InvoiceVoid"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/invoices/{invoiceId}/payment-instructions": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "invoiceId",
          "in": "path",
          "required": true,
          "description": "Invoice id with the `inv_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "summary": "Get an invoice's payment instructions",
        "x-mint": {
          "href": "/api-reference/invoices/payment-instructions",
          "metadata": {
            "description": "Get the bank and crypto details a customer can pay the invoice to, as shown on its PDF and payment page.",
            "sidebarTitle": "Get payment instructions"
          },
          "content": "See [Payment instructions](/docs/v2/invoices/collecting-payment#payment-instructions)."
        },
        "description": "Get the bank and crypto details a customer can pay the invoice to, as shown on its PDF and payment page. See [Payment instructions](/docs/v2/invoices/collecting-payment#payment-instructions).",
        "responses": {
          "200": {
            "description": "The invoice's payment instructions.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoice-payment-instructions"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InvoicesPaymentInstructionsGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403FeatureNotEnabledForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/invoices/series": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "summary": "List invoice series",
        "x-mint": {
          "href": "/api-reference/invoices/series/list",
          "metadata": {
            "sidebarTitle": "List series"
          }
        },
        "description": "List recurring invoice series.",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Field to order the page by. Each value has its own default direction, used unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).\n\n- `createdAt` (default) — descending\n- `startDate` — descending\n- `nextInvoiceDate` — descending",
            "schema": {
              "type": "string",
              "enum": ["createdAt", "startDate", "nextInvoiceDate"],
              "default": "createdAt"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "required": false,
            "description": "Direction of the ordering selected by `sort`. When omitted, each `sort` value uses its own default; see [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["asc", "desc"]
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Return only series in these statuses.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": ["active", "ended", "cancelled"]
              }
            }
          },
          {
            "name": "customerId",
            "in": "query",
            "required": false,
            "description": "Return only series for one customer.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of series.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/invoice-series"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InvoicesSeriesList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403FeatureNotEnabledForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      },
      "post": {
        "summary": "Create an invoice series",
        "x-mint": {
          "href": "/api-reference/invoices/series/create",
          "metadata": {
            "sidebarTitle": "Create a series"
          }
        },
        "description": "Start invoicing a customer on a schedule. See [Create a series](/docs/v2/invoices/recurring-invoices#create-a-series).",
        "parameters": [
          {
            "name": "X-Idempotency-Key",
            "in": "header",
            "required": true,
            "description": "Unique caller-generated key for one create request. Once an authenticated, schema-valid request reaches the operation, the key is permanently consumed for that operation and legal entity whether the operation succeeds or fails. Reusing it in that scope returns `409` and never replays a response, unlike API v1, which replays the original response for a matching key.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "example": "invoice-1042-attempt-1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoice-series-create"
              },
              "example": {
                "customerId": "le_cus_2rj4l7hmrrrcv",
                "recurrence": {
                  "type": "monthly_day_of_month",
                  "dayOfMonth": 1
                },
                "startDate": "2026-11-01",
                "timezone": "America/New_York",
                "paymentTermsDays": 30,
                "lineItems": [
                  {
                    "name": "Platform subscription",
                    "quantity": 1,
                    "unitAmount": {
                      "amount": 99000,
                      "currency": "USD"
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The created series.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoice-series"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InvoicesSeriesCreate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403FeatureNotEnabledForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404InvoicesSeriesCreate"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409ConflictIdempotencyKeyReused"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/invoices/series/{seriesId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "seriesId",
          "in": "path",
          "required": true,
          "description": "Series id with the `inv_series_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "summary": "Get an invoice series",
        "x-mint": {
          "href": "/api-reference/invoices/series/retrieve",
          "metadata": {
            "sidebarTitle": "Get a series"
          }
        },
        "description": "Get a recurring invoice series.",
        "responses": {
          "200": {
            "description": "The series.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoice-series"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InvoicesSeriesGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403FeatureNotEnabledForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      },
      "patch": {
        "summary": "Update an invoice series",
        "x-mint": {
          "href": "/api-reference/invoices/series/update",
          "metadata": {
            "description": "Edit an `active` series.",
            "sidebarTitle": "Update a series"
          },
          "content": "Its scheduled invoice is rewritten to match, and invoices already sent are left as they are. See [Edit a series](/docs/v2/invoices/recurring-invoices#edit-a-series)."
        },
        "description": "Edit an `active` series. Its scheduled invoice is rewritten to match, and invoices already sent are left as they are. See [Edit a series](/docs/v2/invoices/recurring-invoices#edit-a-series).",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoice-series-update"
              },
              "example": {
                "paymentTermsDays": 15
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated series.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoice-series"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InvoicesSeriesUpdate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403FeatureNotEnabledForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404InvoicesSeriesUpdate"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409InvoiceSeriesNotActive"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/invoices/series/{seriesId}/skip": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "seriesId",
          "in": "path",
          "required": true,
          "description": "Series id with the `inv_series_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "summary": "Skip the next invoice in a series",
        "x-mint": {
          "href": "/api-reference/invoices/series/skip",
          "metadata": {
            "description": "Void an `active` series' scheduled invoice and schedule the one after it.",
            "sidebarTitle": "Skip the next invoice"
          },
          "content": "The series ends if no invoice is left. See [Skip or cancel](/docs/v2/invoices/recurring-invoices#skip-or-cancel)."
        },
        "description": "Void an `active` series' scheduled invoice and schedule the one after it. The series ends if no invoice is left. See [Skip or cancel](/docs/v2/invoices/recurring-invoices#skip-or-cancel).",
        "responses": {
          "200": {
            "description": "The series.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoice-series"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InvoicesSeriesSkip"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403FeatureNotEnabledForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409InvoiceSeriesNotActive"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/invoices/series/{seriesId}/cancel": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "seriesId",
          "in": "path",
          "required": true,
          "description": "Series id with the `inv_series_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "summary": "Cancel an invoice series",
        "x-mint": {
          "href": "/api-reference/invoices/series/cancel",
          "metadata": {
            "description": "Stop an `active` series.",
            "sidebarTitle": "Cancel a series"
          },
          "content": "Its scheduled invoice is voided, and invoices already sent are left as they are. See [Skip or cancel](/docs/v2/invoices/recurring-invoices#skip-or-cancel)."
        },
        "description": "Stop an `active` series. Its scheduled invoice is voided, and invoices already sent are left as they are. See [Skip or cancel](/docs/v2/invoices/recurring-invoices#skip-or-cancel).",
        "responses": {
          "200": {
            "description": "The cancelled series.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoice-series"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InvoicesSeriesCancel"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403FeatureNotEnabledForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409InvoiceSeriesNotActive"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/invoices/catalog-items": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "summary": "List catalog items",
        "x-mint": {
          "href": "/api-reference/invoices/catalog-items/list",
          "metadata": {
            "sidebarTitle": "List catalog items"
          }
        },
        "description": "List the products and services you invoice often.",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "The opaque `metadata.nextCursor` value from the previous page. It carries that page's filters, page size and ordering, so pass it on its own; see [Pagination](/docs/v2/get-started/pagination).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Number of items per page, from 1 to 100. The page size is carried inside `metadata.nextCursor`, so later pages keep the same size unless `limit` is passed again to change it.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Field to order the page by. Each value has its own default direction, used unless `sortDirection` is passed. See [Sorting](/docs/v2/get-started/pagination#sorting).\n\n- `createdAt` (default) — descending\n- `name` — ascending",
            "schema": {
              "type": "string",
              "enum": ["createdAt", "name"],
              "default": "createdAt"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "required": false,
            "description": "Direction of the ordering selected by `sort`. When omitted, each `sort` value uses its own default; see [Sorting](/docs/v2/get-started/pagination#sorting).",
            "schema": {
              "type": "string",
              "enum": ["asc", "desc"]
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Return only catalog items in this status.",
            "schema": {
              "type": "string",
              "enum": ["active", "archived"]
            }
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "description": "Match catalog items by name.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of catalog items.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/catalog-item"
                      }
                    },
                    "metadata": {
                      "$ref": "#/components/schemas/pagination-metadata"
                    }
                  },
                  "required": ["items", "metadata"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InvoicesCatalogItemsList"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403FeatureNotEnabledForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      },
      "post": {
        "summary": "Create a catalog item",
        "x-mint": {
          "href": "/api-reference/invoices/catalog-items/create",
          "metadata": {
            "sidebarTitle": "Create a catalog item"
          }
        },
        "description": "Save a product or service to reuse on invoices. See [Catalog items](/docs/v2/invoices/creating-and-sending#catalog-items).",
        "parameters": [
          {
            "name": "X-Idempotency-Key",
            "in": "header",
            "required": true,
            "description": "Unique caller-generated key for one create request. Once an authenticated, schema-valid request reaches the operation, the key is permanently consumed for that operation and legal entity whether the operation succeeds or fails. Reusing it in that scope returns `409` and never replays a response, unlike API v1, which replays the original response for a matching key.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 255
            },
            "example": "invoice-1042-attempt-1"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/catalog-item-create"
              },
              "example": {
                "name": "Robot arm maintenance",
                "description": "Quarterly on-site service",
                "unitAmount": {
                  "amount": 45000,
                  "currency": "USD"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The created catalog item.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/catalog-item"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InvoicesCatalogItemsCreate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403FeatureNotEnabledForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "409": {
            "$ref": "#/components/responses/PublicApiV2Error409ConflictIdempotencyKeyReused"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/invoices/catalog-items/{catalogItemId}": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "catalogItemId",
          "in": "path",
          "required": true,
          "description": "Catalog item id with the `cat_item_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "get": {
        "summary": "Get a catalog item",
        "x-mint": {
          "href": "/api-reference/invoices/catalog-items/retrieve",
          "metadata": {
            "sidebarTitle": "Get a catalog item"
          }
        },
        "description": "Get a catalog item.",
        "responses": {
          "200": {
            "description": "The catalog item.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/catalog-item"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InvoicesCatalogItemsGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403FeatureNotEnabledForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      },
      "patch": {
        "summary": "Update a catalog item",
        "x-mint": {
          "href": "/api-reference/invoices/catalog-items/update",
          "metadata": {
            "sidebarTitle": "Update a catalog item"
          }
        },
        "description": "Update a catalog item. Only the fields you send change, and `null` clears `description`. Invoices that already use the item keep their line items.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/catalog-item-update"
              },
              "example": {
                "unitAmount": {
                  "amount": 48000,
                  "currency": "USD"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated catalog item.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/catalog-item"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InvoicesCatalogItemsUpdate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403FeatureNotEnabledForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/invoices/catalog-items/{catalogItemId}/archive": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "catalogItemId",
          "in": "path",
          "required": true,
          "description": "Catalog item id with the `cat_item_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "summary": "Archive a catalog item",
        "x-mint": {
          "href": "/api-reference/invoices/catalog-items/archive",
          "metadata": {
            "sidebarTitle": "Archive a catalog item"
          }
        },
        "description": "Mark a catalog item as `archived`. Archiving an archived item returns it unchanged.",
        "responses": {
          "200": {
            "description": "The archived catalog item.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/catalog-item"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InvoicesCatalogItemsArchive"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403FeatureNotEnabledForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/invoices/catalog-items/{catalogItemId}/unarchive": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        },
        {
          "name": "catalogItemId",
          "in": "path",
          "required": true,
          "description": "Catalog item id with the `cat_item_` prefix.",
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "summary": "Unarchive a catalog item",
        "x-mint": {
          "href": "/api-reference/invoices/catalog-items/unarchive",
          "metadata": {
            "sidebarTitle": "Unarchive a catalog item"
          }
        },
        "description": "Mark an archived catalog item as `active` again. Unarchiving an active item returns it unchanged.",
        "responses": {
          "200": {
            "description": "The active catalog item.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/catalog-item"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InvoicesCatalogItemsUnarchive"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403FeatureNotEnabledForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    },
    "/v2/invoices/settings": {
      "parameters": [
        {
          "name": "x-legal-entity",
          "in": "header",
          "required": true,
          "description": "The legal entity to act on. Required on every request except `GET /v2/legal-entities`, which lists the ids a user API key can send here: those of every legal entity its user has access to.",
          "schema": {
            "type": "string",
            "pattern": "^le_[a-zA-Z0-9]+$"
          }
        }
      ],
      "get": {
        "summary": "Get invoice settings",
        "x-mint": {
          "href": "/api-reference/invoices/settings/retrieve",
          "metadata": {
            "sidebarTitle": "Get invoice settings"
          }
        },
        "description": "Get the sender details, defaults and branding new invoices use. Until you save settings, they come from the legal entity's business details.",
        "responses": {
          "200": {
            "description": "The invoice settings.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoice-settings"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InvoicesSettingsGet"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403FeatureNotEnabledForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404NotFound"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      },
      "patch": {
        "summary": "Update invoice settings",
        "x-mint": {
          "href": "/api-reference/invoices/settings/update",
          "metadata": {
            "description": "Update the sender details, defaults and branding.",
            "sidebarTitle": "Update invoice settings"
          },
          "content": "Only the fields you send change, and `null` clears a field. See [Invoice settings](/docs/v2/invoices/creating-and-sending#invoice-settings)."
        },
        "description": "Update the sender details, defaults and branding. Only the fields you send change, and `null` clears a field. See [Invoice settings](/docs/v2/invoices/creating-and-sending#invoice-settings).",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/invoice-settings-update"
              },
              "example": {
                "defaultPaymentTermsDays": 30,
                "logoDocumentId": "st_2rj4l7hmrrrcv",
                "branding": {
                  "backgroundColor": "#1F2937",
                  "titleColor": "#FFFFFF"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated invoice settings.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoice-settings"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/PublicApiV2Error400InvoicesSettingsUpdate"
          },
          "401": {
            "$ref": "#/components/responses/PublicApiV2Error401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/PublicApiV2Error403FeatureNotEnabledForbiddenForbiddenLegalEntityNotAvailableUserApiKeyRequired"
          },
          "404": {
            "$ref": "#/components/responses/PublicApiV2Error404InvoicesSettingsUpdate"
          },
          "429": {
            "$ref": "#/components/responses/PublicApiV2RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/PublicApiV2Error500Internal"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ]
      }
    }
  }
}
