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

# Get databases.

> 
    ROLES: RESOURCE_READ,RESOURCE_WRITE,RESOURCE_ADMIN
    USER: true
    SERVICE ACCOUNT: true
    



## OpenAPI

````yaml /api-reference/openapi.json get /api/v1/databases
openapi: 3.0.0
info:
  title: RevoEngine Platform API
  description: Official RevoEngine Platform API documentation.
  version: 1.3.0
  contact:
    name: Support
    email: support@revoengine.com
  termsOfService: https://docs.revoengine.com/tos
servers:
  - url: https://api.revoengine.com
    description: Production
security: []
tags:
  - name: Accounts
    description: Users, service accounts, API keys, status, and platform access.
    externalDocs:
      description: Identity and access guide
      url: https://docs.revoengine.com/operate/identity-and-access
  - name: Activity
    description: Snapshot-backed activity and version history.
    externalDocs:
      description: Observability guide
      url: https://docs.revoengine.com/operate/observability
  - name: Agent Memory
    description: Administrative access to durable Agent memory.
    externalDocs:
      description: Agent memory and workspaces guide
      url: https://docs.revoengine.com/ai/memory-and-workspaces
  - name: Agent Plugins
    description: Agent plugin definitions, synchronization, testing, and lifecycle.
    externalDocs:
      description: Agent plugins guide
      url: https://docs.revoengine.com/ai/plugins
  - name: Agents
    description: >-
      Agent definitions, runs, sessions, inboxes, memory, tools, workspaces, and
      lifecycle.
    externalDocs:
      description: Autonomous Agents guide
      url: https://docs.revoengine.com/ai/agents
  - name: Assistant
    description: >-
      Assistant threads, messages, responses, goals, reports, sharing,
      attachments, and control.
    externalDocs:
      description: Assistant guide
      url: https://docs.revoengine.com/ai/assistant
  - name: Automation
    description: >-
      Jobs, templates, schedules, events, webhooks, execution history, and
      lifecycle.
    externalDocs:
      description: Automation guide
      url: https://docs.revoengine.com/operate/automation
  - name: Chat
    description: Collaborative chat threads, messages, reactions, uploads, and attachments.
    externalDocs:
      description: Team Chat guide
      url: https://docs.revoengine.com/operate/chat
  - name: Component deployments
    description: >-
      Custom Node.js runtime deployment attempts, readiness, activation, and
      rollback.
    externalDocs:
      description: Custom Node.js guide
      url: https://docs.revoengine.com/build/custom-nodejs
  - name: Components
    description: Components, elements, versions, validation, activation, and lifecycle.
    externalDocs:
      description: Components guide
      url: https://docs.revoengine.com/build/components
  - name: Config
    description: Instance configuration, usage, logs, and cache administration.
    externalDocs:
      description: Instance settings guide
      url: https://docs.revoengine.com/platform/instance-settings
  - name: Database Cache
    description: Instance Database cache values and statistics.
    externalDocs:
      description: Database Cache guide
      url: https://docs.revoengine.com/operate/database-cache
  - name: Database Views
    description: Database Views, previews, refreshes, exports, and controlled data actions.
    externalDocs:
      description: Database Views guide
      url: https://docs.revoengine.com/operate/database-views
  - name: Databases
    description: Database definitions, data, audits, exports, cloning, and lifecycle.
    externalDocs:
      description: Databases guide
      url: https://docs.revoengine.com/operate/databases
  - name: Endpoints
    description: >-
      Endpoint definitions, activation, validation, generated OpenAPI, and
      statistics.
    externalDocs:
      description: Endpoints guide
      url: https://docs.revoengine.com/operate/endpoints
  - name: Files
    description: Compatibility file listing, preview, download, and deletion operations.
    externalDocs:
      description: Files compatibility guide
      url: https://docs.revoengine.com/operate/files
  - name: Groups
    description: Groups, membership, avatars, and lifecycle.
    externalDocs:
      description: Groups guide
      url: https://docs.revoengine.com/operate/groups
  - name: Me
    description: Current user profile, keys, avatar, and session information.
    externalDocs:
      description: Authentication guide
      url: https://docs.revoengine.com/developers/authentication
  - name: Preferences
    description: User and instance preference values.
    externalDocs:
      description: Platform UI guide
      url: https://docs.revoengine.com/platform/ui-tour
  - name: Role Groups
    description: Role groups, members, assigned roles, and lifecycle.
    externalDocs:
      description: Permissions guide
      url: https://docs.revoengine.com/operate/permissions
  - name: Roles
    description: Available platform roles and role details.
    externalDocs:
      description: Permissions guide
      url: https://docs.revoengine.com/operate/permissions
  - name: Search
    description: Cross-domain search over objects visible to the caller.
    externalDocs:
      description: Search and discovery guide
      url: https://docs.revoengine.com/platform/search
  - name: Secrets
    description: >-
      Secret definitions, revisions, activation, reveal, disable, and
      destruction.
    externalDocs:
      description: Secrets guide
      url: https://docs.revoengine.com/operate/secrets
  - name: Storage
    description: >-
      Storage workspaces, folders, objects, upload sessions, signed access, and
      lifecycle.
    externalDocs:
      description: Storage guide
      url: https://docs.revoengine.com/operate/storage
