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

# Get account transactions

> Your billing history: every charge and top-up on the account, newest first.

Filters combine with AND and are applied before paging. Every `__gte` / `__lte` parameter below has a `__gt` / `__lt` twin if you need to exclude the boundary itself, and `amount` also answers to `credits`, the name the response gives it.

One thing to watch: a value we cannot read — a misspelled status, a malformed date — is dropped rather than refused, so you get a `200` with that condition quietly missing. If a filtered call returns more than you expected, check your parameter spelling first.

## Use Case:

Audit account credit transactions and review which operations consumed credits.


## OpenAPI

````yaml get /api/v1/accounts/transactions/
openapi: 3.0.3
info:
  title: Generect API
  description: >-
    Welcome to the Generect API documentation. Here we will help you integrate
    and use our API.


    API base url: `https://api.generect.com` — every path below is relative to
    this host. Newer endpoints live under `/api/v1/...`, legacy endpoints under
    `/api/...`; use each path exactly as documented.

    Protocol: `HTTPS`


    # Authentication


    Get your API token from the Generect app settings and send it in the
    `Authorization` header with the required `Token` prefix.


    Example: `Authorization: Token xxxxxxxxx`


    # Rate limits


    You can request data depending on your data plan and account balance
    (default: 10000/month). Pricing depends on the operation and the number of
    results returned, and may increase with additional data flags. For exact
    pricing, see each endpoint's Pricing section or your billing settings:
    https://beta.generect.com/settings/billing


    # Note


    _Every endpoint must include the trailing `/`. Requests without the trailing
    slash may fail._
  version: 1.0.0
  contact: {}
servers:
  - url: https://api.generect.com
security:
  - apiKey: []
tags:
  - name: 1. Auth
    description: Login and get user info
  - name: 2. Transactions
    description: List of latest transactions in your account
  - name: 3. Leads
    description: Fetch information about leads by _link/name/ICP_.
  - name: 4. Companies
    description: Fetch information about companies by link/name/ICP.
  - name: 5. Preview
    description: Search masked database leads for preview and reveal workflows.
  - name: 6. Enrich
    description: Enrich leads and companies by internal or external identifiers.
  - name: 7. Email
    description: Find and validate email addresses.
  - name: 8. Accounts
    description: Account profile, usage, and transactions.
  - name: 9. Search
    description: Database and realtime lead, company, and company-lead search.
  - name: 10. Phone
    description: Find phone numbers for leads.
  - name: 11. Webhooks
    description: Register and manage async job notifications.
paths:
  /api/v1/accounts/transactions/:
    get:
      tags:
        - 8. Accounts
      summary: Get account transactions
      description: >-
        Your billing history: every charge and top-up on the account, newest
        first.


        Filters combine with AND and are applied before paging. Every `__gte` /
        `__lte` parameter below has a `__gt` / `__lt` twin if you need to
        exclude the boundary itself, and `amount` also answers to `credits`, the
        name the response gives it.


        One thing to watch: a value we cannot read — a misspelled status, a
        malformed date — is dropped rather than refused, so you get a `200` with
        that condition quietly missing. If a filtered call returns more than you
        expected, check your parameter spelling first.
      parameters:
        - name: limit
          in: query
          required: false
          description: How many transactions to return.
          schema:
            type: integer
            default: 100
        - name: offset
          in: query
          required: false
          description: How many to skip, for paging through a long history.
          schema:
            type: integer
            default: 0
        - name: created_at__gte
          in: query
          required: false
          description: >-
            Start of the period you want. Pair it with `created_at__lte` to get
            a single month or billing cycle.
          schema:
            type: string
            format: date-time
          example: '2026-05-01T00:00:00Z'
        - name: created_at__lte
          in: query
          required: false
          description: >-
            End of the period, included. A bare date means midnight, so use
            `2026-05-31T23:59:59` to keep the last day.
          schema:
            type: string
            format: date-time
          example: '2026-05-31T23:59:59Z'
        - name: status
          in: query
          required: false
          description: >-
            Settled charges are `success`. `pending` is money reserved for a
            request still in flight, and `error` charges were reversed — leave
            both out when you reconcile spend.
          schema:
            type: string
            enum:
              - pending
              - success
              - error
        - name: amount__lte
          in: query
          required: false
          description: >-
            Charges at least this large. Charges are negative, so
            `amount__lte=-10` finds everything that cost 10 or more.
          schema:
            type: number
          example: -10
        - name: amount__gte
          in: query
          required: false
          description: >-
            The other side of the same window — use both to isolate a band, or
            this one alone with a positive value to see only top-ups.
          schema:
            type: number
        - name: after_balance__lte
          in: query
          required: false
          description: >-
            Transactions that left the balance at or below this figure. Handy
            for finding the moment an account started running low.
          schema:
            type: number
        - name: after_balance__gte
          in: query
          required: false
          description: Transactions that left the balance at or above this figure.
          schema:
            type: number
      responses:
        '200':
          description: Account transactions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountTransactionsResponse'
              example:
                data:
                  transactions:
                    - id: txn_f0e1d2c3-b4a5-4697-8c9d-0e1f2a3b4c5d
                      timestamp: '2026-05-15T10:30:00Z'
                      type: search_database_leads
                      credits: -25
                      details:
                        balance_type: leads_by_icp
                        status: success
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
components:
  schemas:
    AccountTransactionsResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            transactions:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                  timestamp:
                    type: string
                    format: date-time
                  type:
                    type: string
                    description: Operation that produced the transaction.
                  credits:
                    type: number
                    description: Credit delta (negative for charges).
                  details:
                    type: object
                    properties:
                      balance_type:
                        type: string
                      status:
                        type: string
    Error:
      type: object
      description: Standard error envelope returned for 4xx/5xx responses.
      properties:
        status:
          type: string
          example: error
        status_code:
          type: integer
          example: 400
        detail:
          description: >-
            Human-readable message (string) for most errors, or a field-level
            validation map ({ field: [messages] }) for 400 validation errors.
          example: Insufficient funds in the account.
  responses:
    Unauthorized:
      description: Missing or invalid API token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            status: error
            status_code: 401
            detail: Authentication credentials were not provided.
    Forbidden:
      description: Authenticated, but the account/plan is not allowed to use this endpoint.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            status: error
            status_code: 403
            detail: You do not have permission to perform this action.
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: Authorization
      description: 'Use the required Token prefix. Example: Authorization: Token xxxxxxxxx'

````