Wingspan Invoice Management API

Covers endpoints related to invoice creation, retrieval, and management. This includes both member and client invoices, along with specific actions like sending invoices by email and managing invoice templates.

Operations 24

GET /payments/invoice Retrieve All Member Invoices #
POST /payments/invoice Initiate New Invoice for a Member #
GET /payments/invoice/{id} Fetch Invoice by ID #
PATCH /payments/invoice/{id} Modify Existing Invoice Details #
DELETE /payments/invoice/{id} Remove Invoice Record by ID #
GET /payments/client/invoice Retrieve All Invoices Generated by a Client #
POST /payments/client/invoice Generate a New Invoice on Behalf of the Client #
GET /payments/client/invoice/{id} Fetch Specific Client-Generated Invoice by ID #
PATCH /payments/client/invoice/{id} Modify an Existing Client-Generated Invoice #
POST /payments/client/invoice/{invoice_id}/pay Execute Payment for a Client-Generated Invoice #
GET /payments/invoice-template Retrieve all available invoice templates #
POST /payments/invoice-template Create a new invoice template #
GET /payments/invoice-template/{id} Retrieve a specific invoice template by ID #
PATCH /payments/invoice-template/{id} Modify details of an existing invoice template #
DELETE /payments/invoice-template/{id} Remove a specific invoice template #
GET /payments/client/invoice-template Retrieve all client-generated invoice templates #
POST /payments/client/invoice-template Create a new client-generated invoice template #
GET /payments/client/invoice-template/{id} Fetch a specific client-generated invoice template by ID #
PATCH /payments/client/invoice-template/{id} Modify a client-generated invoice template #
POST /payments/invoice/{invoice_id}/generate Generate a PDF for a specific invoice #
POST /payments/invoice/{invoice_id}/send Send an invoice by email #
POST /payments/invoice/{invoice_id}/refund Refund a deposited invoice #
GET /payments/client/invoice/{invoice_id}/fees Retrieve Fees Associated with a Client's Invoice #
POST /payments/invoice/test/create Generate Test Invoice for a Client #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/wingspan-invoice-management-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

wingspan-invoice-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Wingspan Payments 1099 Operations Invoice Management API
  description: Payments
  termsOfService: https://www.wingspan.app
  contact:
    name: Wingspan API Support
    url: https://www.wingspan.app
    email: support@wingspan.app
  license:
    name: UNLICENSED
    url: https://UNLICENSED
  version: 1.0.0-oas3.1
servers:
- url: https://api.wingspan.app
  description: Wingspan's Payments API in Production
  x-speakeasy-server-id: prod
- url: https://stagingapi.wingspan.app
  description: Wingspan's Payments API in Staging
  x-speakeasy-server-id: staging
security:
- BearerAuth: []
tags:
- name: Invoice Management
  description: Covers endpoints related to invoice creation, retrieval, and management. This includes both member and client invoices, along with specific actions like sending invoices by email and managing invoice templates.
