Firebolt Core.v1.engine Revisions API

The core.v1.engineRevisions API from Firebolt — 2 operation(s) for core.v1.enginerevisions.

Operations 2

GET /core/v1/account/engines/{engine_id}/engineRevisions Returns a list of available engine revisions #
GET /core/v1/account/engines/{engine_id}/engineRevisions/{engine_revision_id} Retrieves engine revision by it's ID #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/firebolt:firebolt-core-v1-enginerevisions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

firebolt-core-v1-enginerevisions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Firebolt Core.v1.engine Revisions API
  version: 1.0.0
  x-logo:
    altText: Firebolt
    backgroundColor: '#FFFFFF'
    url: https://assets.website-files.com/5e8a264ceaf4870394477fc7/5e8a264ceaf4879f75477fdd_logo_website.svg
tags:
- name: core.v1.engineRevisions
  x-displayName: Engine Revisions
paths:
  /core/v1/account/engines/{engine_id}/engineRevisions:
    get:
      tags:
      - core.v1.engineRevisions
      summary: Returns a list of available engine revisions
      operationId: coreV1ListEngineRevisions
      parameters:
      - description: 'When `before` is provided, the last item returned in the paginated data will be the item that is closest to,

          but still before, the cursor in the unpaginated results list. (Analogous to the above, if there are no items in the

          results list that fall before the cursor, the returned paginated data will be an empty array.).'
        name: page.before
        in: query
        schema:
          type: string
      - description: Required. ID of the parent engine.
        name: engine_id
        in: path
        required: true
        schema:
          type: string
      - description: 'The `first` parameter indicates the number of results that the client would like to see in the response when

          `after` is set or neither `after` or `before` is set.


          Default: 25.'
        name: page.first
        in: query
        schema:
          type: integer
          format: int32
      - description: 'When `after` is provided, the returned paginated data will have as its first item the item that is

          immediately after the cursor in the results list. (An exception is that, if there are no items in the results list

          that fall after the cursor, the returned paginated data will be an empty array.).'
        name: page.after
        in: query
        schema:
          type: string
      - description: 'The `last` parameter indicates the number of results that the client would like to see in the response

          when `before` is set.


          Default: 25.'
        name: page.last
        in: query
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/firebolt.core.v1.ListEngineRevisionsResponse'
        default:
          description: An unexpected error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
  /core/v1/account/engines/{engine_id}/engineRevisions/{engine_revision_id}:
    get:
      tags:
      - core.v1.engineRevisions
      summary: Retrieves engine revision by it's ID
      operationId: coreV1GetEngineRevision
      parameters:
      - description: Required. ID of the engine revision.
        name: engine_revision_id
        in: path
        required: true
        schema:
          type: string
      - description: Required. ID of the parent engine.
        name: engine_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/firebolt.core.v1.GetEngineRevisionResponse'
        default:
          description: An unexpected error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
