Hasura Metadata API

Hasura metadata management.

OpenAPI Specification

hasura-metadata-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Hasura Engine HTTP APIs Graphql Metadata API
  description: 'Hasura GraphQL Engine exposes a small set of HTTP APIs in addition to its

    GraphQL endpoint. This specification documents the most commonly used

    endpoints: GraphQL queries/mutations/subscriptions, Relay GraphQL, the

    Metadata API, the Schema API, the PG Dump API, the Explain API, the

    Health Check API, the Source Health Check API, the Config API, and the

    Version API.


    Authentication: When the engine is started with HASURA_GRAPHQL_ADMIN_SECRET,

    requests must include the `x-hasura-admin-secret` header (or a valid JWT).

    Roles and session variables are passed via `x-hasura-role` and any

    `x-hasura-*` session headers.

    '
  version: 2.0.0
  contact:
    name: Hasura
    url: https://hasura.io/docs/2.0/api-reference/overview/
servers:
- url: https://my-graphql-engine.example.com
  description: Self-hosted Hasura GraphQL Engine
security:
- adminSecret: []
- bearerAuth: []
tags:
- name: Metadata
  description: Hasura metadata management.
paths:
  /v1/metadata:
    post:
      summary: Manage Hasura metadata
      description: 'Single endpoint for all metadata operations such as tracking tables,

        creating relationships, managing permissions, remote schemas, and

        actions. The request body specifies the metadata `type` (operation)

        and `args`.

        '
      operationId: metadata
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetadataRequest'
      responses:
        '200':
          description: Metadata operation result.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '400':
          description: Invalid metadata request.
      tags:
      - Metadata
components:
  schemas:
    MetadataRequest:
      type: object
      required:
      - type
      - args
      properties:
        type:
          type: string
          description: The metadata operation, e.g. `pg_track_table`, `export_metadata`, `bulk`.
        version:
          type: integer
          description: Optional metadata API version.
        args:
          description: Arguments for the metadata operation.
          oneOf:
          - type: object
            additionalProperties: true
          - type: array
            items:
              type: object
              additionalProperties: true
  securitySchemes:
    adminSecret:
      type: apiKey
      in: header
      name: x-hasura-admin-secret
      description: Admin secret configured via HASURA_GRAPHQL_ADMIN_SECRET.
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT token, when JWT authentication is configured.