paths:
  /payments/invoice:
    get:
      summary: Retrieve All Member Invoices
      operationId: getMemberInvoices
      x-speakeasy-name-override: get_member
      tags:
      - Invoice Management
      description: Fetch a complete list of invoices associated with members, providing a comprehensive overview of all member-related billing details.
      responses:
        '200':
          description: A list of invoices
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Invoice'
    post:
      summary: Initiate New Invoice for a Member
      operationId: createInvoice
      x-speakeasy-name-override: create
      tags:
      - Invoice Management
      description: Facilitates the creation of a new invoice for a member using the provided invoice details. Useful for adding new billing records.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InvoiceCreateRequest'
      responses:
        '200':
          description: An invoice
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invoice'
  /payments/invoice/{id}:
    get:
      parameters:
      - in: path
        required: true
        name: id
        description: Unique identifier
        schema:
          type: string
      summary: Fetch Invoice by ID
      operationId: getInvoice
      x-speakeasy-name-override: get
      tags:
      - Invoice Management
      description: Retrieve the specifics of an individual invoice associated with a member using its unique ID. Ideal for diving into invoice details.
      responses:
        '200':
          description: An invoice
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invoice'
    patch:
      parameters:
      - in: path
        required: true
        name: id
        description: Unique identifier
        schema:
          type: string
      summary: Modify Existing Invoice Details
      operationId: updateInvoice
      x-speakeasy-name-override: update
      tags:
      - Invoice Management
      description: Allows updates to the details of an existing member invoice using its unique ID. Useful for making corrections or updates to billing records.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InvoiceUpdateRequest'
      responses:
        '200':
          description: An invoice
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invoice'
    delete:
      parameters:
      - in: path
        required: true
        name: id
        description: Unique identifier
        schema:
          type: string
      summary: Remove Invoice Record by ID
      operationId: deleteInvoice
      x-speakeasy-name-override: delete
      tags:
      - Invoice Management
      description: Enables the deletion of a specific member's invoice using its unique ID, helping in maintaining accurate billing records.
      responses:
        '200':
          description: An invoice
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invoice'
  /payments/client/invoice:
    get:
      summary: Retrieve All Invoices Generated by a Client
      operationId: listGeneratedInvoices
      x-speakeasy-name-override: list
      tags:
      - Invoice Management
      description: Fetch a comprehensive list of invoices that have been generated by a client, offering an overview of all client-related billing records.
      responses:
        '200':
          description: A list of Client Created Invoices
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ClientInvoice'
    post:
      summary: Generate a New Invoice on Behalf of the Client
      operationId: createGeneratedInvoice
      x-speakeasy-name-override: create_generated
      tags:
      - Invoice Management
      description: Enables the creation of a new invoice on behalf of a client using the provided details, facilitating new billing records.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientInvoiceCreateRequest'
      responses:
        '200':
          description: A client created invoice
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientInvoice'
  /payments/client/invoice/{id}:
    get:
      parameters:
      - in: path
        required: true
        name: id
        description: Unique identifier
        schema:
          type: string
      summary: Fetch Specific Client-Generated Invoice by ID
      operationId: getGeneratedInvoice
      x-speakeasy-name-override: get_generated
      tags:
      - Invoice Management
      description: Retrieve detailed information of an individual invoice created by a client using its unique ID for in-depth billing analysis.
      responses:
        '200':
          description: A client created invoice
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientInvoice'
    patch:
      parameters:
      - in: path
        required: true
        name: id
        description: Unique identifier
        schema:
          type: string
      summary: Modify an Existing Client-Generated Invoice
      operationId: updateGeneratedInvoice
      x-speakeasy-name-override: update_generated
      tags:
      - Invoice Management
      description: Allows for modifications to a client-generated invoice using its unique ID, ensuring billing details remain current and accurate.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientInvoiceUpdateRequest'
      responses:
        '200':
          description: A client created invoice
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientInvoice'
  /payments/client/invoice/{invoice_id}/pay:
    post:
      parameters:
      - in: path
        required: true
        name: invoice_id
        description: Unique identifier of an invoice
        schema:
          type: string
      summary: Execute Payment for a Client-Generated Invoice
      operationId: executeClientInvoicePayment
      x-speakeasy-name-override: execute
      tags:
      - Invoice Management
      description: Process a payment for a specific client-generated invoice using the provided details, ensuring the invoice is marked as settled.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayRequest'
      responses:
        '200':
          description: A client created invoice
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientInvoice'
  /payments/invoice-template:
    get:
      summary: Retrieve all available invoice templates
      operationId: listInvoiceTemplates
      x-speakeasy-name-override: list_templates
      tags:
      - Invoice Management
      description: Fetches a comprehensive list of all invoice templates in the system.
      responses:
        '200':
          description: At list of invoice templates
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InvoiceTemplate'
    post:
      summary: Create a new invoice template
      operationId: createInvoiceTemplate
      x-speakeasy-name-override: create_template
      tags:
      - Invoice Management
      description: Creates a new invoice template based on the provided details.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InvoiceTemplateCreateRequest'
      responses:
        '200':
          description: A recurring invoice
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceTemplate'
  /payments/invoice-template/{id}:
    get:
      parameters:
      - in: path
        required: true
        name: id
        description: Unique identifier
        schema:
          type: string
      summary: Retrieve a specific invoice template by ID
      operationId: getInvoiceTemplate
      x-speakeasy-name-override: get_template
      tags:
      - Invoice Management
      description: Fetches details of the invoice template corresponding to the provided unique identifier.
      responses:
        '200':
          description: A recurring invoice
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceTemplate'
    patch:
      parameters:
      - in: path
        required: true
        name: id
        description: Unique identifier
        schema:
          type: string
      summary: Modify details of an existing invoice template
      operationId: updateInvoiceTemplate
      x-speakeasy-name-override: update_template
      tags:
      - Invoice Management
      description: Updates details of the specified invoice template based on the provided information.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InvoiceTemplateUpdateRequest'
      responses:
        '200':
          description: A recurring invoice
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceTemplate'
    delete:
      parameters:
      - in: path
        required: true
        name: id
        description: Unique identifier
        schema:
          type: string
      summary: Remove a specific invoice template
      operationId: deleteInvoiceTemplate
      x-speakeasy-name-override: delete_template
      tags:
      - Invoice Management
      description: Deletes the invoice template associated with the provided unique identifier.
      responses:
        '200':
          description: A recurring invoice
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceTemplate'
  /payments/client/invoice-template:
    get:
      summary: Retrieve all client-generated invoice templates
      operationId: listClientInvoiceTemplates
      x-speakeasy-name-override: list_client
      tags:
      - Invoice Management
      description: Fetches a comprehensive list of all invoice templates created by clients in the system.
      responses:
        '200':
          description: A list of Client Created Invoice Template
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ClientInvoiceTemplate'
    post:
      summary: Create a new client-generated invoice template
      operationId: createClientInvoiceTemplate
      x-speakeasy-name-override: create_client
      tags:
      - Invoice Management
      description: Allows clients to create a new invoice template based on the provided details.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientInvoiceTemplateCreateRequest'
      responses:
        '200':
          description: A client created invoiceTemplate (recurring Invoice)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientInvoiceTemplate'
  /payments/client/invoice-template/{id}:
    get:
      parameters:
      - in: path
        required: true
        name: id
        description: Unique identifier
        schema:
          type: string
      summary: Fetch a specific client-generated invoice template by ID
      operationId: getClientInvoiceTemplate
      x-speakeasy-name-override: get_client
      tags:
      - Invoice Management
      description: Provides details of the client-generated invoice template associated with the provided unique identifier.
      responses:
        '200':
          description: A client created invoiceTemplate (recurring Invoice)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientInvoiceTemplate'
    patch:
      parameters:
      - in: path
        required: true
        name: id
        description: Unique identifier
        schema:
          type: string
      summary: Modify a client-generated invoice template
      operationId: updateClientInvoiceTemplate
      x-speakeasy-name-override: update_client
      tags:
      - Invoice Management
      description: Updates the specified client-generated invoice template with the provided modifications.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientInvoiceTemplateUpdateRequest'
      responses:
        '200':
          description: A client created invoiceTemplate (recurring Invoice)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientInvoiceTemplate'
  /payments/invoice/{invoice_id}/generate:
    post:
      parameters:
      - in: path
        required: true
        name: invoice_id
        description: Unique identifier of an invoice
        schema:
          type: string
      summary: Generate a PDF for a specific invoice
      operationId: generateSpecificInvoice
      x-speakeasy-name-override: generate
      tags:
      - Invoice Management
      description: This endpoint allows for the dynamic generation of a PDF document for a given invoice, identified by its unique ID.
      responses:
        '200':
          description: Response from generation of invoice pdf
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoicePdfGenerationResponse'
  /payments/invoice/{invoice_id}/send:
    post:
      parameters:
      - in: path
        required: true
        name: invoice_id
        description: Unique identifier of an invoice
        schema:
          type: string
      summary: Send an invoice by email
      operationId: sendInvoiceEmail
      x-speakeasy-name-override: send
      tags:
      - Invoice Management
      description: Use this endpoint to send an invoice by email using its unique ID for identification.
      responses:
        '200':
          description: An invoice
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invoice'
  /payments/invoice/{invoice_id}/refund:
    post:
      parameters:
      - in: path
        required: true
        name: invoice_id
        description: Unique identifier of an invoice
        schema:
          type: string
      summary: Refund a deposited invoice
      operationId: refundDepositedInvoice
      x-speakeasy-name-override: refund
      tags:
      - Invoice Management
      description: Use this endpoint to refund a specific amount of a deposited invoice.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InvoiceRefundRequest'
      responses:
        '200':
          description: An invoice
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invoice'
  /payments/client/invoice/{invoice_id}/fees:
    get:
      parameters:
      - in: path
        required: true
        name: invoice_id
        description: Unique identifier of an invoice
        schema:
          type: string
      summary: Retrieve Fees Associated with a Client's Invoice
      operationId: getInvoiceFees
      x-speakeasy-name-override: get_fees
      tags:
      - Invoice Management
      description: Obtain a detailed breakdown of all the fees associated with a specific client's invoice, identified by its unique ID.
      responses:
        '200':
          description: Fees on Invoice
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceFeeCalculation'
  /payments/invoice/test/create:
    post:
      summary: Generate Test Invoice for a Client
      operationId: generateTestInvoice
      x-speakeasy-name-override: generate_test
      tags:
      - Invoice Management
      description: Use this endpoint to create a test invoice for testing and validation purposes. This invoice will mimic a client's real invoice.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestInvoiceCreate'
      responses:
        '200':
          description: A client created invoice
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientInvoice'
components:
  schemas:
    6ad3f4f624fb518510130e879729b00ed8c237d1cebc5477abf34ac340a6424d:
      type: object
      properties:
        expenseAccountId:
          type:
          - string
          - 'null'
        itemId:
          type:
          - string
          - 'null'
    ScheduleDate:
      type: object
      properties:
        date:
          type: string
        status:
          type: string
          enum:
          - Pending
          - Completed
          - Skipped
          - Modified
        cutOffDate:
          type:
          - string
          - 'null'
        invoiceId:
          type:
          - string
          - 'null'
        invoiceTemplateId:
          type:
          - string
          - 'null'
      required:
      - date
      - status
    InvoiceAmountDetails:
      type: object
      properties:
        clientPaid:
          type: number
        collaboratorPayments:
          type: number
        deductions:
          type: number
        memberGross:
          type: number
        memberNet:
          type: number
        memberTaxWithheld:
          type: number
        processingFee:
          type: number
        wingspanTopUp:
          type: number
        clientRefunded:
          type:
          - number
          - 'null'
      required:
      - clientPaid
      - collaboratorPayments
      - deductions
      - memberGross
      - memberNet
      - memberTaxWithheld
      - processingFee
      - wingspanTopUp
    InvoicePayment:
      type: object
      properties:
        amount:
          type: number
        createdAt:
          type: string
        events:
          $ref: '#/components/schemas/fdde61b278ad2b0bef3e1f411d3749ff7bc345ae633a85eb25e5990d251fb3a9'
        labels:
          $ref: '#/components/schemas/LabelsDictionary'
        paymentId:
          type: string
        sourceId:
          type: string
        sourceMetadata:
          $ref: '#/components/schemas/fa804b4efa97e487035ead1834462b69564f5e4ebbbd376106a1847d1c1aa4f4'
        sourceType:
          type: string
          enum:
          - Account
          - Card
          - InternalAccount
        status:
          type: string
          enum:
          - Created
          - Failed
          - Pending
          - Sent
          - Cleared
          - Returned
        updatedAt:
          type: string
        statusReason:
          type:
          - string
          - 'null'
          enum:
          - InsufficientFunds
          - AccountNotFound
          - Unauthorized
          - GenericBankError
          - GenericCardError
          - CardCurrencyNotSupported
          - CardExpired
          - CardInputInvalid
          - null
      required:
      - amount
      - createdAt
      - events
      - labels
      - paymentId
      - sourceId
      - sourceMetadata
      - sourceType
      - status
      - updatedAt
    MemberData:
      type: object
      properties:
        autoPayRequirement:
          type:
          - string
          - 'null'
          enum:
          - All
          - None
          - null
        externalId:
          type:
          - string
          - 'null'
        shareTaxDocument:
          type:
          - string
          - 'null'
          enum:
          - Allow
          - Decline
          - null
    InvoiceMetadata:
      type: object
      properties:
        depositNote:
          type:
          - string
          - 'null'
        invoiceDate:
          type:
          - string
          - 'null'
        payoutPendingReason:
          type:
          - string
          - 'null'
          enum:
          - Admin
          - PaymentNotClearedCard
          - PaymentNotCleared
          - PaymentNotClearedCollaborator
          - PaymentNotClearedFuture
          - PlatformErrorCard
          - PlatformErrorGeneric
          - PayoutNotEligibleYet
          - PayoutMethodNotSelected
          - PayoutMethodError
          - PlatformErrorGiftCard
          - PayoutGiftCardLinkPending
          - InstantPayoutMethodNotSelected
          - PlatformErrorInstantPayout
          - InstantPayoutNotEligibleYet
          - PlatformErrorCurrencyCloud
          - null
        pendingStatusReason:
          type:
          - string
          - 'null'
          enum:
          - CollaboratorMissingCustomEligibilityRequirement
          - CollaboratorMissingEligibilityRequirement
          - MemberPayoutMethodNotSelected
          - MemberTaxDocumentationNotVerified
          - null
        purchaseOrderNumber:
          type:
          - string
          - 'null'
    ExternalIdsBulkImport:
      type: object
      properties:
        bulkItemMergeKey:
          type:
          - string
          - 'null'
    ClientInvoiceCreateRequest:
      type: object
      properties:
        clientEmail:
          type: string
        dueDate:
          type: string
        lineItems:
          type: array
          items:
            $ref: '#/components/schemas/InvoiceLineItemsCreateRequest'
        memberId:
          type: string
        clientCompany:
          type:
          - string
          - 'null'
        clientEmailCC:
          type:
          - array
          - 'null'
          items:
            type:
            - string
            - 'null'
        clientFirstName:
          type:
          - string
          - 'null'
        clientLastName:
          type:
          - string
          - 'null'
        creditFeeHandling:
          oneOf:
          - type: 'null'
          - $ref: '#/components/schemas/FeeHandlingConfig'
        currency:
          type:
          - string
          - 'null'
          enum:
          - USD
          - CAD
          - null
      required:
      - clientEmail
      - dueDate
      - lineItems
      - memberId
    MemberClientFormW9Info:
      type: object
      properties:
        addressLine1:
          type:
          - string
          - 'null'
        addressLine2:
          type:
          - string
          - 'null'
        city:
          type:
          - string
          - 'null'
        companyStructure:
          type:
          - string
          - 'null'
          enum:
          - None
          - SoleProprietorship
          - LlcSingleMember
          - LlcMultiMember
          - CorporationS
          - LLCCorporationS
          - LLCCorporationC
          - LLCPartnership
          - CorporationC
          - Partnership
          - null
        country:
          type:
          - string
          - 'null'
        dob:
          type:
          - string
          - 'null'
        ein:
          type:
          - string
          - 'null'
        firstName:
          type:
          - string
          - 'null'
        lastName:
          type:
          - string
          - 'null'
        legalBusinessName:
          type:
          - string
          - 'null'
        postalCode:
          type:
          - string
          - 'null'
        ssn:
          type:
          - string
          - 'null'
        state:
          type:
          - string
          - 'null'
    BankAccount:
      type: object
      properties:
        accountNumber:
          type: string
        bankName:
          type: string
        routingNumber:
          type:
          - string
          - 'null'
        swiftCode:
          type:
          - string
          - 'null'
      required:
      - accountNumber
      - bankName
    InvoicePayoutDestination:
      type: object
      properties:
        amount:
          type: number
        description:
          type: string
        destinationType:
          type: string
          enum:
          - Account
          - Card
          - InternalAccount
          - PaperCheck
          - WeGift
        payoutMethod:
          type: string
          enum:
          - Standard
          - Instant
          - Expedited
          - Check
          - ECheck
        percentage:
          type: number
        transferId:
          type: string
        brand:
          type:
          - string
          - 'null'
        destinationId:
          type:
          - string
          - 'null'
        last4:
          type:
          - string
          - 'null'
      required:
      - amount
      - description
      - destinationType
      - payoutMethod
      - percentage
      - transferId
    UserRoles:
      type: object
      properties:
        ownerIds:
          type: array
          items:
            type: string
        viewerIds:
          type: array
          items:
            type: string
      required:
      - ownerIds
      - viewerIds
    ClientInvoiceTemplateUpdateRequest:
      type: object
      properties:
        clientId:
          type: string
        accountId:
          type:
          - string
          - 'null'
        paymentMethodId:
          type:
          - string
          - 'null'
      required:
      - clientId
    3d33fba3f009de957b3be92fba006d6383af7e39f823cc1fd213506f6205100f:
      type: object
      properties:
        quickbooks:
          oneOf:
          - type: 'null'
          - $ref: '#/components/schemas/d86c1fba5267ac3d9ce2954a6e46b70e471c0f91a44abbe94565ae50e6e9e863'
    InvoiceRefundDestination:
      type: object
      properties:
        amount:
          type: number
        createdAt:
          type: string
        destinationType:
          type: string
          enum:
          - Account
          - Card
          - InternalAccount
          - PaperCheck
          - WeGift
        events:
          $ref: '#/components/schemas/InvoiceRefundEvents'
        labels:
          $ref: '#/components/schemas/LabelsDictionary'
        refundType:
          type: string
          enum:
          - Account
          - TaxWithholding
          - Wallet
          - Card
        updatedAt:
          type: string
        destinationId:
          type:
          - string
          - 'null'
        stripeTransferId:
          type:
          - string
          - 'null'
        transactionId:
          type:
          - string
          - 'null'
        transferId:
          type:
          - string
          - 'null'
      required:
      - amount
      - createdAt
      - destinationType
      - events
      - labels
      - refundType
      - updatedAt
    InvoiceEvents:
      type: object
      properties:
        approvedAt:
          type:
          - string
          - 'null'
        cancelledAt:
          type:
          - string
          - 'null'
        clientDeclinedAt:
          type:
          - string
          - 'null'
        clientResolvedDisputeAt:
          type:
          - string
          - 'null'
        depositedAt:
          type:
          - string
          - 'null'
        depositedToPayoutPlatformAt:
          type:
          - string
          - 'null'
        disputedAt:
          type:
          - string
          - 'null'
        emailMarkedAsSpamAt:
          type:
          - string
          - 'null'
        emailReceivedAt:
          type:
          - array
          - 'null'
          items:
            type:
            - string
            - 'null'
        emailUndeliverableAt:
          type:
          - string
          - 'null'
        emailViewedAt:
          type:
          - array
          - 'null'
          items:
            type:
            - string
            - 'null'
        estimatedDepositAt:
          type:
          - string
          - 'null'
        instantPayoutAt:
          type:
          - string
          - 'null'
        instantPayoutEligibleAt:
          type:
          - string
          - 'null'
        instantPayoutFailedAt:
          type:
          - string
          - 'null'
        markedPaidAt:
          type:
          - string
          - 'null'
        memberAcceptedAt:
          type:
          - string
          - 'null'
        memberDisputedAt:
          type:
          - string
          - 'null'
        memberResubmittedAt:
          type:
          - string
          - 'null'
        openedAt:
          type:
          - string
          - 'null'
        paidAt:
          type:
          - string
          - 'null'
        payAfterAccountVerified:
          type:
          - string
          - 'null'
        paymentFailedAt:
          type:
          - array
          - 'null'
          items:
            type:
            - string
            - 'null'
        paymentInTransitAt:
          type:
          - string
          - 'null'
        paymentRetriedAt:
          type:
          - array
          - 'null'
          items:
            type:
            - string
            - 'null'
        payoutFailedAt:
          type:
          - string
          - 'null'
        preApprovedAt:
          type:
          - string
          - 'null'
        refundedAt:
          type:
          - string
          - 'null'
        sentAt:
          type:
          - string
          - 'null'
        sentDue3DaysAgoAt:
          type:
          - string
          - 'null'
        sentDue7DaysAgoAt:
          type:
          - string
          - 'null'
        sentDueIn3DaysAt:
          type:
          - string
          - 'null'
        sentDueTodayAt:
          type:
          - string
          - 'null'
        sentInstantPayoutFailedToMember:
          type:
          - string
          - 'null'
        sentManuallyAt:
          type:
          - array
          - 'null'
          items:
            type:
            - string
            - 'null'
        sentPaymentConfirmationToClient:
          type:
          - string
          - 'null'
        sentPaymentConfirmationToMember:
          type:
          - string
          - 'null'
        sentPaymentInTransitReminderAt:
          type:
          - string
          - 'null'
        sentPayoutMightBeDelayedToClient:
          type:
          - string
          - 'null'
        sentRecurringPaymentFailedAt:
          type:
          - string
          - 'null'
    3190685832a4970525ea5b0803efff0b36a0202062e1fd8a0bc187acbe156461:
      type: object
      properties:
        quickbooks:
          oneOf:
          - type: 'null'
          - $ref: '#/components/schemas/6ad3f4f624fb518510130e879729b00ed8c237d1cebc5477abf34ac340a6424d'
    InvoiceRefundRequest:
      type: object
      properties:
        amount:
          type: number
        description:
          type:
          - string
          - 'null'
      required:
      - amount
    Company:
      typ

# --- truncated at 32 KB (85 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/wingspan/refs/heads/main/openapi/wingspan-invoice-management-api-openapi.yml