Schema/Metadata API Reference: Remote schemas (Deprecated)¶
Table of contents
Introduction¶
Add/Remove a remote GraphQL server as remote schema in Hasura GraphQL engine.
Deprecation
In versions v2.0.0
and above, the schema/metadata API is deprecated in favour of the schema API and the
metadata API.
Though for backwards compatibility, the schema/metadata APIs will continue to function.
add_remote_schema¶
add_remote_schema
is used to add a remote GraphQL server as remote schema. GraphQL engine stitches it’s schema with existing.
An example request as follows:
POST /v1/query HTTP/1.1
Content-Type: application/json
X-Hasura-Role: admin
{
"type": "add_remote_schema",
"args": {
"name": "my remote schema",
"definition": {
"url": "https://remote-server.com/graphql",
"headers": [{"name": "X-Server-Request-From", "value": "Hasura"}],
"forward_client_headers": false,
"timeout_seconds": 60
},
"comment": "some optional comment"
}
}
Key | Required | Schema | Description |
---|---|---|---|
name | true | RemoteSchemaName | Name of the remote schema |
definition | true | RemoteSchemaDef | Definition for the remote schema |
comment | false | Text | comment |
update_remote_schema¶
update_remote_schema
is used to update the configuration of a remote schema. If the remote schema URL has changed
then it will perform a introspection as well. After introspection, if there are any inconsistencies detected with other
metadata objects (like remote relationships or remote schema permissions) they will be reported as inconsistent_metadata.
An example request as follows:
POST /v1/query HTTP/1.1
Content-Type: application/json
X-Hasura-Role: admin
{
"type": "update_remote_schema",
"args": {
"name": "my remote schema",
"definition": {
"url": "https://remote-server.com/graphql",
"headers": [{"name": "X-Server-Request-From", "value": "Hasura"}],
"forward_client_headers": false,
"timeout_seconds": 60
},
"comment": "some optional comment"
}
}
Key | Required | Schema | Description |
---|---|---|---|
name | true | RemoteSchemaName | Name of the remote schema |
definition | true | RemoteSchemaDef | Definition for the remote schema |
comment | false | Text | comment |
remove_remote_schema¶
remove_remote_schema
is used to delete a remote schema. GraphQL engine de-stitches it’s schema.
An example request as follows:
POST /v1/query HTTP/1.1
Content-Type: application/json
X-Hasura-Role: admin
{
"type": "remove_remote_schema",
"args": {
"name": "my remote schema"
}
}
Key | Required | Schema | Description |
---|---|---|---|
name | true | RemoteSchemaName | Name of the remote schema |
reload_remote_schema¶
reload_remote_schema
is used to refresh schema of the remote server. GraphQL engine refetches schema from server and stitches.
An example request as follows:
POST /v1/query HTTP/1.1
Content-Type: application/json
X-Hasura-Role: admin
{
"type": "reload_remote_schema",
"args": {
"name": "my remote schema"
}
}
Key | Required | Schema | Description |
---|---|---|---|
name | true | RemoteSchemaName | Name of the remote schema |