> ## Documentation Index
> Fetch the complete documentation index at: https://docs.slash.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create invoice

> Create a new invoice.



## OpenAPI

````yaml post /invoice
openapi: 3.1.0
info:
  title: Slash Public API
  description: API description
  version: 0.0.1
  contact: {}
servers:
  - url: https://api.slash.com
    description: production
security:
  - api_key: []
  - partner_api_key: []
  - bearer: []
  - developer_application: []
paths:
  /invoice:
    post:
      description: Create a new invoice.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                accountId:
                  type: string
                  description: >-
                    The ID of the account to receive payment. You can get this
                    by calling `GET /account`.
                legalEntityContactId:
                  type: string
                  deprecated: true
                  description: >-
                    DEPRECATED. No longer accepted as of the contact→customer
                    migration. Pass `legalEntityCustomerId` instead.
                legalEntityCustomerId:
                  type: string
                  description: >-
                    The ID of the customer to bill. Create a customer first via
                    `POST /customer`.
                details:
                  $ref: >-
                    #/components/schemas/slashfi.models.entity.Invoice.InvoiceDetailsInput.yaml
                  x-entrypoint:
                    virtualPath: entity/Invoice/InvoiceDetailsInput
                    sourcePath: entity/Invoice/InvoiceDetailsInput.yaml
                    title: InvoiceDetailsInput
                    origin: >-
                      /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
                    globalImport: true
                    typescript:
                      importPath: import  * as models from '@slashfi/models';
                      symbolValue: models.entity.Invoice.InvoiceDetailsInput
                      typeValue: models.entity.Invoice.InvoiceDetailsInput
                paymentMethods:
                  type: array
                  description: Payment methods to enable on this invoice.
                  items:
                    $ref: >-
                      #/components/schemas/slashfi.models.entity.Invoice.InvoiceSlashPaymentMethodConfig.yaml
                    x-entrypoint:
                      virtualPath: entity/Invoice/InvoiceSlashPaymentMethodConfig
                      sourcePath: entity/Invoice/InvoiceSlashPaymentMethodConfig.yaml
                      title: InvoiceSlashPaymentMethodConfig
                      origin: >-
                        /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
                      globalImport: true
                      typescript:
                        importPath: import  * as models from '@slashfi/models';
                        symbolValue: models.entity.Invoice.InvoiceSlashPaymentMethodConfig
                        typeValue: models.entity.Invoice.InvoiceSlashPaymentMethodConfig
              required:
                - accountId
                - legalEntityCustomerId
                - details
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/slashfi.models.entity.Invoice.InvoiceAggregate.yaml
                x-entrypoint:
                  virtualPath: entity/Invoice/InvoiceAggregate
                  sourcePath: entity/Invoice/InvoiceAggregate.yaml
                  title: InvoiceAggregate
                  origin: >-
                    /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
                  globalImport: true
                  typescript:
                    importPath: import  * as models from '@slashfi/models';
                    symbolValue: models.entity.Invoice.InvoiceAggregate
                    typeValue: models.entity.Invoice.InvoiceAggregate
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: TooManyRequests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - api_key: []
        - bearer: []
