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

# Export transactions as CSV

> Exports transaction data as a CSV file. Returns a pre-signed URL for downloading the generated CSV file.



## OpenAPI

````yaml get /v1/businesses/{businessId}/reports/transactions/exports/csv
openapi: 3.0.1
info:
  title: API
  version: latest
servers: []
security:
  - BearerAuth: []
tags: []
externalDocs:
  url: /
paths:
  /v1/businesses/{businessId}/reports/transactions/exports/csv:
    get:
      tags: []
      summary: Export transactions as CSV
      description: >-
        Exports transaction data as a CSV file. Returns a pre-signed URL for
        downloading the generated CSV file.
      operationId: business.reports.transactions.exports.csv.get
      parameters:
        - name: businessId
          in: path
          description: The UUID of the business to export transactions for.
          required: true
          schema:
            type: string
        - name: Content-Type
          in: header
          description: Content-Type must be set to application/json.
          schema:
            type: string
        - name: start_date
          in: query
          description: Start date for transaction filtering (ISO 8601 format).
          schema:
            type: string
            format: date-time
        - name: end_date
          in: query
          description: End date for transaction filtering (ISO 8601 format).
          schema:
            type: string
            format: date-time
        - name: external_account_ids
          in: query
          description: >-
            Comma-separated list of external account (e.g. Plaid account) IDs.
            This will filter for bank transactions within the provided list of
            accounts. Takes precedence over account_filter if both are
            specified.
          schema:
            type: string
        - name: account_filter
          in: query
          description: >-
            Filter transactions by external account ID. This is a legacy alias
            for external_account_ids - prefer using external_account_ids
            instead. Only used when external_account_ids is not specified.
          schema:
            type: string
        - name: direction
          in: query
          description: Filter by transaction direction.
          schema:
            type: string
            enum:
              - INFLOW
              - OUTFLOW
        - name: amount_min
          in: query
          description: The minimum amount of the transaction to include (in cents).
          schema:
            type: integer
            format: int64
        - name: amount_max
          in: query
          description: The maximum amount of the transaction to include (in cents).
          schema:
            type: integer
            format: int64
        - name: category
          in: query
          description: Filter transactions by category identifier or stable name.
          schema:
            type: string
        - name: categorized
          in: query
          description: >-
            Filter transactions by whether they are categorized (true) or not
            categorized (false).
          schema:
            type: boolean
        - name: categorization_status
          in: query
          description: Filter by categorization status.
          schema:
            type: string
            enum:
              - CATEGORIZED
              - UNCATEGORIZED
              - PENDING
              - MATCHED
        - name: is_matched
          in: query
          description: >-
            Filter transactions by whether they are matched (true) or not
            matched (false).
          schema:
            type: boolean
        - name: description_filter
          in: query
          description: >-
            Case-insensitive substring to search for in transaction descriptions
            (contains match, not exact equality).
          schema:
            type: string
        - name: description_filter_regex
          in: query
          description: >-
            Regex to search for in transaction descriptions. Regex will be
            parsed exactly as given and an error will be returned if the regex
            is invalid.
          schema:
            type: string
        - name: merchant_name_filter
          in: query
          description: >-
            Substring to search for in merchant name. Only exact matches will be
            returned.
          schema:
            type: string
        - name: merchant_name_filter_regex
          in: query
          description: >-
            Regex to search for in merchant name. Regex will be parsed exactly
            as given and an error will be returned if the regex is invalid.
          schema:
            type: string
        - name: q
          in: query
          description: >-
            Search query string to filter transactions. Searches across multiple
            fields.
          schema:
            type: string
        - name: memo
          in: query
          description: Filter transactions by exact memo match.
          schema:
            type: string
        - name: memo_contains
          in: query
          description: Filter transactions where memo contains this substring.
          schema:
            type: string
        - name: reference_number
          in: query
          description: >-
            Filter by exact reference number match. Returns only records with
            this exact reference number.
          schema:
            type: string
        - name: reference_numbers
          in: query
          description: >-
            Comma-separated list of reference numbers to filter transactions.
            Only transactions with reference numbers matching any value in this
            list will be returned.
          schema:
            type: string
        - name: customer_id
          in: query
          description: UUID of the customer to filter transactions by.
          schema:
            type: string
            format: uuid
        - name: customer_external_id
          in: query
          description: External ID of the customer to filter transactions by.
          schema:
            type: string
        - name: vendor_id
          in: query
          description: UUID of the vendor to filter transactions by.
          schema:
            type: string
            format: uuid
        - name: vendor_external_id
          in: query
          description: External ID of the vendor to filter transactions by.
          schema:
            type: string
        - name: counterparty_id
          in: query
          description: UUID of the counterparty to filter transactions by.
          schema:
            type: string
            format: uuid
        - name: tag_key
          in: query
          description: >-
            Filter transactions by tag key. Must be used together with
            tag_values.
          schema:
            type: string
        - name: tag_values
          in: query
          description: >-
            Comma-separated list of tag values to filter by. Must be used
            together with tag_key.
          schema:
            type: string
      responses:
        '200':
          description: Pre-signed URL for downloading the CSV export.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/S3PresignedUrl'
        '404':
          description: >-
            Business id is not found. This indicates the business id is invalid
            or the business has been archived.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      deprecated: false