externalDocs:
  description: Documentation
  url: https://docs.revoengine.com
paths:
  /api/v1/databases:
    get:
      tags:
        - Databases
      summary: Get databases.
      description: |2-

            ROLES: RESOURCE_READ,RESOURCE_WRITE,RESOURCE_ADMIN
            USER: true
            SERVICE ACCOUNT: true
            
      operationId: DatabaseController_getAll
      parameters:
        - name: skip
          required: false
          in: query
          description: >-
            Number of rows to skip before pagination starts. Parsed from a
            query-string integer.
          schema:
            minimum: 0
            example: 0
            type: number
        - name: take
          required: false
          in: query
          description: >-
            Maximum number of rows to return. Parsed from a query-string
            integer. Most QueryWrapper-backed list endpoints default to 100 when
            omitted.
          schema:
            minimum: 0
            maximum: 10000
            example: 100
            type: number
        - name: count
          required: false
          in: query
          description: >-
            Include the total count in the response envelope. Accepts boolean
            query values such as true or false.
          schema:
            type: boolean
            example: true
        - name: filter
          required: false
          in: query
          description: >-
            QueryWrapper filter tree as a JSON string or bracket-style query
            object. Supports and/or/not groups and field predicates with ops
            such as eq, ne, gt, gte, lt, lte, like, notLike, ilike, notILike,
            in, notIn, any, isNull, isNotNull, between, contains, containedBy,
            arrayHas, arrayHasAny, arrayHasAll, arrayContainedBy, jsonArrayHas,
            jsonArrayHasAny, jsonArrayHasAll, startsWith, endsWith, true, and
            false. Field names are logical wrapper fields; relation fields use
            dot paths such as groups.groupId when exposed by the endpoint
            wrapper.
          schema:
            example: >-
              {"and":[{"field":"name","op":"ilike","value":"Ops"},{"field":"deletedAt","op":"isNull"}]}
            type: string
        - name: sort
          required: false
          in: query
          description: >-
            QueryWrapper sort definition as a JSON string, indexed array query
            object, array, or legacy CSV. JSON object values should be ASC or
            DESC. CSV supports descending fields with a leading dash, for
            example name,-lastUpdateAt.
          schema:
            example: '{"name":"ASC","lastUpdateAt":"DESC"}'
            type: string
        - name: distinct
          required: false
          in: query
          description: >-
            Optional QueryWrapper DISTINCT ON logical fields as a JSON array
            string, indexed array query object, array, or legacy CSV. The
            wrapper rewrites selected distinct fields into distinct select
            items.
          schema:
            example: category,global
            type: string
        - name: fields
          required: false
          in: query
          description: >-
            Optional QueryWrapper field projection as a JSON array string,
            indexed array query object, array, or legacy CSV. String fields must
            be allowlisted logical wrapper fields. Advanced select items may use
            field, fn, raw, cast, coalesce, or case expressions when the
            endpoint enables dynamic projection.
          schema:
            example: >-
              ["databaseId","name",{"fn":"COUNT","args":["users.userId"],"as":"userCount","filterType":"number"}]
            type: string
        - name: joins
          required: false
          in: query
          description: >-
            Optional QueryWrapper join definitions as a JSON string or
            bracket-style query object. This is only honored by endpoints that
            explicitly enable dynamic joins, such as dynamic database data
            reads. Each join has table, alias, type (left or inner), and an on
            condition.
          schema:
            example: >-
              [{"table":"groups_users","alias":"gu","type":"left","on":{"left":"gu.groupsGroupId","op":"=","right":"g.groupId"}}]
            type: string
        - name: groupBy
          required: false
          in: query
          description: >-
            Optional QueryWrapper groupBy logical fields as a JSON array string,
            indexed array query object, array, or legacy CSV. Only honored when
            the endpoint enables dynamic grouping or already has grouped
            defaults.
          schema:
            example: '["category","global"]'
            type: string
        - name: cast
          required: false
          in: query
          description: >-
            Optional QueryWrapper cast mapping as a JSON string or bracket-style
            query object. Keys are selected aliases or logical fields; values
            are database definition types such as TEXT, INTEGER, BIGINT,
            NUMERIC, BOOLEAN, DATE, TIMESTAMP, TIMESTAMPTZ, JSON, JSONB, or UUID
            where supported.
          schema:
            example: '{"userCount":"INTEGER"}'
            type: string
        - name: with
          required: false
          in: query
          description: >-
            Optional QueryWrapper CTE definitions as a JSON string or
            bracket-style query object. Only honored by endpoints that
            explicitly enable dynamic CTEs.
          schema:
            example: >-
              [{"name":"active_groups","query":{"from":{"table":"groups","alias":"g","definition":[]}}}]
            type: string
        - name: debug
          required: false
          in: query
          description: >-
            Enable QueryWrapper debug output for the request, including compiled
            SQL, bound params, and bounded EXPLAIN plans when the underlying
            query service supports it.
          schema:
            example: false
            type: boolean
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseListResponseDto'
        '403':
          description: Forbidden.
      security:
        - bearer: []
