openapi: 3.1.0
info:
title: Hasura Engine HTTP APIs Graphql Query 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: Query
paths:
/v2/query:
post:
summary: Execute schema/run_sql and other schema-level operations
description: 'Schema API used to run SQL, manage event triggers, and perform other
database-schema operations. Replaces the deprecated /v1/query endpoint
for Hasura v2 metadata format.
'
operationId: schemaQuery
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SchemaRequest'
responses:
'200':
description: Operation result.
content:
application/json:
schema:
type: object
additionalProperties: true
tags:
- Query
components:
schemas:
SchemaRequest:
type: object
required:
- type
- args
properties:
type:
type: string
description: The schema operation, e.g. `run_sql`, `bulk`.
args:
description: Arguments for the schema 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.