Firebolt Core.v1.bindings API

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

Operations 4

GET /core/v1/account/bindings Returns a list of available database to engine bindings #
GET /core/v1/account/databases/{database_id}/bindings/{engine_id} Retrieves binding by it's ID #
POST /core/v1/account/databases/{database_id}/bindings/{engine_id} Creates a new binding #
DELETE /core/v1/account/databases/{database_id}/bindings/{engine_id} Deletes binding 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-bindings-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-bindings-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Firebolt Core.v1.bindings 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.bindings
  x-displayName: Bindings
paths:
  /core/v1/account/bindings:
    get:
      tags:
      - core.v1.bindings
      summary: Returns a list of available database to engine bindings
      operationId: coreV1ListBindings
      parameters:
      - description: Value should be equal.
        name: filter.is_system_database_eq
        in: query
        schema:
          type: boolean
          format: boolean
      - 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
      - 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: Value should be equal.
        name: filter.id_database_id_eq
        in: query
        schema:
          type: string
      - description: Value should be equal.
        name: filter.id_engine_id_eq
        in: query
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/firebolt.core.v1.ListBindingsResponse'
        default:
          description: An unexpected error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
  /core/v1/account/databases/{database_id}/bindings/{engine_id}:
    get:
      tags:
      - core.v1.bindings
      summary: Retrieves binding by it's ID
      operationId: coreV1GetBinding
      parameters:
      - description: Required. ID of the engine.
        name: engine_id
        in: path
        required: true
        schema:
          type: string
      - description: Required. ID of the database.
        name: database_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/firebolt.core.v1.GetBindingResponse'
        default:
          description: An unexpected error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
    post:
      tags:
      - core.v1.bindings
      summary: Creates a new binding
      operationId: coreV1CreateBinding
      parameters:
      - description: Required. ID of the database.
        name: database_id
        in: path
        required: true
        schema:
          type: string
      - description: Required. ID of the 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.CreateBindingResponse'
        default:
          description: An unexpected error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/firebolt.core.v1.Binding'
        description: Record to create.
        required: true
    delete:
      tags:
      - core.v1.bindings
      summary: Deletes binding by it's ID
      operationId: coreV1DeleteBinding
      parameters:
      - description: Required. ID of the engine.
        name: engine_id
        in: path
        required: true
        schema:
          type: string
      - description: Required. ID of the database.
        name: database_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/firebolt.core.v1.DeleteBindingResponse'
        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.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.BindingHealthStatus:
      description: BindingHealthStatus lists possible statuses of an binding health.
      type: string
      default: BINDING_HEALTH_STATUS_UNSPECIFIED
      enum:
      - BINDING_HEALTH_STATUS_UNSPECIFIED
      - BINDING_HEALTH_STATUS_HEALTHY
      - BINDING_HEALTH_STATUS_DEGRADED
      - BINDING_HEALTH_STATUS_UNHEALTHY
    firebolt.core.v1.ListBindingsResponse:
      type: object
      properties:
        edges:
          description: List of found records.
          type: array
          items:
            $ref: '#/components/schemas/firebolt.core.v1.BindingEdge'
        page:
          description: Page descriptor.
          $ref: '#/components/schemas/firebolt.shared.v1.PageDescriptor'
    firebolt.core.v1.GetBindingResponse:
      type: object
      properties:
        binding:
          description: Retrieved record.
          $ref: '#/components/schemas/firebolt.core.v1.Binding'
    firebolt.core.v1.DeleteBindingResponse:
      type: object
      properties:
        binding:
          description: Updated record.
          $ref: '#/components/schemas/firebolt.core.v1.Binding'
    firebolt.core.v1.BindingEdge:
      description: BindingEdge 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.Binding'
    firebolt.core.v1.BindingID:
      description: BindingID represents unique identifier of the record.
      type: object
      properties:
        account_id:
          description: Required. ID of the account this record belongs to.
          type: string
        database_id:
          description: Required. ID of the database to bind.
          type: string
        engine_id:
          description: Required. ID of the engine to bind.
          type: string
    firebolt.core.v1.BindingStatus:
      description: BindingStatus is a list of possible binding statuses.
      type: string
      default: BINDING_STATUS_UNSPECIFIED
      enum:
      - BINDING_STATUS_UNSPECIFIED
      - BINDING_STATUS_CREATED
      - BINDING_STATUS_PROVISIONING_PENDING
      - BINDING_STATUS_PROVISIONING_STARTED
      - BINDING_STATUS_PROVISIONING_FINISHED
      - BINDING_STATUS_PROVISIONING_FAILED
      - BINDING_STATUS_RUNNING
      - BINDING_STATUS_TERMINATION_PENDING
      - BINDING_STATUS_TERMINATION_STARTED
      - BINDING_STATUS_TERMINATION_FINISHED
      - BINDING_STATUS_TERMINATION_FAILED
      - BINDING_STATUS_DELETED
    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.CreateBindingResponse:
      type: object
      properties:
        binding:
          description: Created record.
          $ref: '#/components/schemas/firebolt.core.v1.Binding'
    firebolt.core.v1.Binding:
      description: 'Binding represents a link between database and engine.


        If binding is created between engine and database, this engine will be able to execute queries against this database.'
      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 binding.
          $ref: '#/components/schemas/firebolt.core.v1.BindingStatus'
          readOnly: true
        desired_status:
          description: 'Deprecated. Desired status of this binding.

            This field is not needed anymore and will be removed in the future.'
          $ref: '#/components/schemas/firebolt.core.v1.BindingStatus'
        engine_is_default:
          description: 'Required. Whether this engine should be used as default for this database.


            Only one engine can be set as default for a single database.

            When you create a new binding with engine set as default for a database and there are another default engine exists

            already for that database, previous default engine will be set as non-default automatically.'
          type: boolean
          format: boolean
        health_status:
          description: Output only. Health status of this binding.
          $ref: '#/components/schemas/firebolt.core.v1.BindingHealthStatus'
          readOnly: true
        id:
          description: Output only. Record ID.
          $ref: '#/components/schemas/firebolt.core.v1.BindingID'
          readOnly: true
        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
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)