components:
  schemas:
    DatabaseListResponseDto:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/DatabaseReadDto'
        results:
          type: number
        next:
          type: boolean
        total:
          type: number
      required:
        - data
        - results
    DatabaseReadDto:
      type: object
      properties:
        databaseId:
          type: string
          format: uuid
        name:
          type: string
        category:
          type: string
          nullable: true
        desc:
          type: string
          nullable: true
        tags:
          nullable: true
          type: array
          items:
            type: string
        restricted:
          type: boolean
        audit:
          type: boolean
          description: Whether future row mutations are captured for this logical table.
        type:
          type: string
          enum:
            - TABLE
            - TABLE_PARTITIONED
        definition:
          type: array
          items:
            $ref: '#/components/schemas/DatabaseDefinition'
        partition:
          type: object
          nullable: true
        metadata:
          type: object
        groups:
          type: array
          items:
            type: object
        users:
          type: array
          items:
            type: object
        parent:
          type: string
          nullable: true
        master:
          type: string
          nullable: true
        version:
          type: number
        createdBy:
          type: string
          format: uuid
        createdAt:
          format: date-time
          type: string
        lastUpdateBy:
          type: string
          format: uuid
        lastUpdateAt:
          format: date-time
          type: string
        deletedAt:
          format: date-time
          type: string
          nullable: true
        deletedBy:
          type: string
          format: uuid
          nullable: true
      required:
        - databaseId
        - name
        - category
        - desc
        - tags
        - restricted
        - audit
        - type
        - definition
        - partition
        - groups
        - users
        - parent
        - master
        - version
        - createdBy
        - createdAt
        - lastUpdateBy
        - lastUpdateAt
        - deletedAt
        - deletedBy
    DatabaseDefinition:
      type: object
      properties:
        databaseDefinitionId:
          type: string
          description: Column id, required only for update.
        name:
          type: string
          description: Name.
          minLength: 1
          maxLength: 63
        desc:
          type: string
          description: Description.
          nullable: true
          maxLength: 200
        metadata:
          type: object
          description: >-
            Optional column metadata. Values may use any JSON type. Maximum 16
            KiB and 64 top-level keys. Top-level keys starting with "__" are
            reserved for backend use.
        type:
          type: string
          description: >-
            You need to specify type [SMALLINT,INTEGER,BIGINT,REAL,DOUBLE
            PRECISION,NUMERIC,JSON,JSONB,TEXT,UUID,DATE,TIME,TIMETZ,TIMESTAMP,TIMESTAMPTZ,BOOLEAN].
          enum:
            - SMALLINT
            - INTEGER
            - BIGINT
            - REAL
            - DOUBLE PRECISION
            - NUMERIC
            - JSON
            - JSONB
            - TEXT
            - UUID
            - DATE
            - TIME
            - TIMETZ
            - TIMESTAMP
            - TIMESTAMPTZ
            - BOOLEAN
        isPrimaryKey:
          type: boolean
          description: Provide if this column is primary key.
        isArray:
          type: boolean
          description: >-
            Provide if this column is array of provided type, primary keys
            cannot be arrays.
        isUnique:
          type: boolean
          description: >-
            Provide if this column should contain only unique values for entire
            table.
        isNullable:
          type: boolean
          description: Provide if this column should can contain NULL values or not.
        isIndex:
          type: boolean
          description: Provide if this column should should be index.
        default:
          description: 'Default: boolean, number, string'
          oneOf:
            - type: string
            - type: boolean
            - type: number
          nullable: true
        foreignReferences:
          description: Foreign references to other database definitions.
          nullable: true
          type: array
          items:
            $ref: '#/components/schemas/DatabaseDefinitionForeignReferences'
      required:
        - name
        - type
        - isPrimaryKey
        - isArray
        - isUnique
        - isNullable
        - isIndex
    DatabaseDefinitionForeignReferences:
      type: object
      properties:
        reference:
          description: >-
            You need to specify reference type
            [SMALLINT,INTEGER,BIGINT,REAL,DOUBLE
            PRECISION,NUMERIC,JSON,JSONB,TEXT,UUID,DATE,TIME,TIMETZ,TIMESTAMP,TIMESTAMPTZ,BOOLEAN].
          type: array
          items:
            $ref: '#/components/schemas/DatabaseDefinitionForeignReference'
        onUpdate:
          type: string
          description: >-
            You need to specify what happen on update of referenced table data,
            "none" will raise an error if there are records existing in this
            table that reference it.
          enum:
            - none
            - cascade
            - restrict
        onDelete:
          type: string
          description: >-
            You need to specify what happen on update of referenced table data,
            "none" will raise an error if there are records existing in this
            table that reference it.
          enum:
            - none
            - cascade
            - restrict
            - default
            - 'null'
      required:
        - reference
        - onUpdate
        - onDelete
    DatabaseDefinitionForeignReference:
      type: object
      properties:
        column:
          type: string
          description: Column.
          minLength: 1
          maxLength: 63
        targetDatabase:
          type: string
          description: Target database.
          minLength: 1
          maxLength: 63
        targetColumn:
          type: string
          description: Target column.
          minLength: 1
          maxLength: 63
      required:
        - column
        - targetDatabase
        - targetColumn
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      description: Bearer JWT token or API Key (sk-*).
      type: http

````