components:
  schemas:
    S3PresignedUrl:
      type: object
      properties:
        type:
          type: string
          description: Resource type. Value will be 'S3_Presigned_Url'.
          example: S3_Presigned_Url
        presignedUrl:
          type: string
          description: Pre-signed URL to download a document.
          example: >
            https://example-bucket.s3.amazonaws.com/example-object?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=FAKEAWSACCESSKEY%2F20240710%2Fus-west-1%2Fs3%2Faws4_request&X-Amz-Date=20240710T000000Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=FAKESIGNATURE1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
        fileType:
          type: string
          description: The file type of the document.
          example: csv
      description: A pre-signed URL to download a document.
    ApiError:
      type: object
      description: An error object returned in API error responses.
      properties:
        type:
          $ref: '#/components/schemas/ApiErrorType'
          description: >-
            A fixed category for the error, helpful for categorizing and
            processing errors.
        description:
          type: string
          description: A human-readable error description.
        error_enum:
          $ref: '#/components/schemas/ApiEnumErrorType'
          description: >-
            A stable, machine-readable identifier for programmatically handling
            specific error conditions. Only present for 4xx client errors—not
            included for 5xx server errors. Use this instead of parsing the
            description field, as enum values remain stable across API versions.
          nullable: true
        meta:
          type: object
          description: Optional additional information about the error.
          nullable: true
      required:
        - type
        - description
    ApiErrorType:
      type: string
      enum:
        - ResourceArchived
        - AuthFailure
        - Plaid
        - Stripe
        - InvalidState
        - ResourceNotFound
        - InvalidParameters
        - JsonSerialization
        - Unknown
        - BadRequest
        - PaginationCursor
        - Conflict
        - LedgerOperationFailed
    ApiEnumErrorType:
      type: string
      description: >-
        Stable enum values for programmatic error handling. Only present in 4xx
        error responses.
      enum:
        - AccessCodeInvalid
        - BalanceSheetDoesNotBalance
        - BalanceSheetMissingAccount
        - BankStatementParserError
        - BillStateError
        - BulkCategorizeFailure
        - BulkMatchFailure
        - BusinessTaskAlreadyCompleted
        - BusinessTaskDeleted
        - CalendlyOAuthError
        - CallBookingError
        - CantUpdateTransactionInCustomerPayout
        - CantUpdateTransactionInVendorPayout
        - CheckPayrollConfigNotFound
        - CheckPayrollServiceNotFound
        - ClerkUserAlreadyExists
        - ConflictingQueryParams
        - CustomAccountAlreadyExists
        - CustomTransactionCsvParsingError
        - CustomTransactionUploadFailure
        - CustomerPayoutInputFormatError
        - DoesNotMatchExistingEntity
        - EmptyBatchRequest
        - ExpenseParserError
        - ExternalAccountBalanceReconciliationError
        - ExternalIdConflict
        - InvalidCategory
        - InvalidEffectiveDate
        - InvalidLedgerOperation
        - InvalidMonthlyAverageRange
        - InvalidMultiPartRequest
        - InvalidPaginationCursor
        - InvalidPayload
        - InvoiceDeleted
        - InvoiceNotFound
        - InvoiceReferenceMismatch
        - InvoiceStateError
        - ManualRateLimit
        - MultipleTagKeyFiltersUnsupported
        - NoCognitoUserFound
        - NoOpeningBalanceFound
        - NotYetReconciled
        - OnePasswordApiError
        - OnePasswordItemNotFound
        - OnePasswordVaultNotFound
        - OpenAICategorizationError
        - PaymentLinkInvalid
        - PayrollStateError
        - PeriodIsClosed
        - PeriodNotClosed
        - PhoneNumberAlreadyRegistered
        - PlaidApiError
        - PlaidConnectionBroken
        - PlaidCreateLinkTokenError
        - PlaidCredentialsNotConfigured
        - PlaidExchangePublicTokenError
        - PlaidGetInstitutionByIdError
        - PlaidGetItemError
        - PlaidInvalidEnvironment
        - PlaidItemAlreadyExists
        - PlaidItemNotFound
        - PlaidProcessorApiError
        - PlaidUnlinkItemError
        - QueryParamFormat
        - QueryParamMissing
        - QuickbooksBrokenConnection
        - QuickbooksConnectionAlreadyExists
        - QuickbooksConnectionAlreadySyncing
        - QuickbooksConnectionMissing
        - QuickbooksConnectionNotActivated
        - QuickbooksInvalidRequest
        - QuickbooksInvalidState
        - QuickbooksNoMatchingAccount
        - QuickbooksNonPostingAccountType
        - QuickbooksNotConfigured
        - QuickbooksOAuthCallbackInvalid
        - QuickbooksOAuthError
        - QuickbooksTokenExpired
        - ResourceArchived
        - ScheduleCNotConfigured
        - SmsNotEnabled
        - SpecifiedBadRequest
        - SpecifiedIdNotFound
        - SplitTransactionError
        - StepEvaluationBadRequest
        - StripeConnectAccountIdNotFound
        - StripeCredentialsNotConfigured
        - StripeGetBalanceForConnectAccountFailure
        - StripeRedirectOrRefreshUrlNotConfigured
        - TagFilterNotFound
        - UnexpectedQueryParam
        - UnitAccountsInUse
        - WrongAnswerType
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````