components:
  schemas:
    grpc.gateway.runtime.Error:
      type: object
      properties:
        code:
          type: integer
          format: int32
        details:
          type: array
          items:
            $ref: '#/components/schemas/google.protobuf.Any'
        error:
          type: string
        message:
          type: string
    firebolt.core.v1.EngineRevisionEdge:
      description: EngineRevisionEdge represents a single record in paginated list.
      type: object
      properties:
        cursor:
          description: Pagination cursor for this node.
          type: string
        node:
          description: Node instance.
          $ref: '#/components/schemas/firebolt.core.v1.EngineRevision'
    firebolt.shared.v1.PageDescriptor:
      description: PageDescriptor represents pagination information in collection response.
      type: object
      properties:
        has_next_page:
          description: Whether next page is available.
          type: boolean
          format: boolean
        has_previous_page:
          description: Whether previous page is available.
          type: boolean
          format: boolean
        page_size:
          description: Number of items returned at this page.
          type: integer
          format: int64
        total_size:
          description: Total number of items matching the query.
          type: integer
          format: int64
    firebolt.core.v1.EngineRevisionHealthStatus:
      description: EngineRevisionHealthStatus lists possible statuses of an engine revision health.
      type: string
      default: ENGINE_REVISION_HEALTH_STATUS_UNSPECIFIED
      enum:
      - ENGINE_REVISION_HEALTH_STATUS_UNSPECIFIED
      - ENGINE_REVISION_HEALTH_STATUS_HEALTHY
      - ENGINE_REVISION_HEALTH_STATUS_DEGRADED
      - ENGINE_REVISION_HEALTH_STATUS_UNHEALTHY
    firebolt.core.v1.GetEngineRevisionResponse:
      type: object
      properties:
        engine_revision:
          description: Retrieved record.
          $ref: '#/components/schemas/firebolt.core.v1.EngineRevision'
    firebolt.core.v1.EngineRevision:
      description: 'EngineRevision represents an actual deployment of Firebolt DB cluster that will serve requests.


        To understand what Engine Revision is, think of traditional Nodes and Load Balancers.

        Engine is like a Load Balancer that routes traffic to different Nodes (Engine Revisions) based on their health.


        When we need to upgrade an engine (change version, instance types, reboot, etc), we start a new Engine Revision,

        wait for it to start up and become ready, tell Engine to route requests to this Engine Revision and tell the old one

        to terminate.'
      type: object
      properties:
        create_actor:
          type: string
          title: 'Output only. Unique resource ID of the actor who created this record.

            See: firebolt.iam/actor_rid.md'
          readOnly: true
        create_time:
          description: Output only. Time when this record was created.
          type: string
          format: date-time
          readOnly: true
        current_status:
          description: Output only. Current status of this revision.
          $ref: '#/components/schemas/firebolt.core.v1.EngineRevisionStatus'
          readOnly: true
        desired_status:
          description: 'Deprecated. Desired status for this revision.

            This field is not needed anymore and will be removed in the future.'
          $ref: '#/components/schemas/firebolt.core.v1.EngineRevisionStatus'
        health_status:
          description: 'Deprecated. Health status of this revision.

            This field is not needed anymore and will be removed in the future.'
          $ref: '#/components/schemas/firebolt.core.v1.EngineRevisionHealthStatus'
        id:
          description: Record ID.
          $ref: '#/components/schemas/firebolt.core.v1.EngineRevisionID'
        last_update_actor:
          type: string
          title: 'Output only. Unique resource ID of the actor who last updated this record.

            See: firebolt.iam/actor_rid.md'
          readOnly: true
        last_update_time:
          description: Output only. Time when this record was last updated.
          type: string
          format: date-time
          readOnly: true
        specification:
          description: Required. Parameters that should be used for deployment.
          $ref: '#/components/schemas/firebolt.core.v1.EngineRevisionSpecification'
    google.protobuf.Any:
      description: "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n    Foo foo = ...;\n    Any any;\n    any.PackFrom(foo);\n    ...\n    if (any.UnpackTo(&foo)) {\n      ...\n    }\n\nExample 2: Pack and unpack a message in Java.\n\n    Foo foo = ...;\n    Any any = Any.pack(foo);\n    ...\n    if (any.is(Foo.class)) {\n      foo = any.unpack(Foo.class);\n    }\n\n Example 3: Pack and unpack a message in Python.\n\n    foo = Foo(...)\n    any = Any()\n    any.Pack(foo)\n    ...\n    if any.Is(Foo.DESCRIPTOR):\n      any.Unpack(foo)\n      ...\n\n Example 4: Pack and unpack a message in Go\n\n     foo := &pb.Foo{...}\n     any, err := ptypes.MarshalAny(foo)\n     ...\n     foo := &pb.Foo{}\n     if err := ptypes.UnmarshalAny(any, foo); err != nil {\n       ...\n     }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n    package google.profile;\n    message Person {\n      string first_name = 1;\n      string last_name = 2;\n    }\n\n    {\n      \"@type\": \"type.googleapis.com/google.profile.Person\",\n      \"firstName\": <string>,\n      \"lastName\": <string>\n    }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n    {\n      \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n      \"value\": \"1.212s\"\n    }"
      type: object
      properties:
        type_url:
          description: "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n  value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n  URL, or have them precompiled into a binary to avoid any\n  lookup. Therefore, binary compatibility needs to be preserved\n  on changes to types. (Use versioned type names to manage\n  breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics."
          type: string
        value:
          description: Must be a valid serialized protocol buffer of the above specified type.
          type: string
          format: byte
    firebolt.core.v1.EngineRevisionID:
      description: EngineRevisionID represents unique identifier of the record.
      type: object
      properties:
        account_id:
          description: Required. ID of the account this record belongs to.
          type: string
        engine_id:
          description: Required. ID of the engine this record belongs to.
          type: string
        engine_revision_id:
          description: Required. Unique record ID.
          type: string
    firebolt.core.v1.ListEngineRevisionsResponse:
      type: object
      properties:
        edges:
          description: List of found records.
          type: array
          items:
            $ref: '#/components/schemas/firebolt.core.v1.EngineRevisionEdge'
        page:
          description: Page descriptor.
          $ref: '#/components/schemas/firebolt.shared.v1.PageDescriptor'
    firebolt.compute.v1.InstanceTypeID:
      description: InstanceTypeID represents unique identifier of the record.
      type: object
      properties:
        instance_type_id:
          description: Required. Record ID.
          type: string
        provider_id:
          description: Required. Provider this record belongs to.
          type: string
        region_id:
          description: Required. Region this record belongs to.
          type: string
    firebolt.core.v1.EngineRevisionSpecification:
      description: EngineRevisionSpecification represents parameters that should be used for engine revision.
      type: object
      properties:
        db_compute_instances_count:
          description: 'Required. Number of DB instance nodes to create.


            Range: 1-128.'
          type: integer
          format: int64
          maximum: 128
          minimum: 1
        db_compute_instances_type_id:
          description: Required. ID of the compute instance type to use for this engine DB instance nodes.
          $ref: '#/components/schemas/firebolt.compute.v1.InstanceTypeID'
        db_compute_instances_use_spot:
          description: Required. Whether to use spot instances for DB instance nodes.
          type: boolean
          format: boolean
        db_version:
          description: 'Version of the FireboltDB to use for this engine.


            By default, latest stable version will be used.


            Users with "XXX" permission are able to specify any valid SemVer version or Git commit hash.

            TODO: Correct permission name.'
          type: string
        proxy_instances_count:
          description: 'Required. Number of Proxy instance nodes to create.


            Range: 1-128.'
          type: integer
          format: int64
          maximum: 64
          minimum: 1
        proxy_instances_type_id:
          description: Required. ID of the compute instance type to use for this engine Proxy instance nodes.
          $ref: '#/components/schemas/firebolt.compute.v1.InstanceTypeID'
        proxy_version:
          description: 'Version of the Firebolt Proxy to use for this engine.


            By default, latest stable version will be used.


            Users with "XXX" permission are able to specify any valid SemVer version or Git commit hash.

            TODO: Correct permission name.'
          type: string
    firebolt.core.v1.EngineRevisionStatus:
      description: "EngineRevisionStatus lists possible provisioning statuses of an engine revision.\n\n - ENGINE_REVISION_STATUS_CREATED: Logical revision is created, but physical cluster is stopped.\n - ENGINE_REVISION_STATUS_PROVISIONING_PENDING: Provisioning request was sent.\n - ENGINE_REVISION_STATUS_PROVISIONING_STARTED: Provisioning started.\n - ENGINE_REVISION_STATUS_PROVISIONING_FINISHED: Provisioning finished.\n - ENGINE_REVISION_STATUS_PROVISIONING_FAILED: Provisioning failed.\n - ENGINE_REVISION_STATUS_FAILED: Cluster is provisioned, but nodes fail to start.\n - ENGINE_REVISION_STATUS_RUNNING: Cluster is provisioned, all nodes are running.\n - ENGINE_REVISION_STATUS_REPAIRING: Cluster is provisioned, some nodes are offline, repair in progress.\n - ENGINE_REVISION_STATUS_TERMINATION_PENDING: Cluster is provisioned, termination request was sent.\n - ENGINE_REVISION_STATUS_TERMINATION_STARTED: Termination started.\n - ENGINE_REVISION_STATUS_TERMINATION_FINISHED: Termination finished.\n - ENGINE_REVISION_STATUS_TERMINATION_FAILED: Termination failed.\n - ENGINE_REVISION_STATUS_DELETED: Revision is soft deleted.\n - ENGINE_REVISION_STATUS_RESTARTING: Deprecated. This status was added here by mistake and was never used.\n - ENGINE_REVISION_STATUS_STARTED: Cluster is provisioned, all nodes started.\n - ENGINE_REVISION_STATUS_LOADING: Cluster is provisioned. All nodes started. Schema loading is in process."
      type: string
      default: ENGINE_REVISION_STATUS_UNSPECIFIED
      enum:
      - ENGINE_REVISION_STATUS_UNSPECIFIED
      - ENGINE_REVISION_STATUS_CREATED
      - ENGINE_REVISION_STATUS_PROVISIONING_PENDING
      - ENGINE_REVISION_STATUS_PROVISIONING_STARTED
      - ENGINE_REVISION_STATUS_PROVISIONING_FINISHED
      - ENGINE_REVISION_STATUS_PROVISIONING_FAILED
      - ENGINE_REVISION_STATUS_FAILED
      - ENGINE_REVISION_STATUS_RUNNING
      - ENGINE_REVISION_STATUS_REPAIRING
      - ENGINE_REVISION_STATUS_TERMINATION_PENDING
      - ENGINE_REVISION_STATUS_TERMINATION_STARTED
      - ENGINE_REVISION_STATUS_TERMINATION_FINISHED
      - ENGINE_REVISION_STATUS_TERMINATION_FAILED
      - ENGINE_REVISION_STATUS_DELETED
      - ENGINE_REVISION_STATUS_RESTARTING
      - ENGINE_REVISION_STATUS_STARTED
      - ENGINE_REVISION_STATUS_LOADING
x-tagGroups:
- name: Getting Started
  tags:
  - auth.v1
- name: Identity & Access Management
  tags:
  - iam.v2.roles
  - iam.v2.permissions
  - iam.v2.policies
  - iam.v2.databaseGrants
  - iam.v2.accounts
  - iam.v2.users
  - iam.v2.accountMembers
  - iam.v2.serviceAccounts
  - iam.v2.actors
- name: Cloud Providers
  tags:
  - aws.v2.marketplace
- name: Compute Resources
  tags:
  - compute.v1.instanceTypes
  - compute.v1.regions
  - compute.v1.providers
- name: Databases & Engines
  tags:
  - core.v1.databases
  - core.v1.engines
  - core.v1.engineRevisions
  - core.v1.bindings
- name: SQL Editor
  tags:
  - editor.v1.scripts
x-provenance:
  method: harvested
  publisher: Firebolt
  source: https://api.app.firebolt.io/docs/openapi.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)