Metadata API Reference: RESTified GraphQL Endpoints

Introduction

Add/Remove a RESTified GraphQL endpoint to Hasura GraphQL engine.

Supported from

The metadata API is supported for versions v2.0.0 and above and replaces the older schema/metadata API.

create_rest_endpoint

create_rest_endpoint is used to associate a URL template with a query.

An example request as follows:

POST /v1/metadata HTTP/1.1
Content-Type: application/json
X-Hasura-Role: admin

{
    "type": "create_rest_endpoint",
    "args": {
        "name": "example-name",
        "url": "example",
        "methods": ["POST","PUT","PATCH"],
        "definition": {
            "query": {
              "query_name": "example_mutation",
              "collection_name": "test_collection"
            }
        },
        "comment": "some optional comment"
    }
}
Key Required Schema Description
name true Text A unique identifier for the endpoint
url true EndpointUrl URL of the REST endpoint
methods true EndpointMethods Non-Empty case sensitive list of supported HTTP Methods
definition true EndpointDefinition Definition for the REST endpoint
comment false Text comment

Supported from

RESTified endpoints are supported from versions v2.0.0-alpha.1 and above.

drop_rest_endpoint

drop_rest_endpoint is used to delete an existing RESTified GraphQL Endpoint.

An example request as follows:

POST /v1/metadata HTTP/1.1
Content-Type: application/json
X-Hasura-Role: admin

{
    "type": "drop_rest_endpoint",
    "args": {
        "name": "name_of_the_endpoint"
    }
}
Key Required Schema Description
name true Text URL of the RESTified endpoint

Supported from

RESTified endpoints are supported from versions v2.0.0-alpha.1 and above.