2021-02-24 15:30:34 +03:00
|
|
|
.. meta::
|
|
|
|
:description: Manage RESTified endpoints with the Hasura metadata API
|
|
|
|
:keywords: hasura, docs, metadata API, API reference, RESTified endpoints
|
|
|
|
|
|
|
|
.. _metadata_api_restified_endpoints:
|
|
|
|
|
|
|
|
Metadata API Reference: RESTified GraphQL Endpoints (v1.4 and above)
|
|
|
|
====================================================================
|
|
|
|
|
|
|
|
.. contents:: Table of contents
|
|
|
|
:backlinks: none
|
|
|
|
:depth: 1
|
|
|
|
:local:
|
|
|
|
|
|
|
|
Introduction
|
|
|
|
------------
|
|
|
|
|
|
|
|
Add/Remove a RESTified GraphQL endpoint to Hasura GraphQL engine.
|
|
|
|
|
|
|
|
.. _metadata_create_rest_endpoint:
|
|
|
|
|
|
|
|
create_rest_endpoint
|
|
|
|
--------------------
|
|
|
|
|
|
|
|
``create_rest_endpoint`` is used to associate a URL template with a query.
|
|
|
|
|
|
|
|
An example request as follows:
|
|
|
|
|
|
|
|
.. code-block:: http
|
|
|
|
|
|
|
|
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"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.. _metadata_create_rest_endpoint_syntax:
|
|
|
|
|
|
|
|
.. list-table::
|
|
|
|
:header-rows: 1
|
|
|
|
|
|
|
|
* - Key
|
|
|
|
- Required
|
|
|
|
- Schema
|
|
|
|
- Description
|
|
|
|
* - name
|
|
|
|
- true
|
|
|
|
- Text
|
|
|
|
- A unique identifier for the endpoint
|
|
|
|
* - url
|
|
|
|
- true
|
|
|
|
- :ref:`EndpointUrl`
|
|
|
|
- URL of the REST endpoint
|
|
|
|
* - methods
|
|
|
|
- true
|
|
|
|
- :ref:`EndpointMethods`
|
|
|
|
- Non-Empty case sensitive list of supported HTTP Methods
|
|
|
|
* - definition
|
|
|
|
- true
|
|
|
|
- :ref:`EndpointDef`
|
|
|
|
- Definition for the REST endpoint
|
|
|
|
* - comment
|
|
|
|
- false
|
|
|
|
- Text
|
|
|
|
- comment
|
|
|
|
|
2021-03-04 13:37:52 +03:00
|
|
|
.. admonition:: Supported from
|
|
|
|
|
|
|
|
RESTified endpoints are supported from versions ``v.2.0.0-alpha.1`` and above.
|
|
|
|
|
2021-02-24 15:30:34 +03:00
|
|
|
.. _metadata_drop_rest_endpoint:
|
|
|
|
|
|
|
|
drop_rest_endpoint
|
|
|
|
------------------
|
|
|
|
|
|
|
|
``drop_rest_endpoint`` is used to delete an existing RESTified GraphQL Endpoint.
|
|
|
|
|
|
|
|
An example request as follows:
|
|
|
|
|
|
|
|
.. code-block:: http
|
|
|
|
|
|
|
|
POST /v1/metadata HTTP/1.1
|
|
|
|
Content-Type: application/json
|
|
|
|
X-Hasura-Role: admin
|
|
|
|
|
|
|
|
{
|
|
|
|
"type": "drop_rest_endpoint",
|
|
|
|
"args": {
|
2021-03-04 13:37:52 +03:00
|
|
|
"name": "name_of_the_endpoint"
|
2021-02-24 15:30:34 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.. _metadata_drop_rest_endpoint_syntax:
|
|
|
|
|
|
|
|
.. list-table::
|
|
|
|
:header-rows: 1
|
|
|
|
|
|
|
|
* - Key
|
|
|
|
- Required
|
|
|
|
- Schema
|
|
|
|
- Description
|
2021-03-04 13:37:52 +03:00
|
|
|
* - name
|
2021-02-24 15:30:34 +03:00
|
|
|
- true
|
2021-03-04 13:37:52 +03:00
|
|
|
- Text
|
2021-02-24 15:30:34 +03:00
|
|
|
- URL of the RESTified endpoint
|
2021-03-04 13:37:52 +03:00
|
|
|
|
|
|
|
.. admonition:: Supported from
|
|
|
|
|
|
|
|
RESTified endpoints are supported from versions ``v.2.0.0-alpha.1`` and above.
|