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

# List IP Transactions

> Retrieve a list of IP transactions with pagination and filtering options. The ‘where’ field is optional and should only be provided when filtering by specific transaction hashes, event types, or block ranges. This endpoint can also be used to fetch specific transactions by passing their hashes in the txHashes filter.

<Note>
  This endpoint allows you to filter based on event type. Here are the possible string values for the `where.eventTypes[]` field:

  * "IPRegistered": When an IP asset is registered
  * "LicenseTermsAttached": When license terms are attached to an IP asset
  * "DerivativeRegistered": When a derivative IP asset is registered
  * "DisputeRaised": When a dispute is raised against an IP asset
  * "DisputeResolved": When a dispute is resolved
  * "DisputeCancelled": When a dispute is cancelled
  * "DisputeJudgementSet": When a judgement is set for a dispute
  * "RoyaltyPaid": When royalty payments are made
</Note>


## OpenAPI

````yaml https://api.storyapis.com/api/v4/openapi.json POST /transactions
openapi: 3.1.0
info:
  description: Story Protocol API V4
  title: Story Protocol API V4
  version: v4
servers:
  - url: https://api.storyapis.com/api/v4
  - url: https://staging-api.storyprotocol.net/api/v4
  - description: Local development server
    url: http://localhost:8080/api/v4
security: []
paths:
  /transactions:
    post:
      tags:
        - Protocol V4
        - Transactions
      summary: List IP Transactions
      description: >-
        Retrieve a list of IP transactions with pagination and filtering
        options. The 'where' field is optional and should only be provided when
        filtering by specific transaction hashes, event types, or block ranges.
        This endpoint can also be used to fetch specific transactions by passing
        their hashes in the txHashes filter.
      operationId: listTransactionsV4
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionsRequestBodyHuma'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionsResponseBodyHuma'
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: Error
      security:
        - ApiKeyAuth: []
components:
  schemas:
    TransactionsRequestBodyHuma:
      additionalProperties: false
      properties:
        $schema:
          description: A URL to the JSON Schema for this object.
          examples:
            - https://api.storyapis.com/api/v4/TransactionsRequestBodyHuma.json
          format: uri
          readOnly: true
          type: string
        orderBy:
          default: blockNumber
          description: Field to order results by
          enum:
            - blockNumber
            - createdAt
            - eventType
            - txHash
            - ipId
            - initiator
          type: string
        orderDirection:
          default: desc
          description: Order direction for results
          enum:
            - asc
            - desc
          type: string
        pagination:
          $ref: '#/components/schemas/PaginationOptionsHuma'
          description: Pagination configuration
        where:
          $ref: '#/components/schemas/TransactionsWhereOptionsHuma'
          description: Optional filter options for transactions
      type: object
    TransactionsResponseBodyHuma:
      additionalProperties: false
      properties:
        $schema:
          description: A URL to the JSON Schema for this object.
          examples:
            - https://api.storyapis.com/api/v4/TransactionsResponseBodyHuma.json
          format: uri
          readOnly: true
          type: string
        data:
          description: List of IP transactions
          items:
            $ref: '#/components/schemas/IPTransaction'
          type:
            - array
            - 'null'
        pagination:
          $ref: '#/components/schemas/PaginationMetadataHuma'
          description: Pagination information
      required:
        - data
      type: object
    ErrorModel:
      additionalProperties: false
      properties:
        $schema:
          description: A URL to the JSON Schema for this object.
          examples:
            - https://api.storyapis.com/api/v4/ErrorModel.json
          format: uri
          readOnly: true
          type: string
        detail:
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
          examples:
            - Property foo is required but is missing.
          type: string
        errors:
          description: Optional list of individual error details
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type:
            - array
            - 'null'
        instance:
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem.
          examples:
            - https://example.com/error-log/abc123
          format: uri
          type: string
        status:
          description: HTTP status code
          examples:
            - 400
          format: int64
          type: integer
        title:
          description: >-
            A short, human-readable summary of the problem type. This value
            should not change between occurrences of the error.
          examples:
            - Bad Request
          type: string
        type:
          default: about:blank
          description: A URI reference to human-readable documentation for the error.
          examples:
            - https://example.com/errors/example
          format: uri
          type: string
      type: object
    PaginationOptionsHuma:
      additionalProperties: false
      properties:
        limit:
          default: 20
          description: Number of items to return
          examples:
            - 20
          format: int64
          maximum: 200
          minimum: 1
          type: integer
        offset:
          default: 0
          description: Number of items to skip
          examples:
            - 0
          format: int64
          minimum: 0
          type: integer
      type: object
    TransactionsWhereOptionsHuma:
      additionalProperties: false
      properties:
        blockGte:
          description: Filter transactions from this block number (inclusive)
          format: int64
          minimum: 0
          type: integer
        blockLte:
          description: Filter transactions up to this block number (inclusive)
          format: int64
          minimum: 0
          type: integer
        eventTypes:
          description: List of event types to filter by (max 50)
          items:
            type: string
          maxItems: 50
          type:
            - array
            - 'null'
        initiators:
          description: List of initiator addresses to filter by (max 200)
          items:
            type: string
          maxItems: 200
          type:
            - array
            - 'null'
        ipIds:
          description: List of IP asset IDs to filter by (max 200)
          items:
            type: string
          maxItems: 200
          type:
            - array
            - 'null'
        txHashes:
          description: List of transaction hashes to filter by (max 200)
          items:
            type: string
          maxItems: 200
          type:
            - array
            - 'null'
      type: object
    IPTransaction:
      additionalProperties: false
      properties:
        blockNumber:
          format: int64
          type: integer
        createdAt:
          format: date-time
          type: string
        eventType:
          type: string
        id:
          format: int64
          type: integer
        initiator:
          type: string
        ipId:
          type: string
        logIndex:
          format: int64
          type: integer
        txHash:
          type: string
      required:
        - id
        - txHash
        - logIndex
        - blockNumber
        - eventType
        - ipId
        - initiator
        - createdAt
      type: object
    PaginationMetadataHuma:
      additionalProperties: false
      properties:
        hasMore:
          description: Whether there are more items
          type: boolean
        limit:
          description: Current limit
          format: int64
          type: integer
        offset:
          description: Current offset
          format: int64
          type: integer
        total:
          description: Total count of items
          format: int64
          type: integer
      required:
        - offset
        - limit
        - total
        - hasMore
      type: object
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: X-Api-Key
      type: apiKey

````