components:
  schemas:
    slashfi.models.entity.Invoice.InvoiceDetailsInput.yaml:
      type: object
      additionalProperties: false
      properties:
        issuedAt:
          type: string
          format: date
        dueAt:
          type: string
          format: date
        invoiceTz:
          type: string
          description: IANA timezone identifier used for interpreting invoice dates
          example: America/New_York
        lineItemsAndTotals:
          $ref: >-
            #/components/schemas/slashfi.models.entity.Invoice.LineItemsAndTotalsInput.yaml
          x-entrypoint:
            virtualPath: entity/Invoice/LineItemsAndTotalsInput
            sourcePath: entity/Invoice/LineItemsAndTotalsInput.yaml
            title: LineItemsAndTotalsInput
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        invoiceNumber:
          $ref: >-
            #/components/schemas/slashfi.models.entity.Invoice.InvoiceNumber.yaml
          x-entrypoint:
            virtualPath: entity/Invoice/InvoiceNumber
            sourcePath: entity/Invoice/InvoiceNumber.yaml
            title: InvoiceNumber
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        memo:
          type: string
          minLength: 1
          maxLength: 500
        version:
          type: integer
          minimum: 1
          description: >-
            Current version of the invoice details for optimistic locking.
            Required on updates, ignored on create.
        ccEmails:
          type: array
          items:
            type: string
          maxItems: 10
      required:
        - issuedAt
        - dueAt
        - invoiceTz
        - lineItemsAndTotals
        - invoiceNumber
      x-entrypoint:
        virtualPath: entity/Invoice/InvoiceDetailsInput
        sourcePath: entity/Invoice/InvoiceDetailsInput.yaml
        title: InvoiceDetailsInput
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: InvoiceDetailsInput
    slashfi.models.entity.Invoice.InvoiceSlashPaymentMethodConfig.yaml:
      oneOf:
        - $ref: >-
            #/components/schemas/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodAchDebit.yaml
          x-entrypoint:
            virtualPath: entity/Invoice/PaymentMethod/PaymentMethodAchDebit
            sourcePath: entity/Invoice/PaymentMethod/PaymentMethodAchDebit.yaml
            title: PaymentMethodAchDebit
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        - $ref: >-
            #/components/schemas/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodCardPayment.yaml
          x-entrypoint:
            virtualPath: entity/Invoice/PaymentMethod/PaymentMethodCardPayment
            sourcePath: entity/Invoice/PaymentMethod/PaymentMethodCardPayment.yaml
            title: PaymentMethodCardPayment
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        - $ref: >-
            #/components/schemas/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodCryptoDeposit.yaml
          x-entrypoint:
            virtualPath: entity/Invoice/PaymentMethod/PaymentMethodCryptoDeposit
            sourcePath: entity/Invoice/PaymentMethod/PaymentMethodCryptoDeposit.yaml
            title: PaymentMethodCryptoDeposit
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        - $ref: >-
            #/components/schemas/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodInboundAchTransfer.yaml
          x-entrypoint:
            virtualPath: entity/Invoice/PaymentMethod/PaymentMethodInboundAchTransfer
            sourcePath: entity/Invoice/PaymentMethod/PaymentMethodInboundAchTransfer.yaml
            title: PaymentMethodInboundAchTransfer
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        - $ref: >-
            #/components/schemas/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodInboundInternationalWire.yaml
          x-entrypoint:
            virtualPath: entity/Invoice/PaymentMethod/PaymentMethodInboundInternationalWire
            sourcePath: >-
              entity/Invoice/PaymentMethod/PaymentMethodInboundInternationalWire.yaml
            title: PaymentMethodInboundInternationalWire
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        - $ref: >-
            #/components/schemas/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodInboundRtp.yaml
          x-entrypoint:
            virtualPath: entity/Invoice/PaymentMethod/PaymentMethodInboundRtp
            sourcePath: entity/Invoice/PaymentMethod/PaymentMethodInboundRtp.yaml
            title: PaymentMethodInboundRtp
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        - $ref: >-
            #/components/schemas/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodInboundWireTransfer.yaml
          x-entrypoint:
            virtualPath: entity/Invoice/PaymentMethod/PaymentMethodInboundWireTransfer
            sourcePath: entity/Invoice/PaymentMethod/PaymentMethodInboundWireTransfer.yaml
            title: PaymentMethodInboundWireTransfer
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
      x-entrypoint:
        virtualPath: entity/Invoice/InvoiceSlashPaymentMethodConfig
        sourcePath: entity/Invoice/InvoiceSlashPaymentMethodConfig.yaml
        title: InvoiceSlashPaymentMethodConfig
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: InvoiceSlashPaymentMethodConfig
    slashfi.models.entity.Invoice.InvoiceAggregate.yaml:
      type: object
      description: Aggregate model for an invoice
      properties:
        invoice:
          $ref: '#/components/schemas/slashfi.models.entity.Invoice.Invoice.yaml'
          x-entrypoint:
            virtualPath: entity/Invoice/Invoice
            sourcePath: entity/Invoice/Invoice.yaml
            title: Invoice
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        invoiceDetails:
          $ref: >-
            #/components/schemas/slashfi.models.entity.Invoice.InvoiceDetails.yaml
          x-entrypoint:
            virtualPath: entity/Invoice/InvoiceDetails
            sourcePath: entity/Invoice/InvoiceDetails.yaml
            title: InvoiceDetails
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        invoiceAccount:
          $ref: >-
            #/components/schemas/slashfi.models.entity.Invoice.InvoiceAccount.yaml
          x-entrypoint:
            virtualPath: entity/Invoice/InvoiceAccount
            sourcePath: entity/Invoice/InvoiceAccount.yaml
            title: InvoiceAccount
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
      required:
        - invoice
        - invoiceDetails
        - invoiceAccount
      x-entrypoint:
        virtualPath: entity/Invoice/InvoiceAggregate
        sourcePath: entity/Invoice/InvoiceAggregate.yaml
        title: InvoiceAggregate
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: InvoiceAggregate
    Error:
      type: object
      properties:
        message:
          type: string
        name:
          type: string
        identifier:
          type: string
        rawStatus:
          type: number
        meta:
          type: object
          additionalProperties: true
      required:
        - message
        - name
        - identifier
        - rawStatus
      x-entrypoint:
        origin: ./src/publicApi
        sourcePath: ./src/publicApi/main.yaml
        title: Error
        virtualPath: components/Error
      title: Error
    slashfi.models.entity.Invoice.LineItemsAndTotalsInput.yaml:
      type: object
      additionalProperties: false
      properties:
        lineItems:
          type: array
          items:
            $ref: >-
              #/components/schemas/slashfi.models.entity.Invoice.InvoiceLineItem.yaml
            x-entrypoint:
              virtualPath: entity/Invoice/InvoiceLineItem
              sourcePath: entity/Invoice/InvoiceLineItem.yaml
              title: InvoiceLineItem
              origin: >-
                /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
              globalImport: true
          minItems: 1
        discount:
          $ref: >-
            #/components/schemas/slashfi.models.entity.Invoice.InvoiceDiscount.yaml
          nullable: true
          x-entrypoint:
            virtualPath: entity/Invoice/InvoiceDiscount
            sourcePath: entity/Invoice/InvoiceDiscount.yaml
            title: InvoiceDiscount
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        tax:
          $ref: '#/components/schemas/slashfi.models.entity.Invoice.InvoiceTax.yaml'
          nullable: true
          x-entrypoint:
            virtualPath: entity/Invoice/InvoiceTax
            sourcePath: entity/Invoice/InvoiceTax.yaml
            title: InvoiceTax
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
      required:
        - lineItems
      x-entrypoint:
        virtualPath: entity/Invoice/LineItemsAndTotalsInput
        sourcePath: entity/Invoice/LineItemsAndTotalsInput.yaml
        title: LineItemsAndTotalsInput
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: LineItemsAndTotalsInput
    slashfi.models.entity.Invoice.InvoiceNumber.yaml:
      type: string
      pattern: ^[A-Z0-9-_]+$
      minLength: 1
      maxLength: 50
      description: >
        A user-defined invoice identifier. Allows uppercase letters (A-Z),
        numbers (0-9), dashes (-), and underscores (_).
      x-entrypoint:
        virtualPath: entity/Invoice/InvoiceNumber
        sourcePath: entity/Invoice/InvoiceNumber.yaml
        title: InvoiceNumber
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: InvoiceNumber
    slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodAchDebit.yaml:
      type: object
      properties:
        method:
          type: string
          enum:
            - ach_debit
        config:
          type: object
          properties:
            passFeeToPayer:
              type: boolean
          required:
            - passFeeToPayer
          additionalProperties: false
      required:
        - method
        - config
      x-entrypoint:
        virtualPath: entity/Invoice/PaymentMethod/PaymentMethodAchDebit
        sourcePath: entity/Invoice/PaymentMethod/PaymentMethodAchDebit.yaml
        title: PaymentMethodAchDebit
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: PaymentMethodAchDebit
    slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodCardPayment.yaml:
      type: object
      properties:
        method:
          type: string
          enum:
            - acquiring_payment
        config:
          type: object
          properties:
            passFeeToPayer:
              type: boolean
              enum:
                - false
          required:
            - passFeeToPayer
          additionalProperties: false
      required:
        - method
        - config
      x-entrypoint:
        virtualPath: entity/Invoice/PaymentMethod/PaymentMethodCardPayment
        sourcePath: entity/Invoice/PaymentMethod/PaymentMethodCardPayment.yaml
        title: PaymentMethodCardPayment
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: PaymentMethodCardPayment
    slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodCryptoDeposit.yaml:
      type: object
      properties:
        method:
          type: string
          enum:
            - crypto_deposit
        config:
          type: object
          properties:
            passFeeToPayer:
              type: boolean
            fiatRail:
              $ref: '#/components/schemas/slashfi.models.enums.OffRamp.Method.yaml'
              x-entrypoint:
                virtualPath: enums/OffRamp/Method
                sourcePath: enums/OffRamp/Method.yaml
                title: Method
                origin: >-
                  /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
                globalImport: true
          required:
            - passFeeToPayer
          additionalProperties: false
      required:
        - method
        - config
      x-entrypoint:
        virtualPath: entity/Invoice/PaymentMethod/PaymentMethodCryptoDeposit
        sourcePath: entity/Invoice/PaymentMethod/PaymentMethodCryptoDeposit.yaml
        title: PaymentMethodCryptoDeposit
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: PaymentMethodCryptoDeposit
    slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodInboundAchTransfer.yaml:
      type: object
      properties:
        method:
          type: string
          enum:
            - inbound_ach_transfer
        config:
          type: object
          additionalProperties: false
      required:
        - method
        - config
      x-entrypoint:
        virtualPath: entity/Invoice/PaymentMethod/PaymentMethodInboundAchTransfer
        sourcePath: entity/Invoice/PaymentMethod/PaymentMethodInboundAchTransfer.yaml
        title: PaymentMethodInboundAchTransfer
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: PaymentMethodInboundAchTransfer
    slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodInboundInternationalWire.yaml:
      type: object
      properties:
        method:
          type: string
          enum:
            - inbound_international_wire
        config:
          type: object
          additionalProperties: false
      required:
        - method
        - config
      x-entrypoint:
        virtualPath: entity/Invoice/PaymentMethod/PaymentMethodInboundInternationalWire
        sourcePath: >-
          entity/Invoice/PaymentMethod/PaymentMethodInboundInternationalWire.yaml
        title: PaymentMethodInboundInternationalWire
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: PaymentMethodInboundInternationalWire
    slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodInboundRtp.yaml:
      type: object
      properties:
        method:
          type: string
          enum:
            - inbound_rtp
        config:
          type: object
          additionalProperties: false
      required:
        - method
        - config
      x-entrypoint:
        virtualPath: entity/Invoice/PaymentMethod/PaymentMethodInboundRtp
        sourcePath: entity/Invoice/PaymentMethod/PaymentMethodInboundRtp.yaml
        title: PaymentMethodInboundRtp
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: PaymentMethodInboundRtp
    slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodInboundWireTransfer.yaml:
      type: object
      properties:
        method:
          type: string
          enum:
            - inbound_wire_transfer
        config:
          type: object
          additionalProperties: false
      required:
        - method
        - config
      x-entrypoint:
        virtualPath: entity/Invoice/PaymentMethod/PaymentMethodInboundWireTransfer
        sourcePath: entity/Invoice/PaymentMethod/PaymentMethodInboundWireTransfer.yaml
        title: PaymentMethodInboundWireTransfer
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: PaymentMethodInboundWireTransfer
    slashfi.models.entity.Invoice.Invoice.yaml:
      type: object
      description: Top-level invoice model
      properties:
        id:
          type: string
        status:
          $ref: '#/components/schemas/slashfi.models.entity.Invoice.Status.yaml'
          x-entrypoint:
            virtualPath: entity/Invoice/Status
            sourcePath: entity/Invoice/Status.yaml
            title: Status
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        collectedAmountCents:
          type: number
        invoiceDetailsId:
          type: string
        accountId:
          type: string
        legalEntityContactId:
          type: string
        legalEntityCustomerId:
          type: string
        invoicePaymentMethods:
          type: array
          items:
            $ref: >-
              #/components/schemas/slashfi.models.entity.Invoice.InvoiceSlashPaymentMethodConfig.yaml
            x-entrypoint:
              virtualPath: entity/Invoice/InvoiceSlashPaymentMethodConfig
              sourcePath: entity/Invoice/InvoiceSlashPaymentMethodConfig.yaml
              title: InvoiceSlashPaymentMethodConfig
              origin: >-
                /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
              globalImport: true
        invoiceTransactions:
          type: array
          items:
            $ref: >-
              #/components/schemas/slashfi.models.entity.Invoice.InvoiceTransaction.yaml
            x-entrypoint:
              virtualPath: entity/Invoice/InvoiceTransaction
              sourcePath: entity/Invoice/InvoiceTransaction.yaml
              title: InvoiceTransaction
              origin: >-
                /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
              globalImport: true
        closedAt:
          type: string
          format: date-time
          nullable: true
        invoiceSeriesId:
          type: string
          nullable: true
        scheduledSendDate:
          type: string
          format: date-time
          nullable: true
      required:
        - id
        - status
        - collectedAmountCents
        - invoiceDetailsId
        - accountId
        - invoiceTransactions
      x-entrypoint:
        virtualPath: entity/Invoice/Invoice
        sourcePath: entity/Invoice/Invoice.yaml
        title: Invoice
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: Invoice
    slashfi.models.entity.Invoice.InvoiceDetails.yaml:
      type: object
      properties:
        id:
          type: string
        issuedAt:
          type: string
          format: date-time
        dueAt:
          type: string
          format: date-time
        invoiceTz:
          type: string
          description: IANA timezone identifier used for interpreting invoice dates
          example: America/New_York
        currency:
          type: string
        lineItemsAndTotals:
          $ref: >-
            #/components/schemas/slashfi.models.entity.Invoice.LineItemsAndTotals.yaml
          x-entrypoint:
            virtualPath: entity/Invoice/LineItemsAndTotals
            sourcePath: entity/Invoice/LineItemsAndTotals.yaml
            title: LineItemsAndTotals
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        invoiceNumber:
          $ref: >-
            #/components/schemas/slashfi.models.entity.Invoice.InvoiceNumber.yaml
          x-entrypoint:
            virtualPath: entity/Invoice/InvoiceNumber
            sourcePath: entity/Invoice/InvoiceNumber.yaml
            title: InvoiceNumber
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        memo:
          type: string
          minLength: 1
          maxLength: 500
        documentId:
          type: string
        billedTo:
          type: object
          properties:
            name:
              type: string
            email:
              type: string
            address:
              $ref: '#/components/schemas/slashfi.models.entity.IAddressModel.yaml'
              x-entrypoint:
                virtualPath: entity/IAddressModel
                sourcePath: entity/IAddressModel.yaml
                title: IAddressModel
                origin: >-
                  /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
                globalImport: true
            ccEmails:
              type: array
              items:
                type: string
              maxItems: 10
          required:
            - name
            - email
        version:
          type: integer
          minimum: 1
      required:
        - id
        - issuedAt
        - dueAt
        - invoiceTz
        - currency
        - lineItemsAndTotals
        - invoiceNumber
        - documentId
        - billedTo
        - version
      x-entrypoint:
        virtualPath: entity/Invoice/InvoiceDetails
        sourcePath: entity/Invoice/InvoiceDetails.yaml
        title: InvoiceDetails
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: InvoiceDetails
    slashfi.models.entity.Invoice.InvoiceAccount.yaml:
      oneOf:
        - $ref: '#/components/schemas/slashfi.models.entity.Subaccount.Model.yaml'
          x-entrypoint:
            virtualPath: entity/Subaccount/Model
            sourcePath: entity/Subaccount/Model.yaml
            title: Model
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        - $ref: >-
            #/components/schemas/slashfi.models.entity.SlashAccount.Group.Model.yaml
          x-entrypoint:
            virtualPath: entity/SlashAccount/Group/Model
            sourcePath: entity/SlashAccount/Group/Model.yaml
            title: Model
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        - $ref: '#/components/schemas/slashfi.models.entity.SlashWalletAccount.yaml'
          x-entrypoint:
            virtualPath: entity/SlashWalletAccount
            sourcePath: entity/SlashWalletAccount.yaml
            title: SlashWalletAccount
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
      x-entrypoint:
        virtualPath: entity/Invoice/InvoiceAccount
        sourcePath: entity/Invoice/InvoiceAccount.yaml
        title: InvoiceAccount
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: InvoiceAccount
    slashfi.models.entity.Invoice.InvoiceLineItem.yaml:
      type: object
      additionalProperties: false
      properties:
        name:
          type: string
        quantity:
          type: number
        priceCents:
          type: number
        catalogItemId:
          type: string
          description: >-
            Optional provenance stamp indicating this line item was populated
            from a catalog item. Cleared if the user manually edits the name or
            price after selection.
      required:
        - name
        - quantity
        - priceCents
      x-entrypoint:
        virtualPath: entity/Invoice/InvoiceLineItem
        sourcePath: entity/Invoice/InvoiceLineItem.yaml
        title: InvoiceLineItem
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: InvoiceLineItem
    slashfi.models.entity.Invoice.InvoiceDiscount.yaml:
      discriminator:
        propertyName: type
      oneOf:
        - type: object
          additionalProperties: false
          properties:
            type:
              type: string
              enum:
                - percentage
            percent:
              type: number
          required:
            - type
            - percent
        - type: object
          additionalProperties: false
          properties:
            type:
              type: string
              enum:
                - fixed
            amountCents:
              type: number
          required:
            - type
            - amountCents
      x-entrypoint:
        virtualPath: entity/Invoice/InvoiceDiscount
        sourcePath: entity/Invoice/InvoiceDiscount.yaml
        title: InvoiceDiscount
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: InvoiceDiscount
    slashfi.models.entity.Invoice.InvoiceTax.yaml:
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
            - percentage
        percent:
          type: number
      required:
        - type
        - percent
      x-entrypoint:
        virtualPath: entity/Invoice/InvoiceTax
        sourcePath: entity/Invoice/InvoiceTax.yaml
        title: InvoiceTax
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: InvoiceTax
    slashfi.models.enums.OffRamp.Method.yaml:
      type: string
      enum:
        - wire
        - ach
        - instant
      x-entrypoint:
        virtualPath: enums/OffRamp/Method
        sourcePath: enums/OffRamp/Method.yaml
        title: Method
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: Method
    slashfi.models.entity.Invoice.Status.yaml:
      type: string
      enum:
        - void
        - unpaid
        - overdue
        - paid_partially
        - paid
        - scheduled
      x-entrypoint:
        virtualPath: entity/Invoice/Status
        sourcePath: entity/Invoice/Status.yaml
        title: Status
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: Status
    slashfi.models.entity.Invoice.InvoiceTransaction.yaml:
      oneOf:
        - type: object
          properties:
            transactionType:
              type: string
              enum:
                - external
            transaction:
              type: object
              properties:
                paymentMethod:
                  $ref: >-
                    #/components/schemas/slashfi.models.entity.Invoice.InvoiceReconciliationPaymentMethod.yaml
                  x-entrypoint:
                    virtualPath: entity/Invoice/InvoiceReconciliationPaymentMethod
                    sourcePath: entity/Invoice/InvoiceReconciliationPaymentMethod.yaml
                    title: InvoiceReconciliationPaymentMethod
                    origin: >-
                      /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
                    globalImport: true
                paidAt:
                  type: string
              required:
                - paymentMethod
                - paidAt
          required:
            - transactionType
            - transaction
        - type: object
          properties:
            transactionType:
              type: string
              enum:
                - internal
            transaction:
              type: object
              properties:
                aggregatedTransactionId:
                  type: string
              required:
                - aggregatedTransactionId
          required:
            - transactionType
            - transaction
      x-entrypoint:
        virtualPath: entity/Invoice/InvoiceTransaction
        sourcePath: entity/Invoice/InvoiceTransaction.yaml
        title: InvoiceTransaction
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: InvoiceTransaction
    slashfi.models.entity.Invoice.LineItemsAndTotals.yaml:
      type: object
      properties:
        lineItems:
          type: array
          items:
            $ref: >-
              #/components/schemas/slashfi.models.entity.Invoice.InvoiceLineItem.yaml
            x-entrypoint:
              virtualPath: entity/Invoice/InvoiceLineItem
              sourcePath: entity/Invoice/InvoiceLineItem.yaml
              title: InvoiceLineItem
              origin: >-
                /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
              globalImport: true
          minItems: 1
        discount:
          $ref: >-
            #/components/schemas/slashfi.models.entity.Invoice.InvoiceDiscount.yaml
          nullable: true
          x-entrypoint:
            virtualPath: entity/Invoice/InvoiceDiscount
            sourcePath: entity/Invoice/InvoiceDiscount.yaml
            title: InvoiceDiscount
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        tax:
          $ref: '#/components/schemas/slashfi.models.entity.Invoice.InvoiceTax.yaml'
          nullable: true
          x-entrypoint:
            virtualPath: entity/Invoice/InvoiceTax
            sourcePath: entity/Invoice/InvoiceTax.yaml
            title: InvoiceTax
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        subtotalCents:
          type: number
        totalAmountCents:
          type: number
      required:
        - lineItems
        - subtotalCents
        - totalAmountCents
      x-entrypoint:
        virtualPath: entity/Invoice/LineItemsAndTotals
        sourcePath: entity/Invoice/LineItemsAndTotals.yaml
        title: LineItemsAndTotals
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: LineItemsAndTotals
    slashfi.models.entity.IAddressModel.yaml:
      title: IAddressModel
      type: object
      properties:
        addressLine:
          type: string
        addressLine2:
          type: string
        addressCity:
          type: string
        addressState:
          type: string
        addressZip:
          type: string
        addressCountry:
          type: string
          minLength: 2
          maxLength: 2
          description: ISO 3166-1 Alpha-2 Country Code (e.g., US, FR, UK, DE, ...).
      required:
        - addressLine
        - addressCity
        - addressState
        - addressZip
      x-entrypoint:
        virtualPath: entity/IAddressModel
        sourcePath: entity/IAddressModel.yaml
        title: IAddressModel
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
    slashfi.models.entity.Subaccount.Model.yaml:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/slashfi.models.entity.Subaccount.Id.yaml'
          x-entrypoint:
            virtualPath: entity/Subaccount/Id
            sourcePath: entity/Subaccount/Id.yaml
            title: Id
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        name:
          type: string
        accountNumber:
          type: string
        routingNumber:
          type: string
        slashAccountGroupId:
          type: string
        closedAt:
          type: string
        accountType:
          type: string
          enum:
            - default
            - primary
      required:
        - id
        - name
        - slashAccountGroupId
        - accountType
      x-entrypoint:
        virtualPath: entity/Subaccount/Model
        sourcePath: entity/Subaccount/Model.yaml
        title: Model
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: Model
    slashfi.models.entity.SlashAccount.Group.Model.yaml:
      type: object
      properties:
        $entity:
          type: string
          enum:
            - slash_account_group
        id:
          type: string
        legalEntityId:
          type: string
        groupType:
          $ref: '#/components/schemas/slashfi.models.enums.SlashAccountGroupType.yaml'
          x-entrypoint:
            virtualPath: enums/SlashAccountGroupType
            sourcePath: enums/SlashAccountGroupType.yaml
            title: SlashAccountGroupType
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        accountType:
          $ref: '#/components/schemas/slashfi.models.enums.SlashAccountType.yaml'
          x-entrypoint:
            virtualPath: enums/SlashAccountType
            sourcePath: enums/SlashAccountType.yaml
            title: SlashAccountType
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        groupName:
          type: string
        provider:
          $ref: '#/components/schemas/slashfi.models.enums.SlashAccountProvider.yaml'
          x-entrypoint:
            virtualPath: enums/SlashAccountProvider
            sourcePath: enums/SlashAccountProvider.yaml
            title: SlashAccountProvider
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        currency:
          type: string
        accountNumber:
          type: string
        routingNumber:
          type: string
        lockedAt:
          type: string
        closedAt:
          type: string
        pendingClosedAt:
          type: string
        timestamp:
          type: string
        additionalData:
          type: object
          properties:
            avsSettings:
              $ref: >-
                #/components/schemas/slashfi.models.entity.SlashAccount.Group.Avs.AvsSettings.yaml
              x-entrypoint:
                virtualPath: entity/SlashAccount/Group/Avs/AvsSettings
                sourcePath: entity/SlashAccount/Group/Avs/AvsSettings.yaml
                title: AvsSettings
                origin: >-
                  /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
                globalImport: true
      required:
        - $entity
        - id
        - legalEntityId
        - groupType
        - accountType
        - groupName
        - currency
        - timestamp
      x-entrypoint:
        virtualPath: entity/SlashAccount/Group/Model
        sourcePath: entity/SlashAccount/Group/Model.yaml
        title: Model
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: Model
    slashfi.models.entity.SlashWalletAccount.yaml:
      type: object
      properties:
        $entity:
          type: string
          enum:
            - slash_wallet_account
        id:
          type: string
          description: The ID of the slash wallet account
        slashWalletId:
          type: string
          description: The ID of the slash wallet associated with this account
        chains:
          type: array
          items:
            $ref: '#/components/schemas/slashfi.models.enums.Crypto.Chain.yaml'
            x-entrypoint:
              virtualPath: enums/Crypto/Chain
              sourcePath: enums/Crypto/Chain.yaml
              title: Chain
              origin: >-
                /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
              globalImport: true
        protocol:
          type: string
          enum:
            - evm
            - solana
          description: The protocol that this wallet account supports
        address:
          type: string
          description: The blockchain address of the wallet account
        provider:
          type: string
          enum:
            - privy
            - alchemy
            - bridge
            - rain
          description: The provider of the wallet account
        providerId:
          type: string
          description: The ID of the entity on the provider's end
        createdAt:
          type: string
          format: date-time
          description: The timestamp when this wallet account was created
        timestamp:
          type: string
          format: date-time
          description: The timestamp when this record was last modified
      required:
        - $entity
        - id
        - slashWalletId
        - chains
        - address
        - provider
        - providerId
        - timestamp
      x-entrypoint:
        virtualPath: entity/SlashWalletAccount
        sourcePath: entity/SlashWalletAccount.yaml
        title: SlashWalletAccount
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: SlashWalletAccount
    slashfi.models.entity.Invoice.InvoiceReconciliationPaymentMethod.yaml:
      description: >-
        Payment methods for invoice reconciliation (includes Slash-trackable
        methods plus external-only options like 'other')
      oneOf:
        - $ref: >-
            #/components/schemas/slashfi.models.entity.Invoice.InvoiceSlashPaymentMethodConfig.yaml.properties.method
          x-entrypoint:
            virtualPath: entity/Invoice/InvoiceSlashPaymentMethodConfig
            sourcePath: entity/Invoice/InvoiceSlashPaymentMethodConfig.yaml
            title: InvoiceSlashPaymentMethodConfig
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        - type: string
          enum:
            - other
      x-entrypoint:
        virtualPath: entity/Invoice/InvoiceReconciliationPaymentMethod
        sourcePath: entity/Invoice/InvoiceReconciliationPaymentMethod.yaml
        title: InvoiceReconciliationPaymentMethod
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: InvoiceReconciliationPaymentMethod
    slashfi.models.entity.Subaccount.Id.yaml:
      type: string
      pattern: ^subaccount_[a-z0-9]*
      x-typescript:
        typeLiteral: subaccount_${string}
      description: Represent a Subaccount ID in the format of "subaccount_102jifoij01"
      x-entrypoint:
        virtualPath: entity/Subaccount/Id
        sourcePath: entity/Subaccount/Id.yaml
        title: Id
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: Id
    slashfi.models.enums.SlashAccountGroupType.yaml:
      type: string
      enum:
        - checking
        - charge_card
        - unsecured_charge_card
        - business_debit_card_account
        - savings
        - global_usd
        - acquiring
      x-entrypoint:
        virtualPath: enums/SlashAccountGroupType
        sourcePath: enums/SlashAccountGroupType.yaml
        title: SlashAccountGroupType
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: SlashAccountGroupType
    slashfi.models.enums.SlashAccountType.yaml:
      type: string
      enum:
        - consumer
        - commercial
      x-entrypoint:
        virtualPath: enums/SlashAccountType
        sourcePath: enums/SlashAccountType.yaml
        title: SlashAccountType
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: SlashAccountType
    slashfi.models.enums.SlashAccountProvider.yaml:
      type: string
      enum:
        - bnk.dev
        - stripe
        - slash_stripe
        - treasury_prime
        - orum
        - column
        - slash
        - privy
        - alchemy
        - bridge
        - rain
      x-entrypoint:
        virtualPath: enums/SlashAccountProvider
        sourcePath: enums/SlashAccountProvider.yaml
        title: SlashAccountProvider
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: SlashAccountProvider
    slashfi.models.entity.SlashAccount.Group.Avs.AvsSettings.yaml:
      type: object
      properties:
        avsMode:
          type: string
          enum:
            - alwaysApprove
            - proper
            - custom
        constraints:
          $ref: >-
            #/components/schemas/slashfi.models.entity.SlashAccount.Group.Avs.AvsConstraint.yaml
          deprecated: true
          x-entrypoint:
            virtualPath: entity/SlashAccount/Group/Avs/AvsConstraint
            sourcePath: entity/SlashAccount/Group/Avs/AvsConstraint.yaml
            title: AvsConstraint
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        avsAddress:
          type: object
          properties:
            addressLine1:
              type: string
            addressLine2:
              type: string
            city:
              type: string
            state:
              type: string
            zip:
              type: string
            country:
              type: string
          required:
            - addressLine1
            - city
            - state
            - zip
            - country
      required:
        - avsMode
      x-entrypoint:
        virtualPath: entity/SlashAccount/Group/Avs/AvsSettings
        sourcePath: entity/SlashAccount/Group/Avs/AvsSettings.yaml
        title: AvsSettings
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: AvsSettings
    slashfi.models.enums.Crypto.Chain.yaml:
      type: string
      enum:
        - aptos
        - arbitrum
        - avalanche
        - base
        - celo
        - ethereum
        - hyperevm
        - optimism
        - plasma
        - polygon
        - solana
        - stellar
        - sui
        - tempo
        - tron
      x-entrypoint:
        virtualPath: enums/Crypto/Chain
        sourcePath: enums/Crypto/Chain.yaml
        title: Chain
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: Chain
    slashfi.models.entity.Invoice.InvoiceSlashPaymentMethodConfig.yaml.properties.method:
      oneOf:
        - $ref: >-
            #/components/schemas/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodAchDebit.yaml
          x-entrypoint:
            virtualPath: entity/Invoice/PaymentMethod/PaymentMethodAchDebit
            sourcePath: entity/Invoice/PaymentMethod/PaymentMethodAchDebit.yaml
            title: PaymentMethodAchDebit
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        - $ref: >-
            #/components/schemas/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodCardPayment.yaml
          x-entrypoint:
            virtualPath: entity/Invoice/PaymentMethod/PaymentMethodCardPayment
            sourcePath: entity/Invoice/PaymentMethod/PaymentMethodCardPayment.yaml
            title: PaymentMethodCardPayment
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        - $ref: >-
            #/components/schemas/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodCryptoDeposit.yaml
          x-entrypoint:
            virtualPath: entity/Invoice/PaymentMethod/PaymentMethodCryptoDeposit
            sourcePath: entity/Invoice/PaymentMethod/PaymentMethodCryptoDeposit.yaml
            title: PaymentMethodCryptoDeposit
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        - $ref: >-
            #/components/schemas/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodInboundAchTransfer.yaml
          x-entrypoint:
            virtualPath: entity/Invoice/PaymentMethod/PaymentMethodInboundAchTransfer
            sourcePath: entity/Invoice/PaymentMethod/PaymentMethodInboundAchTransfer.yaml
            title: PaymentMethodInboundAchTransfer
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        - $ref: >-
            #/components/schemas/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodInboundInternationalWire.yaml
          x-entrypoint:
            virtualPath: entity/Invoice/PaymentMethod/PaymentMethodInboundInternationalWire
            sourcePath: >-
              entity/Invoice/PaymentMethod/PaymentMethodInboundInternationalWire.yaml
            title: PaymentMethodInboundInternationalWire
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        - $ref: >-
            #/components/schemas/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodInboundRtp.yaml
          x-entrypoint:
            virtualPath: entity/Invoice/PaymentMethod/PaymentMethodInboundRtp
            sourcePath: entity/Invoice/PaymentMethod/PaymentMethodInboundRtp.yaml
            title: PaymentMethodInboundRtp
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
        - $ref: >-
            #/components/schemas/slashfi.models.entity.Invoice.PaymentMethod.PaymentMethodInboundWireTransfer.yaml
          x-entrypoint:
            virtualPath: entity/Invoice/PaymentMethod/PaymentMethodInboundWireTransfer
            sourcePath: entity/Invoice/PaymentMethod/PaymentMethodInboundWireTransfer.yaml
            title: PaymentMethodInboundWireTransfer
            origin: >-
              /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
            globalImport: true
      x-entrypoint:
        virtualPath: entity/Invoice/InvoiceSlashPaymentMethodConfig
        sourcePath: entity/Invoice/InvoiceSlashPaymentMethodConfig.yaml
        title: InvoiceSlashPaymentMethodConfig
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: InvoiceSlashPaymentMethodConfig
    slashfi.models.entity.SlashAccount.Group.Avs.AvsConstraint.yaml:
      type: object
      properties:
        merchantCategoryRule:
          type: object
          properties:
            merchantCategories:
              type: array
              items:
                type: string
            restriction:
              $ref: >-
                #/components/schemas/slashfi.models.entity.CardGroup.Restriction.yaml
              x-entrypoint:
                virtualPath: entity/CardGroup/Restriction
                sourcePath: entity/CardGroup/Restriction.yaml
                title: Restriction
                origin: >-
                  /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
                globalImport: true
          required:
            - merchantCategories
            - restriction
        merchantRule:
          type: object
          properties:
            merchants:
              type: array
              items:
                type: string
            restriction:
              $ref: >-
                #/components/schemas/slashfi.models.entity.CardGroup.Restriction.yaml
              x-entrypoint:
                virtualPath: entity/CardGroup/Restriction
                sourcePath: entity/CardGroup/Restriction.yaml
                title: Restriction
                origin: >-
                  /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
                globalImport: true
          required:
            - merchants
            - restriction
        countryRestriction:
          type: object
          properties:
            countries:
              type: array
              items:
                type: string
            restriction:
              $ref: >-
                #/components/schemas/slashfi.models.entity.CardGroup.Restriction.yaml
              x-entrypoint:
                virtualPath: entity/CardGroup/Restriction
                sourcePath: entity/CardGroup/Restriction.yaml
                title: Restriction
                origin: >-
                  /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
                globalImport: true
          required:
            - restriction
            - countries
        merchantCategoryCodeRule:
          type: object
          properties:
            restriction:
              $ref: >-
                #/components/schemas/slashfi.models.entity.CardGroup.Restriction.yaml
              x-entrypoint:
                virtualPath: entity/CardGroup/Restriction
                sourcePath: entity/CardGroup/Restriction.yaml
                title: Restriction
                origin: >-
                  /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
                globalImport: true
            merchantCategoryCodes:
              type: array
              items:
                type: string
          required:
            - restriction
            - merchantCategoryCodes
      x-entrypoint:
        virtualPath: entity/SlashAccount/Group/Avs/AvsConstraint
        sourcePath: entity/SlashAccount/Group/Avs/AvsConstraint.yaml
        title: AvsConstraint
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: AvsConstraint
    slashfi.models.entity.CardGroup.Restriction.yaml:
      type: string
      enum:
        - allowlist
        - blacklist
      x-entrypoint:
        virtualPath: entity/CardGroup/Restriction
        sourcePath: entity/CardGroup/Restriction.yaml
        title: Restriction
        origin: >-
          /home/packages/api-specs/server-api-v2/node_modules/@slashfi/models/schemas
        globalImport: true
      title: Restriction
  securitySchemes:
    api_key:
      type: apiKey
      description: |
        API key authentication for public API requests.

        Keys come in two flavors:

        - *Legal-entity-scoped keys* are pinned to a single legal entity.
          Minted via the dashboard under a specific entity; every request
          acts on that entity.
        - *User-scoped keys* are pinned to a user and span every legal
          entity that user has access to. Every request made with a
          user-scoped key (except `GET /legal-entity`, which lists the
          legal entities the user can access) must include an
          `x-legal-entity` header naming the legal entity the request is
          operating on. Requests without the header are rejected with
          `400`. The authenticated user must have an active permission
          role on the supplied legal entity, otherwise the request is
          rejected with `403`.
      name: X-API-Key
      in: header
    partner_api_key:
      type: apiKey
      description: |
        Partner-program API key authentication.

        Keys are minted in the partner dashboard (Developers → API Keys),
        are scoped to a single partner program, and are prefixed with
        `sk_partner_`. Partner keys are only accepted by routes that
        declare this scheme; they are rejected by `api_key` routes and
        vice versa.
      name: X-API-Key
      in: header
    bearer:
      type: http
      scheme: bearer
    developer_application:
      type: http
      scheme: basic

````