How to Retrieve Filtered Records List Using API v2

In Bika v1.9.0, we introduced the enhanced Database v2 APIs featuring a complete architectural overhaul for database operations.

The List Records API v2 now delivers enterprise-grade filtering capabilities, enabling precise data retrieval through customizable query conditions.

How Filtering Works

The filtering mechanism uses the filter query parameter in List Records API requests. Each query follows this syntax:

filter=[Field Name][Operator][Value]

Supported operators include equality (==), inequality (!=), and other comparison operators depending on field types. Multiple conditions can be combined using AND/OR logic. more details: Filter Query Language

:bulb:Note: In filter expressions, if a field name contains space characters, enclose it in curly braces, such as filter={Completion date}>="2025-04-17" .

Getting Started: Basic Filter Query

Let’s implement a real-world scenario using a “To-do List” database:

Objective
Retrieve tasks meeting these criteria:

  • Status equals “Pending”
  • Return only Task and Completion date fields

cURL Example:

curl --location --request GET \
'https://bika.ai/api/openapi/bika/v2/spaces/{SPACE_ID}/resources/databases/{DATABASE_ID}/records?\
fields=Task&\
fields=Completion%20date&\
filter=Status%3D%3D%22Pending%22' \
--header 'Authorization: Bearer {YOUR_BIKA_API_KEY}'

Key Parameters Explained:

  • fields: Specifies columns to return (URL-encoded)
  • filter: Contains the condition (Double equals operator == encoded as %3D%3D)

Postman Example:

Advanced Query Patterns

  1. Multi-condition Filtering
    filter=Status=="Pending";{Completion date}>="2025-04-17"

  2. Multiple Value Matching
    filter=Status=c=("Option 1", "Option 2"), The Status field contains specific options.

Resources for Implementation

  1. Filter Query Syntax Guide
  2. Field Type Format Specifications
  3. List Records API v2 Documentation
2 Likes