Type object
File match .meshrc.yml .meshrc.yaml .meshrc.json .graphql-mesh.yaml .graphql-mesh.yml
Schema URL https://catalog.lintel.tools/schemas/schemastore/graphql-mesh/latest.json
Source https://unpkg.com/@graphql-mesh/types/esm/config-schema.json

Validate with Lintel

npx @lintel/lintel check
Type: object

Properties

sources Source[] required

Defines the list of your external data sources for your API mesh

serve object
13 nested properties
fork integer | boolean

Spawn multiple server instances as node clusters (default: 1) (Any of: Int, Boolean)

port integer | string

TCP Port to listen (default: 4000) (Any of: Int, String)

hostname string

The binding hostname (default: localhost)

cors object
7 nested properties
origin object | string | array
allowedHeaders string[]
exposedHeaders string[]
credentials boolean
maxAge integer
preflightContinue boolean
optionsSuccessStatus integer
staticFiles string

Path to your static files you want to be served with GraphQL Mesh HTTP Server

playground boolean

Show GraphiQL Playground

sslCredentials object
2 nested properties
key string required
cert string required
endpoint string

Path to GraphQL Endpoint (default: /graphql)

browser string | boolean

Path to the browser that will be used by mesh serve to open a playground window in development mode This feature can be disabled by passing false (Any of: String, Boolean)

playgroundTitle string

Title of GraphiQL Playground

batchingLimit integer

Enable and define a limit for Request Batching

healthCheckEndpoint string

Endpoint for Health Check

extraParamNames string[]

By default, GraphQL Mesh does not allow parameters in the request body except query, variables, extensions, and operationName.

This option allows you to specify additional parameters that are allowed in the request body.

@default []

@example ['doc_id', 'id']

sdk object
1 nested properties
generateOperations object
1 nested properties
selectionSetDepth integer
codegen object | string | array

Codegen Configuration

require string[]
transforms Transform[]

Transform to apply to the unified mesh schema

additionalTypeDefs object | string | array

Additional type definitions, or type definitions overrides you wish to add to the schema mesh

additionalResolvers string | AdditionalStitchingResolverObject | AdditionalStitchingBatchResolverObject | AdditionalSubscriptionObject[]

Additional resolvers, or resolvers overrides you wish to add to the schema mesh (Any of: String, AdditionalStitchingResolverObject, AdditionalStitchingBatchResolverObject, AdditionalSubscriptionObject)

cache object
4 nested properties
cfwKv object
1 nested properties
namespace string required

The name of the Workers KV namespace to use for caching.

Make sure you have configured the following namespace described in here.

file object
1 nested properties
path string
localforage object
6 nested properties
driver string[]

Allowed values: WEBSQL, INDEXEDDB, LOCALSTORAGE

name string
version number
size integer
storeName string
description string

Any of: RedisConfigSentinel, RedisConfigSingle, RedisConfigCluster

merger string

Merge method

pubsub string | PubSubConfig

PubSub Implementation (Any of: String, PubSubConfig)

documents string[]

Provide a query or queries for GraphQL Playground, validation and SDK Generation The value can be the file path, glob expression for the file paths or the SDL. (.js, .jsx, .graphql, .gql, .ts and .tsx files are supported.

persistedOperations object
3 nested properties
allowArbitraryOperations boolean

Whether to allow execution of arbitrary GraphQL operations aside from persisted operations.

skipDocumentValidation boolean

Whether to skip validation of the persisted operation

customErrors object
3 nested properties
notFound string

Error to be thrown when the persisted operation is not found

persistedQueryOnly string

Error to be thrown when rejecting non-persisted operations

keyNotFound string

Error to be thrown when the extraction of the persisted operation id failed

logger string

Path to a file exporting a logger instance compatible with the Logger type from @graphql-mesh/types

customFetch object | string | array

Path to a custom W3 Compatible Fetch Implementation

skipSSLValidation boolean

Allow connections to an SSL endpoint without certificates

additionalEnvelopPlugins string

Path to a JavaScript file with a default export of Envelop plugins

plugins Plugin[]
pollingInterval integer

If you are using a CDN for a source (e.g. Federation Supergraph), this will be the polling interval in milliseconds for the CDN without a downtime

Definitions

Cache object
cfwKv object
1 nested properties
namespace string required

The name of the Workers KV namespace to use for caching.

Make sure you have configured the following namespace described in here.

file object
1 nested properties
path string
localforage object
6 nested properties
driver string[]

Allowed values: WEBSQL, INDEXEDDB, LOCALSTORAGE

name string
version number
size integer
storeName string
description string

Any of: RedisConfigSentinel, RedisConfigSingle, RedisConfigCluster

CFWorkersKVCacheConfig object
namespace string required

The name of the Workers KV namespace to use for caching.

Make sure you have configured the following namespace described in here.

FileCacheConfig object
path string
LocalforageConfig object
driver string[]

Allowed values: WEBSQL, INDEXEDDB, LOCALSTORAGE

name string
version number
size integer
storeName string
description string
RedisConfigCluster object
startupNodes RedisSentinelConfig[] required
username string
password string
db integer
lazyConnect boolean

Flag to indicate lazyConnect value for Redis client.

@default: true

dnsLookupAsIs boolean

Needed for TLS connections to Redis Cluster (especially when using AWS Elasticache Clusters with TLS).

@see https://github.com/redis/ioredis?tab=readme-ov-file#special-note-aws-elasticache-clusters-with-tls

tls boolean

Enable TLS for Redis Cluster connections. Required for AWS Elasticache Clusters with TLS.

@see https://github.com/redis/ioredis?tab=readme-ov-file#special-note-aws-elasticache-clusters-with-tls

RedisConfigSentinel object
name string required

identifies a group of Redis instances composed of a master and one or more slaves

sentinels RedisSentinelConfig[] required

A list of sentinels to connect to. The list does not need to enumerate all your sentinel instances, but a few so that if one is down the client will try the next one.

sentinelPassword string

(optional) password for Sentinel instances.

role string

(optional) with a value of slave will return a random slave from the Sentinel group. (Allowed values: master, slave)

Values: "master" "slave"
enableTLSForSentinelMode boolean

(optional) set to true if connecting to sentinel instances that are encrypted

lazyConnect boolean

Flag to indicate lazyConnect value for Redis client.

@default: true

RedisSentinelConfig object
host string required
port string required
family string
RedisConfigSingle object
host string
port string
username string
password string
db integer
url string
family string
lazyConnect boolean

Flag to indicate lazyConnect value for Redis client.

@default: true

ServeConfig object
fork integer | boolean

Spawn multiple server instances as node clusters (default: 1) (Any of: Int, Boolean)

port integer | string

TCP Port to listen (default: 4000) (Any of: Int, String)

hostname string

The binding hostname (default: localhost)

cors object
7 nested properties
origin object | string | array
allowedHeaders string[]
exposedHeaders string[]
credentials boolean
maxAge integer
preflightContinue boolean
optionsSuccessStatus integer
staticFiles string

Path to your static files you want to be served with GraphQL Mesh HTTP Server

playground boolean

Show GraphiQL Playground

sslCredentials object
2 nested properties
key string required
cert string required
endpoint string

Path to GraphQL Endpoint (default: /graphql)

browser string | boolean

Path to the browser that will be used by mesh serve to open a playground window in development mode This feature can be disabled by passing false (Any of: String, Boolean)

playgroundTitle string

Title of GraphiQL Playground

batchingLimit integer

Enable and define a limit for Request Batching

healthCheckEndpoint string

Endpoint for Health Check

extraParamNames string[]

By default, GraphQL Mesh does not allow parameters in the request body except query, variables, extensions, and operationName.

This option allows you to specify additional parameters that are allowed in the request body.

@default []

@example ['doc_id', 'id']

CorsConfig object
origin object | string | array
allowedHeaders string[]
exposedHeaders string[]
credentials boolean
maxAge integer
preflightContinue boolean
optionsSuccessStatus integer
HTTPSConfig object
key string required
cert string required
SDKConfig object
generateOperations object
1 nested properties
selectionSetDepth integer
GenerateOperationsConfig object
selectionSetDepth integer
Source object
name string required

The name you wish to set to your remote API, this will be used for building the GraphQL context

handler object required
14 nested properties

Handler for remote/local/third-party GraphQL schema (Any of: GraphQLHandlerHTTPConfiguration, GraphQLHandlerCodeFirstConfiguration, GraphQLHandlerMultipleHTTPConfiguration)

grpc object
9 nested properties
endpoint string required

gRPC Endpoint

source ProtoFilePath | string

gRPC Proto file that contains your protobuf schema OR Use a binary-encoded or JSON file descriptor set file (Any of: ProtoFilePath, String)

requestTimeout integer

Request timeout in milliseconds Default: 200000

credentialsSsl object
useHTTPS boolean

Use https instead of http for gRPC connection

metaData object

MetaData

prefixQueryMethod string[]

prefix to collect Query method default: list, get

selectQueryOrMutationField SelectQueryOrMutationFieldConfig[]

Allows to explicitly override the default operation (Query or Mutation) for any gRPC operation

schemaHeaders object
jsonSchema object
9 nested properties
source string
endpoint string
operationHeaders object
schemaHeaders object
operations JsonSchemaHTTPOperation | JsonSchemaPubSubOperation[]

Any of: JsonSchemaHTTPOperation, JsonSchemaPubSubOperation

ignoreErrorResponses boolean
queryParams object | string | array
queryStringOptions object
timeout integer

Timeout for the HTTP request in milliseconds

mongoose object
3 nested properties
connectionString string
discriminators MongooseModel[]
mysql object
10 nested properties
host string

The hostname of the database you are connecting to. (Default: localhost)

port integer

The port number to connect to. (Default: 3306)

localAddress string

The source IP address to use for TCP connection

user string

The MySQL user to authenticate as

password string

The password of that MySQL user

database string

Name of the database to use for this connection

ssl object
pool object | string | array

Use existing Pool instance Format: modulePath#exportName

tables string[]

Use specific tables for your schema

tableFields TableField[]

Use specific fields of specific tables

neo4j object
6 nested properties
endpoint string required

URL for the Neo4j Instance e.g. neo4j://localhost

username string required

Username for basic authentication

password string required

Password for basic authentication

source string

Provide GraphQL Type Definitions instead of inferring

alwaysIncludeRelationships boolean

Specifies whether relationships should always be included in the type definitions as relationship types, even if the relationships do not have properties.

database string

Specifies database name

odata object
6 nested properties
endpoint string required

Base URL for OData API

source string

Custom $metadata File or URL

schemaHeaders object

Headers to be used with the $metadata requests

operationHeaders object

Headers to be used with the operation requests

batch string

Enable batching (Allowed values: multipart, json)

Values: "multipart" "json"
expandNavProps boolean

Use $expand for navigation props instead of seperate HTTP requests (Default: false)

openapi object
9 nested properties
source string required

A pointer to your API source (Support both JSON and YAML) - could be a local file, remote file or url endpoint

fallbackFormat string

Format of the files referenced from the source file, for cases content type isn't detected automatically (Allowed values: json, yaml, js, ts)

Values: "json" "yaml" "js" "ts"
endpoint string

Specifies the URL on which all paths will be based on. Overrides the server object in the OAS.

schemaHeaders object

If you are using a remote URL endpoint to fetch your schema, you can set headers for the HTTP request to fetch your schema.

operationHeaders object

JSON object representing the Headers to add to the runtime of the API calls

ignoreErrorResponses boolean

Responses are converted to a Union type grouping all possible responses. Applying this will ignore all responses with status code other than 2xx, resulting in simpler response types, usualy regular object type instead of union. Default: false

selectQueryOrMutationField SelectQueryOrMutationFieldConfig[]

Allows to explicitly override the default operation (Query or Mutation) for any OAS operation

queryParams object

JSON object representing the query search parameters to add to the API calls

timeout integer

Timeout for the HTTP request in milliseconds

postgraphile object
9 nested properties
connectionString string

A connection string to your Postgres database

schemaName string[]

An array of strings which specifies the PostgreSQL schemas that PostGraphile will use to create a GraphQL schema. The default schema is the public schema.

pool object | string | array

Connection Pool instance or settings or you can provide the path of a code file that exports any of those

appendPlugins string[]

Extra Postgraphile Plugins to append

skipPlugins string[]

Postgraphile Plugins to skip (e.g. "graphile-build#NodePlugin")

options object | string

Extra Postgraphile options that will be added to the postgraphile constructor. It can either be an object or a string pointing to the object's path (e.g. "./my-config#options"). See the postgraphile docs for more information. (Any of: JSON, String)

subscriptions boolean

Enable GraphQL websocket transport support for subscriptions (default: true)

live boolean

Enables live-query support via GraphQL subscriptions (sends updated payload any time nested collections/records change) (default: true)

contextOptions object | string | array

A file that exports a function which takes context as a paramter and returns postgraphile context options (e.g. "./my-function#pgSettings"). See the postgraphile docs for more information.

raml object
8 nested properties
source string required
endpoint string
schemaHeaders object
operationHeaders object
ignoreErrorResponses boolean
selectQueryOrMutationField SelectQueryOrMutationFieldConfig[]
queryParams object | string | array
timeout integer

Timeout for the HTTP request in milliseconds

soap object
6 nested properties
source string required

A url to your WSDL or generated SDL with annotations

schemaHeaders object | string | array

JSON object representing the Headers to add to the runtime of the API calls only for schema introspection You can also provide .js or .ts file path that exports schemaHeaders as an object

operationHeaders object

JSON object representing the Headers to add to the runtime of the API calls only for operation during runtime

bodyAlias string

The name of the alias to be used in the envelope for body components

default: body

soapHeaders object
soapNamespace string

The namespace of the SOAP envelope By default, SOAP handler detects the SOAP version and if SOAP version is 1.1, it uses <http://schemas.xmlsoap.org/soap/envelope/> namespace If SOAP version is 1.2, it uses <http://www.w3.org/2003/05/soap-envelope> namespace

supergraph object
5 nested properties
source string required

A file path to your Supergraph Schema If you provide a path to a code file(js or ts), other options will be ignored and the schema exported from the file will be used directly.

schemaHeaders object | string | array
operationHeaders object | string | array
batch boolean
thrift object
9 nested properties
hostName string required

The name of the host to connect to.

port integer required

The port number to attach to on the host.

serviceName string required

The name of your service. Used for logging.

idl string required

Path to IDL file

path string

The path on which the Thrift service is listening. Defaults to '/thrift'.

https boolean

Boolean value indicating whether to use https. Defaults to false.

protocol string

Name of the Thrift protocol type to use. Defaults to 'binary'. (Allowed values: binary, compact, json)

Values: "binary" "compact" "json"
operationHeaders object

JSON object representing the Headers to add to the runtime of the API calls

schemaHeaders object

If you are using a remote URL endpoint to fetch your schema, you can set headers for the HTTP request to fetch your schema.

tuql object
2 nested properties
db string

Pointer to your SQLite database

infile string

Path to the SQL Dump file if you want to build a in-memory database

transforms Transform[]

List of transforms to apply to the current API source, before unifying it with the rest of the sources

Transform object

Transformer to apply caching for your data sources

encapsulate object
2 nested properties
name string

Optional, name to use for grouping under the root types. If not specific, the API name is used.

applyTo object
3 nested properties
query boolean
mutation boolean
subscription boolean
extend object
2 nested properties
typeDefs object | string | array
resolvers object | string | array
federation object
2 nested properties
version string

Version of the federation spec Default: v2.0

filterSchema FilterSchemaTransform | object | string | array

Transformer to filter (white/black list) GraphQL types, fields and arguments (Any of: FilterSchemaTransform, Any)

Transformer to hoist GraphQL fields

namingConvention object
5 nested properties
mode string

Specify to apply naming-convention transforms to bare schema or by wrapping original schema (Allowed values: bare, wrap)

Values: "bare" "wrap"
typeNames string

Allowed values: camelCase, capitalCase, constantCase, dotCase, headerCase, noCase, paramCase, pascalCase, pathCase, sentenceCase, snakeCase, upperCase, lowerCase

Values: "camelCase" "capitalCase" "constantCase" "dotCase" "headerCase" "noCase" "paramCase" "pascalCase" "pathCase" "sentenceCase" "snakeCase" "upperCase" "lowerCase"
fieldNames string

Allowed values: camelCase, capitalCase, constantCase, dotCase, headerCase, noCase, paramCase, pascalCase, pathCase, sentenceCase, snakeCase, upperCase, lowerCase

Values: "camelCase" "capitalCase" "constantCase" "dotCase" "headerCase" "noCase" "paramCase" "pascalCase" "pathCase" "sentenceCase" "snakeCase" "upperCase" "lowerCase"
enumValues string

Allowed values: camelCase, capitalCase, constantCase, dotCase, headerCase, noCase, paramCase, pascalCase, pathCase, sentenceCase, snakeCase, upperCase, lowerCase

Values: "camelCase" "capitalCase" "constantCase" "dotCase" "headerCase" "noCase" "paramCase" "pascalCase" "pathCase" "sentenceCase" "snakeCase" "upperCase" "lowerCase"
fieldArgumentNames string

Allowed values: camelCase, capitalCase, constantCase, dotCase, headerCase, noCase, paramCase, pascalCase, pathCase, sentenceCase, snakeCase, upperCase, lowerCase

Values: "camelCase" "capitalCase" "constantCase" "dotCase" "headerCase" "noCase" "paramCase" "pascalCase" "pathCase" "sentenceCase" "snakeCase" "upperCase" "lowerCase"
prefix object
5 nested properties
mode string

Specify to apply prefix transform to bare schema or by wrapping original schema (Allowed values: bare, wrap)

Values: "bare" "wrap"
value string

The prefix to apply to the schema types. By default it's the API name.

ignore string[]

List of ignored types

includeRootOperations boolean

Changes root types and changes the field names (default: false)

includeTypes boolean

Changes types (default: true)

prune object
5 nested properties
skipPruning string[]

Types to skip pruning

skipEmptyCompositeTypePruning boolean

Set to true to skip pruning object types or interfaces with no fields

skipUnimplementedInterfacesPruning boolean

Set to true to skip pruning interfaces that are not implemented by any other types

skipEmptyUnionPruning boolean

Set to true to skip pruning empty unions

skipUnusedTypesPruning boolean

Set to true to skip pruning unused types

RateLimit transform

rename RenameTransform | object | string | array

Transformer to rename GraphQL types and fields (Any of: RenameTransform, Any)

replaceField object
2 nested properties
replacements ReplaceFieldTransformObject[] required

Array of rules to replace fields

typeDefs object | string | array

Additional type definition to used to replace field types

resolversComposition ResolversCompositionTransform | object | string | array

Transformer to apply composition to resolvers (Any of: ResolversCompositionTransform, Any)

transferSchema object
1 nested properties
transfers TransferSchemaTransformObject[] required

Array of rules to transfer fields or args

typeMerging object
3 nested properties

Denotes a root field used to query a merged type across services. The marked field's name is analogous to the fieldName setting in merged type configuration, while the field's arguments and return type are used to infer merge configuration. Directive arguments tune the merge behavior

additionalConfiguration object | string | array

The path to a code file that has additional type merging configuration

Handler object

Handler for remote/local/third-party GraphQL schema (Any of: GraphQLHandlerHTTPConfiguration, GraphQLHandlerCodeFirstConfiguration, GraphQLHandlerMultipleHTTPConfiguration)

grpc object
9 nested properties
endpoint string required

gRPC Endpoint

source ProtoFilePath | string

gRPC Proto file that contains your protobuf schema OR Use a binary-encoded or JSON file descriptor set file (Any of: ProtoFilePath, String)

requestTimeout integer

Request timeout in milliseconds Default: 200000

credentialsSsl object
3 nested properties
rootCA string
certChain string
privateKey string
useHTTPS boolean

Use https instead of http for gRPC connection

metaData object

MetaData

prefixQueryMethod string[]

prefix to collect Query method default: list, get

selectQueryOrMutationField SelectQueryOrMutationFieldConfig[]

Allows to explicitly override the default operation (Query or Mutation) for any gRPC operation

schemaHeaders object
jsonSchema object
9 nested properties
source string
endpoint string
operationHeaders object
schemaHeaders object
operations JsonSchemaHTTPOperation | JsonSchemaPubSubOperation[]

Any of: JsonSchemaHTTPOperation, JsonSchemaPubSubOperation

ignoreErrorResponses boolean
queryParams object | string | array
queryStringOptions object
4 nested properties
indices boolean

When arrays are stringified, by default they are not given explicit indices: a=b&a=c&a=d You may override this by setting the indices option to true: a[0]=b&a[1]=c&a[2]=d

arrayFormat string

You can configure how to format arrays in the query strings.

Note: when using arrayFormat set to 'comma', you can also pass the commaRoundTrip option set to true or false, to append [] on single-item arrays, so that they can round trip through a parse. (Allowed values: indices, brackets, repeat, comma)

Values: "indices" "brackets" "repeat" "comma"
commaRoundTrip boolean

Even if there is a single item in an array, this option treats them as arrays (default: false)

jsonStringify boolean

Stringify the nested objects as JSON (default: false)

timeout integer

Timeout for the HTTP request in milliseconds

mongoose object
3 nested properties
connectionString string
discriminators MongooseModel[]
mysql object
10 nested properties
host string

The hostname of the database you are connecting to. (Default: localhost)

port integer

The port number to connect to. (Default: 3306)

localAddress string

The source IP address to use for TCP connection

user string

The MySQL user to authenticate as

password string

The password of that MySQL user

database string

Name of the database to use for this connection

ssl object
2 nested properties
rejectUnauthorized boolean

Default: true

ca string

Path to your CA

pool object | string | array

Use existing Pool instance Format: modulePath#exportName

tables string[]

Use specific tables for your schema

tableFields TableField[]

Use specific fields of specific tables

neo4j object
6 nested properties
endpoint string required

URL for the Neo4j Instance e.g. neo4j://localhost

username string required

Username for basic authentication

password string required

Password for basic authentication

source string

Provide GraphQL Type Definitions instead of inferring

alwaysIncludeRelationships boolean

Specifies whether relationships should always be included in the type definitions as relationship types, even if the relationships do not have properties.

database string

Specifies database name

odata object
6 nested properties
endpoint string required

Base URL for OData API

source string

Custom $metadata File or URL

schemaHeaders object

Headers to be used with the $metadata requests

operationHeaders object

Headers to be used with the operation requests

batch string

Enable batching (Allowed values: multipart, json)

Values: "multipart" "json"
expandNavProps boolean

Use $expand for navigation props instead of seperate HTTP requests (Default: false)

openapi object
9 nested properties
source string required

A pointer to your API source (Support both JSON and YAML) - could be a local file, remote file or url endpoint

fallbackFormat string

Format of the files referenced from the source file, for cases content type isn't detected automatically (Allowed values: json, yaml, js, ts)

Values: "json" "yaml" "js" "ts"
endpoint string

Specifies the URL on which all paths will be based on. Overrides the server object in the OAS.

schemaHeaders object

If you are using a remote URL endpoint to fetch your schema, you can set headers for the HTTP request to fetch your schema.

operationHeaders object

JSON object representing the Headers to add to the runtime of the API calls

ignoreErrorResponses boolean

Responses are converted to a Union type grouping all possible responses. Applying this will ignore all responses with status code other than 2xx, resulting in simpler response types, usualy regular object type instead of union. Default: false

selectQueryOrMutationField SelectQueryOrMutationFieldConfig[]

Allows to explicitly override the default operation (Query or Mutation) for any OAS operation

queryParams object

JSON object representing the query search parameters to add to the API calls

timeout integer

Timeout for the HTTP request in milliseconds

postgraphile object
9 nested properties
connectionString string

A connection string to your Postgres database

schemaName string[]

An array of strings which specifies the PostgreSQL schemas that PostGraphile will use to create a GraphQL schema. The default schema is the public schema.

pool object | string | array

Connection Pool instance or settings or you can provide the path of a code file that exports any of those

appendPlugins string[]

Extra Postgraphile Plugins to append

skipPlugins string[]

Postgraphile Plugins to skip (e.g. "graphile-build#NodePlugin")

options object | string

Extra Postgraphile options that will be added to the postgraphile constructor. It can either be an object or a string pointing to the object's path (e.g. "./my-config#options"). See the postgraphile docs for more information. (Any of: JSON, String)

subscriptions boolean

Enable GraphQL websocket transport support for subscriptions (default: true)

live boolean

Enables live-query support via GraphQL subscriptions (sends updated payload any time nested collections/records change) (default: true)

contextOptions object | string | array

A file that exports a function which takes context as a paramter and returns postgraphile context options (e.g. "./my-function#pgSettings"). See the postgraphile docs for more information.

raml object
8 nested properties
source string required
endpoint string
schemaHeaders object
operationHeaders object
ignoreErrorResponses boolean
selectQueryOrMutationField SelectQueryOrMutationFieldConfig[]
queryParams object | string | array
timeout integer

Timeout for the HTTP request in milliseconds

soap object
6 nested properties
source string required

A url to your WSDL or generated SDL with annotations

schemaHeaders object | string | array

JSON object representing the Headers to add to the runtime of the API calls only for schema introspection You can also provide .js or .ts file path that exports schemaHeaders as an object

operationHeaders object

JSON object representing the Headers to add to the runtime of the API calls only for operation during runtime

bodyAlias string

The name of the alias to be used in the envelope for body components

default: body

soapHeaders object
3 nested properties
namespace string required

The namespace of the SOAP Header For example: <http://www.example.com/namespace>

headers object required

The content of the SOAP Header For example: { "key": "value" } then the content will be <key>value</key>

alias string

The name of the alias to be used in the envelope

default: header

soapNamespace string

The namespace of the SOAP envelope By default, SOAP handler detects the SOAP version and if SOAP version is 1.1, it uses <http://schemas.xmlsoap.org/soap/envelope/> namespace If SOAP version is 1.2, it uses <http://www.w3.org/2003/05/soap-envelope> namespace

supergraph object
5 nested properties
source string required

A file path to your Supergraph Schema If you provide a path to a code file(js or ts), other options will be ignored and the schema exported from the file will be used directly.

schemaHeaders object | string | array
operationHeaders object | string | array
batch boolean
thrift object
9 nested properties
hostName string required

The name of the host to connect to.

port integer required

The port number to attach to on the host.

serviceName string required

The name of your service. Used for logging.

idl string required

Path to IDL file

path string

The path on which the Thrift service is listening. Defaults to '/thrift'.

https boolean

Boolean value indicating whether to use https. Defaults to false.

protocol string

Name of the Thrift protocol type to use. Defaults to 'binary'. (Allowed values: binary, compact, json)

Values: "binary" "compact" "json"
operationHeaders object

JSON object representing the Headers to add to the runtime of the API calls

schemaHeaders object

If you are using a remote URL endpoint to fetch your schema, you can set headers for the HTTP request to fetch your schema.

tuql object
2 nested properties
db string

Pointer to your SQLite database

infile string

Path to the SQL Dump file if you want to build a in-memory database

Plugin object
maskedErrors object
1 nested properties
errorMessage string
immediateIntrospection object | string | array
deduplicateRequest object | string | array
hive object
7 nested properties
enabled boolean | string

If this expression is truthy, mocking would be enabled You can use environment variables expression, for example: process.env.MOCKING_ENABLED != null (Any of: Boolean, String)

token string

Access Token for Usage Reporting

agent object
8 nested properties
name string
logger object | string | array
fetch object | string | array
timeout integer

30s by default

maxRetries integer

5 by default

minTimeout integer

200 by default

sendInterval integer

Send reports in interval (defaults to 10_000ms)

maxSize integer

Max number of traces to send at once (defaults to 25)

usage object
7 nested properties
clientInfo object
max integer

Hive uses LRU cache to store info about operations. This option represents the maximum size of the cache. Default: 1000

ttl integer

Hive uses LRU cache to store info about operations. This option represents the maximum age of an unused operation in the cache. Default: no ttl

exclude string[]

A list of operations (by name) to be ignored by Hive.

sampleRate number

Sample rate to determine sampling. 0.0 = 0% chance of being sent 1.0 = 100% chance of being sent Default: 1.0

processVariables boolean

(Experimental) Enables collecting Input fields usage based on the variables passed to the operation. Default: false

sampler object | string | array
reporting object
4 nested properties
author string required

Author of current version of the schema

commit string required

Commit SHA hash (or any identifier) related to the schema version

serviceName string
serviceUrl string
selfHosting object
3 nested properties
graphqlEndpoint string required

Point to your own instance of GraphQL Hive API

Used by schema reporting and token info.

applicationUrl string required

Address of your own GraphQL Hive application

Used by token info to generate a link to the organization, project and target.

usageEndpoint string

Point to your own instance of GraphQL Hive Usage API

Used by usage reporting.

persistedDocuments object
4 nested properties
cdn object required
allowArbitraryDocuments boolean

Whether arbitrary documents should be allowed along-side persisted documents. false by default

cache integer

Maximum amount of operations that shall be kept in memory after being loaded from the CDN. 10 seconds by default

fetch object | string | array
httpCache object
2 nested properties
matches string | URLPatternObj[]

If the following patterns match the request URL, the response will be cached. (Any of: String, URLPatternObj)

ignores string | URLPatternObj[]

If the following patterns match the request URL, the response will not be cached. (Any of: String, URLPatternObj)

httpDetailsExtensions object
1 nested properties
if object | string | array
liveQuery object
5 nested properties
invalidations LiveQueryInvalidation[]

Invalidate a query or queries when a specific operation is done without an error

resourceIdentifier string

Custom strategy for building resources identifiers By default resource identifiers are built by concatenating the Typename with the id separated by a color (User:1).

This may be useful if you are using a relay compliant schema and the Typename information is not required for building a unique topic.

Default: "{typename}:{id}"

includeIdentifierExtension boolean

Whether the extensions should include a list of all resource identifiers for the latest operation result. Any of those can be used for invalidating and re-scheduling the operation execution.

This is mainly useful for discovering and learning what kind of topics a given query will subscribe to. The default value is true if DEBUG environment variable is set

idFieldName string

Identifier unique field

Default: "id"

Specify which fields should be indexed for specific invalidations.

mock object
5 nested properties
if boolean

If this expression is truthy, mocking would be enabled You can use environment variables expression, for example: process.env.MOCKING_ENABLED != null

preserveResolvers boolean

Do not mock any other resolvers other than defined in mocks. For example, you can enable this if you don't want to mock entire schema but partially.

Mock configurations

initializeStore object | string | array

The path to the code runs before the store is attached to the schema

mockGenerationBehavior string

Set to 'deterministic' if the default random mock generation behavior causes flakiness.

Default: 'random' (Allowed values: deterministic, random)

Values: "deterministic" "random"
newrelic object
7 nested properties
includeOperationDocument boolean

default false. When set to true, includes the GraphQL document defining the operations and fragments

includeExecuteVariables boolean

default false. When set to true, includes all the operation variables with their values

includeRawResult boolean

default: false. When set to true, includes the execution result of both delegation and execution

trackResolvers boolean

default false. When set to true, track resolvers as segments to monitor their performance

includeResolverArgs boolean

default false. When set to true, includes all the arguments passed to resolvers and delegation with their values

rootFieldsNaming boolean

default false. When set to true append the names of operation root fields to the transaction name

extractOperationName string

Allows to set a custom operation name to be used as transaction name and attribute extractOperationName: {context.headers['x-operation-name']}

operationFieldPermissions object
1 nested properties
rateLimit object
1 nested properties
config RateLimitTransformConfig[] required
responseCache object
10 nested properties
ttl number

Maximum age in ms. Defaults to Infinity. Set it to 0 for disabling the global TTL.

ttlPerCoordinate ResponseCacheTTLConfig[]

Overwrite the ttl for query operations whose selection contains a specific schema coordinate (e.g. Query.users). Useful if the selection of a specific field should reduce the TTL of the query operation.

ignoredTypes string[]

Skip caching of following the types.

idFields string[]

List of fields that are used to identify the entity.

invalidateViaMutation boolean

Whether the mutation execution result should be used for invalidating resources. Defaults to true

includeExtensionMetadata boolean

Include extension values that provide useful information, such as whether the cache was hit or which resources a mutation invalidated.

sessionId string

Allows to cache responses based on the resolved session id. Return a unique value for each session. Creates a global session by default. Example;

sessionId: "{context.headers.userId}"
if string

Specify whether the cache should be used based on the context.

if: "context.headers.userId != null"
cacheKey string

Customize the behavior how the response cache key is computed from the documentString, variableValues, contextValue and sessionId. If the given string is interpolated as empty, default behavior is used. Example;

# Cache by specific value
cacheKey: "{variableValues.userId}"

# Cache by documentString
cacheKey: "{documentString}"

# Cache by operationName
cacheKey: "{operationName}"

# Cache by some header value
cacheKey: "{contextValue.headers.authorization}"

# Or combine two of each
cacheKey: "{contextValue.headers.authorization}-{operationName}"
shouldCacheResult string

Checks if the result should be cached.

shouldCacheResult: "result.errors.length > 0"
snapshot object
3 nested properties
apply string[] required

HTTP URL pattern to be applied For example; apply: - http://my-remote-api.com/* <- * will apply this extension to all paths of remote API

outputDir string required

Path to the directory of the generated snapshot files

if string | boolean

Expression for when to activate this extension. Value can be a valid JS expression string or a boolean (Any of: String, Boolean)

statsd object
3 nested properties
skipIntrospection boolean

If you wish to disable introspection for logging (default: false)

prefix string

prefix.operations.count (default: graphql)

client object
24 nested properties
bufferFlushInterval integer
bufferHolder object
cacheDns boolean
cacheDnsTtl integer
globalTags object
globalize boolean
host string
isChild boolean
maxBufferSize integer
mock boolean
path string
port integer
protocol string

Allowed values: tcp, udp, uds, stream

Values: "tcp" "udp" "uds" "stream"
sampleRate number
suffix string
telegraf boolean
useDefaultRoute boolean
tagPrefix string
tagSeperator string
tcpGracefulErrorHandling boolean
tcpGracefulRestartRateLimit integer
udsGracefulErrorHandling boolean
udsGracefulRestartRateLimit integer
closingFlushInterval integer
prometheus object
22 nested properties
requestCount boolean | string

Any of: Boolean, String

requestTotalDuration boolean | string

Any of: Boolean, String

requestSummary boolean | string

Any of: Boolean, String

parse boolean | string

Any of: Boolean, String

validate boolean | string

Any of: Boolean, String

contextBuilding boolean | string

Any of: Boolean, String

execute boolean | string

Any of: Boolean, String

errors boolean | string

Any of: Boolean, String

deprecatedFields boolean | string

Any of: Boolean, String

skipIntrospection boolean
registry string
delegation boolean | string

Any of: Boolean, String

delegationArgs boolean
delegationKey boolean
subgraphExecute boolean | string

Any of: Boolean, String

fetchMetrics boolean | string

Any of: Boolean, String

fetchRequestHeaders boolean
fetchResponseHeaders boolean
http boolean | string

Any of: Boolean, String

httpRequestHeaders boolean
httpResponseHeaders boolean
endpoint boolean | string

The path to the metrics endpoint default: /metrics (Any of: Boolean, String)

MaskedErrorsPluginConfig object
errorMessage string
AdditionalStitchingResolverObject object
sourceName string required
sourceTypeName string required
sourceFieldName string required
targetTypeName string required
targetFieldName string required
sourceSelectionSet string
requiredSelectionSet string
sourceArgs object
result string

Extract specific property from the result

resultType string

If return types don't match, you can specify a result type to apply inline fragment

AdditionalStitchingBatchResolverObject object
sourceName string required
sourceTypeName string required
sourceFieldName string required
keyField string required
keysArg string required
targetTypeName string required
targetFieldName string required
sourceSelectionSet string
requiredSelectionSet string
additionalArgs object
result string

Extract specific property from the result

resultType string

If return types don't match, you can specify a result type to apply inline fragment

AdditionalSubscriptionObject object
targetTypeName string required
targetFieldName string required
pubsubTopic string required
result string
filterBy string
sourceName string
PubSubConfig object
name string required
config object | string | array
PersistedOperationsConfig object
allowArbitraryOperations boolean

Whether to allow execution of arbitrary GraphQL operations aside from persisted operations.

skipDocumentValidation boolean

Whether to skip validation of the persisted operation

customErrors object
3 nested properties
notFound string

Error to be thrown when the persisted operation is not found

persistedQueryOnly string

Error to be thrown when rejecting non-persisted operations

keyNotFound string

Error to be thrown when the extraction of the persisted operation id failed

CustomPersistedQueryErrors object
notFound string

Error to be thrown when the persisted operation is not found

persistedQueryOnly string

Error to be thrown when rejecting non-persisted operations

keyNotFound string

Error to be thrown when the extraction of the persisted operation id failed

GraphQLHandlerMultipleHTTPConfiguration object

HTTP Source Configurations

strategy string

Handling strategy (default: fallback) (Allowed values: fallback, race, highestValue)

Values: "fallback" "race" "highestValue"
strategyConfig object
2 nested properties
selectionSet string required
value string required
GraphQLHandlerhighestValueStrategyConfig object
selectionSet string required
value string required
GraphQLHandlerCodeFirstConfiguration object
source object | string | array required

A file path to your GraphQL Schema If you provide a path to a code file(js or ts), other options will be ignored and the schema exported from the file will be used directly.

GraphQLHandlerHTTPConfiguration object
endpoint string required

A url or file path to your remote GraphQL endpoint. If you provide a path to a code file(js or ts), other options will be ignored and the schema exported from the file will be used directly.

schemaHeaders object | string | array

JSON object representing the Headers to add to the runtime of the API calls only for schema introspection

operationHeaders object

JSON object representing the Headers to add to the runtime of the API calls only for operation during runtime

useGETForQueries boolean

Use HTTP GET for Query operations

method string

HTTP method used for GraphQL operations (Allowed values: GET, POST)

Values: "GET" "POST"
credentials string

Request Credentials if your environment supports it. See more

@default "same-origin" (Allowed values: omit, include)

Values: "omit" "include"
webSocketImpl string

Path to a custom W3 Compatible WebSocket Implementation

source string

Path to the introspection You can separately give schema introspection or SDL

subscriptionsProtocol string

SSE - Server Sent Events WS - New graphql-ws LEGACY_WS - Legacy subscriptions-transport-ws (Allowed values: SSE, WS, LEGACY_WS)

Values: "SSE" "WS" "LEGACY_WS"
subscriptionsEndpoint string

URL to your endpoint serving all subscription queries for this source

retry integer

Retry attempts if fails

timeout integer

Timeout in milliseconds

batch boolean

Enable/Disable automatic query batching

connectionParams object

JSON object representing the connectionParams from a WebSocket connection to add to the runtime of the API calls only for operation during runtime. More information about the WebSocket connectionParams:

GrpcHandler object
endpoint string required

gRPC Endpoint

source ProtoFilePath | string

gRPC Proto file that contains your protobuf schema OR Use a binary-encoded or JSON file descriptor set file (Any of: ProtoFilePath, String)

requestTimeout integer

Request timeout in milliseconds Default: 200000

credentialsSsl object
3 nested properties
rootCA string
certChain string
privateKey string
useHTTPS boolean

Use https instead of http for gRPC connection

metaData object

MetaData

prefixQueryMethod string[]

prefix to collect Query method default: list, get

selectQueryOrMutationField SelectQueryOrMutationFieldConfig[]

Allows to explicitly override the default operation (Query or Mutation) for any gRPC operation

schemaHeaders object
LoadOptions object
defaults boolean
includeDirs string[]
ProtoFilePath object
file string required
load object
2 nested properties
defaults boolean
includeDirs string[]
GrpcCredentialsSsl object
rootCA string
certChain string
privateKey string
QueryStringOptions object
indices boolean

When arrays are stringified, by default they are not given explicit indices: a=b&a=c&a=d You may override this by setting the indices option to true: a[0]=b&a[1]=c&a[2]=d

arrayFormat string

You can configure how to format arrays in the query strings.

Note: when using arrayFormat set to 'comma', you can also pass the commaRoundTrip option set to true or false, to append [] on single-item arrays, so that they can round trip through a parse. (Allowed values: indices, brackets, repeat, comma)

Values: "indices" "brackets" "repeat" "comma"
commaRoundTrip boolean

Even if there is a single item in an array, this option treats them as arrays (default: false)

jsonStringify boolean

Stringify the nested objects as JSON (default: false)

JsonSchemaHandler object
source string
endpoint string
operationHeaders object
schemaHeaders object
operations JsonSchemaHTTPOperation | JsonSchemaPubSubOperation[]

Any of: JsonSchemaHTTPOperation, JsonSchemaPubSubOperation

ignoreErrorResponses boolean
queryParams object | string | array
queryStringOptions object
4 nested properties
indices boolean

When arrays are stringified, by default they are not given explicit indices: a=b&a=c&a=d You may override this by setting the indices option to true: a[0]=b&a[1]=c&a[2]=d

arrayFormat string

You can configure how to format arrays in the query strings.

Note: when using arrayFormat set to 'comma', you can also pass the commaRoundTrip option set to true or false, to append [] on single-item arrays, so that they can round trip through a parse. (Allowed values: indices, brackets, repeat, comma)

Values: "indices" "brackets" "repeat" "comma"
commaRoundTrip boolean

Even if there is a single item in an array, this option treats them as arrays (default: false)

jsonStringify boolean

Stringify the nested objects as JSON (default: false)

timeout integer

Timeout for the HTTP request in milliseconds

JsonSchemaHTTPOperation object
field string required

This Field based on the field name of the URL path. Example: "https://MyAPIURL.com/FieldNameHere/", so we will set the "field: FieldNameHere".

type string required

Type field is set the opertion type: Query, Mutation or Subscription. (Allowed values: Query, Mutation, Subscription)

Values: "Query" "Mutation" "Subscription"
path string required
description string

Your chance to describe the operation! Make sure the description is clear and concise.

requestSchema object | string | array

Your chance to provide request schema name.

requestSample object | string | array

The path definition of the JSON Schema sample. Example: "./jsons/questions.response.json".

requestTypeName string

Inset any name for the type of the request body.

requestBaseBody object | string | array

This body will be merged with the request body sent with the underlying HTTP request

responseSchema object | string | array

Yay! Now you can provide the response schema name.

responseSample object | string | array

Did you use Sample? Provide the response sample path.

responseTypeName string

Inset any name for the type of the response body.

responseByStatusCode object | string | array

You can define your response schemas by status codes;

responseByStatusCode:
  200:
    responseSchema: ./someschema.json#/somepath
  404:
    responseSample: ./error-sample.json
    responseTypeName: MyError
exposeResponseMetadata boolean

Expose response details done to the upstream API When you enable this, you will see a new field in the response type;

type MyResponseType {
  myFooField: String
  _response: ResponseMetadata
}

# And a new type for the response metadata object
type ResponseMetadata {
  url: URL
  status: Int
  method: String
  headers: JSON
  body: String
}
argTypeMap object

Mapping the JSON Schema and define the arguments of the operation.

Example:

argTypeMap: user_id: type: string

queryParamArgMap object

JSON object representing the mapping of query search parameters (added to the route path) and the matching argument.

Example:

queryParamArgMap: id: user_id

method string

Allowed values: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH

Values: "GET" "HEAD" "POST" "PUT" "DELETE" "CONNECT" "OPTIONS" "TRACE" "PATCH"
headers object
binary boolean

If true, this operation cannot have requestSchema or requestSample And the request body will be passed as binary with its mime type unless you define an explicit Content-Type header

deprecated boolean

If true, @deprecated will be added to the field definition

JsonSchemaPubSubOperation object
field string required
type string required

Allowed values: Query, Mutation, Subscription

Values: "Query" "Mutation" "Subscription"
pubsubTopic string required
description string
requestSchema object | string | array
requestSample object | string | array
requestTypeName string
requestBaseBody object | string | array

This body will be merged with the request body sent with the underlying HTTP request

responseSchema object | string | array
responseSample object | string | array
responseTypeName string
argTypeMap object
deprecated boolean

If true, @deprecated will be added to the field definition

MongooseHandler object
connectionString string
discriminators MongooseModel[]
MongooseModel object
name string required
path string required
options object
5 nested properties
name string
description string
fields object
3 nested properties
only string[]
remove string[]
required string[]
inputType object
4 nested properties
name string
description string
fields object
resolvers object
resolvers object
15 nested properties
findById boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

findByIds boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

findMany boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

updateById boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

updateOne boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

updateMany boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

removeById boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

removeOne boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

removeMany boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

createOne boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

createMany boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

connection boolean | object

Any of: Boolean, JSON

pagination boolean | PaginationResolverOpts

Any of: Boolean, PaginationResolverOpts

ComposeWithMongooseOpts object
name string
description string
fields object
3 nested properties
only string[]
remove string[]
required string[]
inputType object
4 nested properties
name string
description string
fields object
3 nested properties
only string[]
remove string[]
required string[]
resolvers object
15 nested properties
findById boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

findByIds boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

findMany boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

updateById boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

updateOne boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

updateMany boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

removeById boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

removeOne boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

removeMany boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

createOne boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

createMany boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

connection boolean | object

Any of: Boolean, JSON

pagination boolean | PaginationResolverOpts

Any of: Boolean, PaginationResolverOpts

resolvers object
15 nested properties
findById boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

findByIds boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

findMany boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

updateById boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

updateOne boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

updateMany boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

removeById boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

removeOne boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

removeMany boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

createOne boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

createMany boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

connection boolean | object

Any of: Boolean, JSON

pagination boolean | PaginationResolverOpts

Any of: Boolean, PaginationResolverOpts

ComposeMongooseInputType object
name string
description string
fields object
3 nested properties
only string[]
remove string[]
required string[]
resolvers object
15 nested properties
findById boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

findByIds boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

findMany boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

updateById boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

updateOne boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

updateMany boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

removeById boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

removeOne boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

removeMany boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

createOne boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

createMany boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

connection boolean | object

Any of: Boolean, JSON

pagination boolean | PaginationResolverOpts

Any of: Boolean, PaginationResolverOpts

ComposeWithMongooseFieldsOpts object
only string[]
remove string[]
required string[]
TypeConverterResolversOpts object
findById boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

findByIds boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

findMany boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

updateById boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

updateOne boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

updateMany boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

removeById boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

removeOne boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

removeMany boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

createOne boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

createMany boolean | ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

Any of: Boolean, ComposeWithMongooseResolverOpts

connection boolean | object

Any of: Boolean, JSON

pagination boolean | PaginationResolverOpts

Any of: Boolean, PaginationResolverOpts

ComposeWithMongooseResolverOpts object
filter object
6 nested properties
filterTypeName string
isRequired boolean
onlyIndexed boolean
requiredFields string[]
operators boolean | object

Any of: Boolean, JSON

removeFields string[]
sort object
1 nested properties
sortTypeName string
limit object
1 nested properties
defaultValue integer
record object
4 nested properties
recordTypeName string
isRequired boolean
removeFields string[]
requiredFields string[]
skip boolean
FilterHelperArgsOpts object
filterTypeName string
isRequired boolean
onlyIndexed boolean
requiredFields string[]
operators boolean | object

Any of: Boolean, JSON

removeFields string[]
SortHelperArgsOpts object
sortTypeName string
LimitHelperArgsOpts object
defaultValue integer
RecordHelperArgsOpts object
recordTypeName string
isRequired boolean
removeFields string[]
requiredFields string[]
PaginationResolverOpts object
perPage integer
MySQLHandler object
host string

The hostname of the database you are connecting to. (Default: localhost)

port integer

The port number to connect to. (Default: 3306)

localAddress string

The source IP address to use for TCP connection

user string

The MySQL user to authenticate as

password string

The password of that MySQL user

database string

Name of the database to use for this connection

ssl object
2 nested properties
rejectUnauthorized boolean

Default: true

ca string

Path to your CA

pool object | string | array

Use existing Pool instance Format: modulePath#exportName

tables string[]

Use specific tables for your schema

tableFields TableField[]

Use specific fields of specific tables

TableField object
table string required
fields string[] required
MySQLSSLOptions object
rejectUnauthorized boolean

Default: true

ca string

Path to your CA

Neo4jHandler object
endpoint string required

URL for the Neo4j Instance e.g. neo4j://localhost

username string required

Username for basic authentication

password string required

Password for basic authentication

source string

Provide GraphQL Type Definitions instead of inferring

alwaysIncludeRelationships boolean

Specifies whether relationships should always be included in the type definitions as relationship types, even if the relationships do not have properties.

database string

Specifies database name

ODataHandler object
endpoint string required

Base URL for OData API

source string

Custom $metadata File or URL

schemaHeaders object

Headers to be used with the $metadata requests

operationHeaders object

Headers to be used with the operation requests

batch string

Enable batching (Allowed values: multipart, json)

Values: "multipart" "json"
expandNavProps boolean

Use $expand for navigation props instead of seperate HTTP requests (Default: false)

OpenapiHandler object
source string required

A pointer to your API source (Support both JSON and YAML) - could be a local file, remote file or url endpoint

fallbackFormat string

Format of the files referenced from the source file, for cases content type isn't detected automatically (Allowed values: json, yaml, js, ts)

Values: "json" "yaml" "js" "ts"
endpoint string

Specifies the URL on which all paths will be based on. Overrides the server object in the OAS.

schemaHeaders object

If you are using a remote URL endpoint to fetch your schema, you can set headers for the HTTP request to fetch your schema.

operationHeaders object

JSON object representing the Headers to add to the runtime of the API calls

ignoreErrorResponses boolean

Responses are converted to a Union type grouping all possible responses. Applying this will ignore all responses with status code other than 2xx, resulting in simpler response types, usualy regular object type instead of union. Default: false

selectQueryOrMutationField SelectQueryOrMutationFieldConfig[]

Allows to explicitly override the default operation (Query or Mutation) for any OAS operation

queryParams object

JSON object representing the query search parameters to add to the API calls

timeout integer

Timeout for the HTTP request in milliseconds

SelectQueryOrMutationFieldConfig object
type string required

Allowed values: query, mutation, Query, Mutation

Values: "query" "mutation" "Query" "Mutation"
fieldName string required
HivePlugin object
enabled boolean | string

If this expression is truthy, mocking would be enabled You can use environment variables expression, for example: process.env.MOCKING_ENABLED != null (Any of: Boolean, String)

token string

Access Token for Usage Reporting

agent object
8 nested properties
name string
logger object | string | array
fetch object | string | array
timeout integer

30s by default

maxRetries integer

5 by default

minTimeout integer

200 by default

sendInterval integer

Send reports in interval (defaults to 10_000ms)

maxSize integer

Max number of traces to send at once (defaults to 25)

usage object
7 nested properties
clientInfo object
2 nested properties
name string

Extract client name Example: {context.headers['x-client-name']}

version string

Extract client version Example: {context.headers['x-client-version']}

max integer

Hive uses LRU cache to store info about operations. This option represents the maximum size of the cache. Default: 1000

ttl integer

Hive uses LRU cache to store info about operations. This option represents the maximum age of an unused operation in the cache. Default: no ttl

exclude string[]

A list of operations (by name) to be ignored by Hive.

sampleRate number

Sample rate to determine sampling. 0.0 = 0% chance of being sent 1.0 = 100% chance of being sent Default: 1.0

processVariables boolean

(Experimental) Enables collecting Input fields usage based on the variables passed to the operation. Default: false

sampler object | string | array
reporting object
4 nested properties
author string required

Author of current version of the schema

commit string required

Commit SHA hash (or any identifier) related to the schema version

serviceName string
serviceUrl string
selfHosting object
3 nested properties
graphqlEndpoint string required

Point to your own instance of GraphQL Hive API

Used by schema reporting and token info.

applicationUrl string required

Address of your own GraphQL Hive application

Used by token info to generate a link to the organization, project and target.

usageEndpoint string

Point to your own instance of GraphQL Hive Usage API

Used by usage reporting.

persistedDocuments object
4 nested properties
cdn object required
2 nested properties
endpoint string required

CDN endpoint

accessToken string required

Access Token for Persisted Documents CDN

allowArbitraryDocuments boolean

Whether arbitrary documents should be allowed along-side persisted documents. false by default

cache integer

Maximum amount of operations that shall be kept in memory after being loaded from the CDN. 10 seconds by default

fetch object | string | array
HiveAgentOptions object
name string
logger object | string | array
fetch object | string | array
timeout integer

30s by default

maxRetries integer

5 by default

minTimeout integer

200 by default

sendInterval integer

Send reports in interval (defaults to 10_000ms)

maxSize integer

Max number of traces to send at once (defaults to 25)

HiveUsageOptions object
clientInfo object
2 nested properties
name string

Extract client name Example: {context.headers['x-client-name']}

version string

Extract client version Example: {context.headers['x-client-version']}

max integer

Hive uses LRU cache to store info about operations. This option represents the maximum size of the cache. Default: 1000

ttl integer

Hive uses LRU cache to store info about operations. This option represents the maximum age of an unused operation in the cache. Default: no ttl

exclude string[]

A list of operations (by name) to be ignored by Hive.

sampleRate number

Sample rate to determine sampling. 0.0 = 0% chance of being sent 1.0 = 100% chance of being sent Default: 1.0

processVariables boolean

(Experimental) Enables collecting Input fields usage based on the variables passed to the operation. Default: false

sampler object | string | array
HiveClientInfo object
name string

Extract client name Example: {context.headers['x-client-name']}

version string

Extract client version Example: {context.headers['x-client-version']}

HiveReportingOptions object
author string required

Author of current version of the schema

commit string required

Commit SHA hash (or any identifier) related to the schema version

serviceName string
serviceUrl string
HiveSelfHostingOptions object
graphqlEndpoint string required

Point to your own instance of GraphQL Hive API

Used by schema reporting and token info.

applicationUrl string required

Address of your own GraphQL Hive application

Used by token info to generate a link to the organization, project and target.

usageEndpoint string

Point to your own instance of GraphQL Hive Usage API

Used by usage reporting.

HivePersistedDocumentsConfiguration object
cdn object required
2 nested properties
endpoint string required

CDN endpoint

accessToken string required

Access Token for Persisted Documents CDN

allowArbitraryDocuments boolean

Whether arbitrary documents should be allowed along-side persisted documents. false by default

cache integer

Maximum amount of operations that shall be kept in memory after being loaded from the CDN. 10 seconds by default

fetch object | string | array
HivePersistedDocumentsConfigurationCDN object
endpoint string required

CDN endpoint

accessToken string required

Access Token for Persisted Documents CDN

HTTPCachePlugin object
matches string | URLPatternObj[]

If the following patterns match the request URL, the response will be cached. (Any of: String, URLPatternObj)

ignores string | URLPatternObj[]

If the following patterns match the request URL, the response will not be cached. (Any of: String, URLPatternObj)

URLPatternObj object
protocol string
username string
password string
hostname string
port string
pathname string
search string
hash string
baseURL string
HTTPDetailsExtensionsConfig object
if object | string | array
LiveQueryConfig object
invalidations LiveQueryInvalidation[]

Invalidate a query or queries when a specific operation is done without an error

resourceIdentifier string

Custom strategy for building resources identifiers By default resource identifiers are built by concatenating the Typename with the id separated by a color (User:1).

This may be useful if you are using a relay compliant schema and the Typename information is not required for building a unique topic.

Default: "{typename}:{id}"

includeIdentifierExtension boolean

Whether the extensions should include a list of all resource identifiers for the latest operation result. Any of those can be used for invalidating and re-scheduling the operation execution.

This is mainly useful for discovering and learning what kind of topics a given query will subscribe to. The default value is true if DEBUG environment variable is set

idFieldName string

Identifier unique field

Default: "id"

Specify which fields should be indexed for specific invalidations.

LiveQueryInvalidation object
invalidate string[] required
field string

Path to the operation that could effect it. In a form: Mutation.something. Note that wildcard is not supported in this field.

pollingInterval integer

Polling interval in milliseconds

LiveQueryIndexBy object
field string required
args string[] required
MockingConfig object
if boolean

If this expression is truthy, mocking would be enabled You can use environment variables expression, for example: process.env.MOCKING_ENABLED != null

preserveResolvers boolean

Do not mock any other resolvers other than defined in mocks. For example, you can enable this if you don't want to mock entire schema but partially.

Mock configurations

initializeStore object | string | array

The path to the code runs before the store is attached to the schema

mockGenerationBehavior string

Set to 'deterministic' if the default random mock generation behavior causes flakiness.

Default: 'random' (Allowed values: deterministic, random)

Values: "deterministic" "random"
MockingFieldConfig object
apply string required

Resolver path Example: User.firstName

if boolean

If this expression is truthy, mocking would be enabled You can use environment variables expression, for example: ${MOCKING_ENABLED}

faker string

Faker.js expression or function Read more (https://github.com/marak/Faker.js/#fakerfake) Example: faker: name.firstName faker: {{ name.firstName }} {{ name.lastName }}

custom object | string | array

Custom mocking It can be a module or json file. Both "moduleName#exportName" or only "moduleName" would work

You can also provide a function directly

length integer

Length of the mock list For the list types [ObjectType], how many ObjectType you want to return? default: 2

store object
3 nested properties
type string
key string
fieldName string

Update the data on the mock store

GetFromMockStoreConfig object
type string
key string
fieldName string
UpdateMockStoreConfig object
type string
key string
fieldName string
value string
NewrelicConfig object
includeOperationDocument boolean

default false. When set to true, includes the GraphQL document defining the operations and fragments

includeExecuteVariables boolean

default false. When set to true, includes all the operation variables with their values

includeRawResult boolean

default: false. When set to true, includes the execution result of both delegation and execution

trackResolvers boolean

default false. When set to true, track resolvers as segments to monitor their performance

includeResolverArgs boolean

default false. When set to true, includes all the arguments passed to resolvers and delegation with their values

rootFieldsNaming boolean

default false. When set to true append the names of operation root fields to the transaction name

extractOperationName string

Allows to set a custom operation name to be used as transaction name and attribute extractOperationName: {context.headers['x-operation-name']}

OperationFieldPermissionsConfig object
OperationFieldPermission object
if string
allow string[]
RateLimitPluginConfig object
config RateLimitTransformConfig[] required
ResponseCacheConfig object
ttl number

Maximum age in ms. Defaults to Infinity. Set it to 0 for disabling the global TTL.

ttlPerCoordinate ResponseCacheTTLConfig[]

Overwrite the ttl for query operations whose selection contains a specific schema coordinate (e.g. Query.users). Useful if the selection of a specific field should reduce the TTL of the query operation.

ignoredTypes string[]

Skip caching of following the types.

idFields string[]

List of fields that are used to identify the entity.

invalidateViaMutation boolean

Whether the mutation execution result should be used for invalidating resources. Defaults to true

includeExtensionMetadata boolean

Include extension values that provide useful information, such as whether the cache was hit or which resources a mutation invalidated.

sessionId string

Allows to cache responses based on the resolved session id. Return a unique value for each session. Creates a global session by default. Example;

sessionId: "{context.headers.userId}"
if string

Specify whether the cache should be used based on the context.

if: "context.headers.userId != null"
cacheKey string

Customize the behavior how the response cache key is computed from the documentString, variableValues, contextValue and sessionId. If the given string is interpolated as empty, default behavior is used. Example;

# Cache by specific value
cacheKey: "{variableValues.userId}"

# Cache by documentString
cacheKey: "{documentString}"

# Cache by operationName
cacheKey: "{operationName}"

# Cache by some header value
cacheKey: "{contextValue.headers.authorization}"

# Or combine two of each
cacheKey: "{contextValue.headers.authorization}-{operationName}"
shouldCacheResult string

Checks if the result should be cached.

shouldCacheResult: "result.errors.length > 0"
ResponseCacheTTLConfig object
coordinate string required
ttl number required
SnapshotPluginConfig object
apply string[] required

HTTP URL pattern to be applied For example; apply: - http://my-remote-api.com/* <- * will apply this extension to all paths of remote API

outputDir string required

Path to the directory of the generated snapshot files

if string | boolean

Expression for when to activate this extension. Value can be a valid JS expression string or a boolean (Any of: String, Boolean)

StatsdPlugin object
skipIntrospection boolean

If you wish to disable introspection for logging (default: false)

prefix string

prefix.operations.count (default: graphql)

client object
24 nested properties
bufferFlushInterval integer
bufferHolder object
1 nested properties
buffer string required
cacheDns boolean
cacheDnsTtl integer
globalTags object
globalize boolean
host string
isChild boolean
maxBufferSize integer
mock boolean
path string
port integer
protocol string

Allowed values: tcp, udp, uds, stream

Values: "tcp" "udp" "uds" "stream"
sampleRate number
suffix string
telegraf boolean
useDefaultRoute boolean
tagPrefix string
tagSeperator string
tcpGracefulErrorHandling boolean
tcpGracefulRestartRateLimit integer
udsGracefulErrorHandling boolean
udsGracefulRestartRateLimit integer
closingFlushInterval integer
StatsdClientConfiguration object
bufferFlushInterval integer
bufferHolder object
1 nested properties
buffer string required
cacheDns boolean
cacheDnsTtl integer
globalTags object
globalize boolean
host string
isChild boolean
maxBufferSize integer
mock boolean
path string
port integer
protocol string

Allowed values: tcp, udp, uds, stream

Values: "tcp" "udp" "uds" "stream"
sampleRate number
suffix string
telegraf boolean
useDefaultRoute boolean
tagPrefix string
tagSeperator string
tcpGracefulErrorHandling boolean
tcpGracefulRestartRateLimit integer
udsGracefulErrorHandling boolean
udsGracefulRestartRateLimit integer
closingFlushInterval integer
StatsdClientBufferHolder object
buffer string required
PostGraphileHandler object
connectionString string

A connection string to your Postgres database

schemaName string[]

An array of strings which specifies the PostgreSQL schemas that PostGraphile will use to create a GraphQL schema. The default schema is the public schema.

pool object | string | array

Connection Pool instance or settings or you can provide the path of a code file that exports any of those

appendPlugins string[]

Extra Postgraphile Plugins to append

skipPlugins string[]

Postgraphile Plugins to skip (e.g. "graphile-build#NodePlugin")

options object | string

Extra Postgraphile options that will be added to the postgraphile constructor. It can either be an object or a string pointing to the object's path (e.g. "./my-config#options"). See the postgraphile docs for more information. (Any of: JSON, String)

subscriptions boolean

Enable GraphQL websocket transport support for subscriptions (default: true)

live boolean

Enables live-query support via GraphQL subscriptions (sends updated payload any time nested collections/records change) (default: true)

contextOptions object | string | array

A file that exports a function which takes context as a paramter and returns postgraphile context options (e.g. "./my-function#pgSettings"). See the postgraphile docs for more information.

RAMLHandler object
source string required
endpoint string
schemaHeaders object
operationHeaders object
ignoreErrorResponses boolean
selectQueryOrMutationField SelectQueryOrMutationFieldConfig[]
queryParams object | string | array
timeout integer

Timeout for the HTTP request in milliseconds

SoapHandler object
source string required

A url to your WSDL or generated SDL with annotations

schemaHeaders object | string | array

JSON object representing the Headers to add to the runtime of the API calls only for schema introspection You can also provide .js or .ts file path that exports schemaHeaders as an object

operationHeaders object

JSON object representing the Headers to add to the runtime of the API calls only for operation during runtime

bodyAlias string

The name of the alias to be used in the envelope for body components

default: body

soapHeaders object
3 nested properties
namespace string required

The namespace of the SOAP Header For example: <http://www.example.com/namespace>

headers object required

The content of the SOAP Header For example: { "key": "value" } then the content will be <key>value</key>

alias string

The name of the alias to be used in the envelope

default: header

soapNamespace string

The namespace of the SOAP envelope By default, SOAP handler detects the SOAP version and if SOAP version is 1.1, it uses <http://schemas.xmlsoap.org/soap/envelope/> namespace If SOAP version is 1.2, it uses <http://www.w3.org/2003/05/soap-envelope> namespace

SOAPHeaders object
namespace string required

The namespace of the SOAP Header For example: <http://www.example.com/namespace>

headers object required

The content of the SOAP Header For example: { "key": "value" } then the content will be <key>value</key>

alias string

The name of the alias to be used in the envelope

default: header

SupergraphHandler object
source string required

A file path to your Supergraph Schema If you provide a path to a code file(js or ts), other options will be ignored and the schema exported from the file will be used directly.

schemaHeaders object | string | array
operationHeaders object | string | array
batch boolean
SubgraphConfiguration object
name string required

The name of the subgraph you want to configure

endpoint string

A url or file path to your remote GraphQL endpoint. If you provide a path to a code file(js or ts), other options will be ignored and the schema exported from the file will be used directly.

operationHeaders object

JSON object representing the Headers to add to the runtime of the API calls only for operation during runtime

useGETForQueries boolean

Use HTTP GET for Query operations

method string

HTTP method used for GraphQL operations (Allowed values: GET, POST)

Values: "GET" "POST"
credentials string

Request Credentials if your environment supports it. See more

@default "same-origin" (Allowed values: omit, include)

Values: "omit" "include"
webSocketImpl string

Path to a custom W3 Compatible WebSocket Implementation

source string

Path to the introspection You can separately give schema introspection or SDL

subscriptionsProtocol string

SSE - Server Sent Events WS - New graphql-ws LEGACY_WS - Legacy subscriptions-transport-ws (Allowed values: SSE, WS, LEGACY_WS)

Values: "SSE" "WS" "LEGACY_WS"
subscriptionsEndpoint string

URL to your endpoint serving all subscription queries for this source

retry integer

Retry attempts if fails

timeout integer

Timeout in milliseconds

connectionParams object

JSON object representing the connectionParams from a WebSocket connection to add to the runtime of the API calls only for operation during runtime. More information about the WebSocket connectionParams:

ThriftHandler object
hostName string required

The name of the host to connect to.

port integer required

The port number to attach to on the host.

serviceName string required

The name of your service. Used for logging.

idl string required

Path to IDL file

path string

The path on which the Thrift service is listening. Defaults to '/thrift'.

https boolean

Boolean value indicating whether to use https. Defaults to false.

protocol string

Name of the Thrift protocol type to use. Defaults to 'binary'. (Allowed values: binary, compact, json)

Values: "binary" "compact" "json"
operationHeaders object

JSON object representing the Headers to add to the runtime of the API calls

schemaHeaders object

If you are using a remote URL endpoint to fetch your schema, you can set headers for the HTTP request to fetch your schema.

CacheTransformConfig object
field string required

The type and field to apply cache to, you can use wild cards as well, for example: Query.*

cacheKey string

Cache key to use to store your resolvers responses. The default is: {typeName}-{fieldName}-{argsHash}-{fieldNamesHash}

Available variables:

  • {args.argName} - use resolver argument
  • {typeName} - use name of the type
  • {fieldName} - use name of the field
  • {argsHash} - a hash based on the 'args' object
  • {fieldNamesHash} - a hash based on the field names selected by the client
  • {info} - the GraphQLResolveInfo of the resolver

Available interpolations:

  • {format|date} - returns the current date with a specific format
invalidate object
2 nested properties
effectingOperations CacheEffectingOperationConfig[]

Invalidate the cache when a specific operation is done without an error

ttl integer

Specified in seconds, the time-to-live (TTL) value limits the lifespan

CacheInvalidateConfig object
effectingOperations CacheEffectingOperationConfig[]

Invalidate the cache when a specific operation is done without an error

ttl integer

Specified in seconds, the time-to-live (TTL) value limits the lifespan

CacheEffectingOperationConfig object
operation string required

Path to the operation that could effect it. In a form: Mutation.something. Note that wildcard is not supported in this field.

matchKey string

Cache key to invalidate on successful resolver (no error), see cacheKey for list of available options in this field.

EncapsulateTransformObject object
name string

Optional, name to use for grouping under the root types. If not specific, the API name is used.

applyTo object
3 nested properties
query boolean
mutation boolean
subscription boolean
EncapsulateTransformApplyTo object
query boolean
mutation boolean
subscription boolean
ExtendTransform object
typeDefs object | string | array
resolvers object | string | array
FederationTransform object
version string

Version of the federation spec Default: v2.0

FederationTransformType object
name string required
config object
5 nested properties
shareable boolean
extends boolean
resolveReference string | ResolveReferenceObject

Any of: String, ResolveReferenceObject

FederationObjectConfig object
shareable boolean
extends boolean
resolveReference string | ResolveReferenceObject

Any of: String, ResolveReferenceObject

FederationObjectKeyConfig object
fields string
ResolveReferenceObject object
queryFieldName string required

Name of root field name that resolves the reference

args object

You need configure the arguments for that field;

args:
  someArg: "{root.someKeyValue}"
FederationField object
name string required
config object required
6 nested properties
external boolean
provides object
1 nested properties
fields string
requires object
1 nested properties
fields string
tag object
1 nested properties
name string
inaccessible boolean
override object
1 nested properties
from string
FederationFieldConfig object
external boolean
provides object
1 nested properties
fields string
requires object
1 nested properties
fields string
tag object
1 nested properties
name string
inaccessible boolean
override object
1 nested properties
from string
FederationFieldProvidesConfig object
fields string
FederationFieldRequiresConfig object
fields string
FederationFieldTagConfig object
name string
FederationFieldOverrideConfig object
from string
FilterSchemaTransform object
filters string[] required

Array of filter rules

mode string

Specify to apply filter-schema transforms to bare schema or by wrapping original schema (Allowed values: bare, wrap)

Values: "bare" "wrap"
filterDeprecatedTypes boolean

Filter deprecated types

filterDeprecatedFields boolean

Filter deprecated fields

HoistFieldTransformConfig object
typeName string required

Type name that defines where field should be hoisted to

pathConfig string | HoistFieldTransformFieldPathConfigObject[] required

Array of fieldsNames to reach the field to be hoisted (Any of: String, HoistFieldTransformFieldPathConfigObject)

newFieldName string required

Name the hoisted field should have when hoisted to the type specified in typeName

alias string
filterArgsInPath boolean

Defines if args in path are filtered (default = false)

HoistFieldTransformFieldPathConfigObject object
fieldName string required

Field name

filterArgs string[] required

Match fields based on argument, needs to implement (arg: GraphQLArgument) => boolean;

NamingConventionTransformConfig object
mode string

Specify to apply naming-convention transforms to bare schema or by wrapping original schema (Allowed values: bare, wrap)

Values: "bare" "wrap"
typeNames string

Allowed values: camelCase, capitalCase, constantCase, dotCase, headerCase, noCase, paramCase, pascalCase, pathCase, sentenceCase, snakeCase, upperCase, lowerCase

Values: "camelCase" "capitalCase" "constantCase" "dotCase" "headerCase" "noCase" "paramCase" "pascalCase" "pathCase" "sentenceCase" "snakeCase" "upperCase" "lowerCase"
fieldNames string

Allowed values: camelCase, capitalCase, constantCase, dotCase, headerCase, noCase, paramCase, pascalCase, pathCase, sentenceCase, snakeCase, upperCase, lowerCase

Values: "camelCase" "capitalCase" "constantCase" "dotCase" "headerCase" "noCase" "paramCase" "pascalCase" "pathCase" "sentenceCase" "snakeCase" "upperCase" "lowerCase"
enumValues string

Allowed values: camelCase, capitalCase, constantCase, dotCase, headerCase, noCase, paramCase, pascalCase, pathCase, sentenceCase, snakeCase, upperCase, lowerCase

Values: "camelCase" "capitalCase" "constantCase" "dotCase" "headerCase" "noCase" "paramCase" "pascalCase" "pathCase" "sentenceCase" "snakeCase" "upperCase" "lowerCase"
fieldArgumentNames string

Allowed values: camelCase, capitalCase, constantCase, dotCase, headerCase, noCase, paramCase, pascalCase, pathCase, sentenceCase, snakeCase, upperCase, lowerCase

Values: "camelCase" "capitalCase" "constantCase" "dotCase" "headerCase" "noCase" "paramCase" "pascalCase" "pathCase" "sentenceCase" "snakeCase" "upperCase" "lowerCase"
PrefixTransformConfig object
mode string

Specify to apply prefix transform to bare schema or by wrapping original schema (Allowed values: bare, wrap)

Values: "bare" "wrap"
value string

The prefix to apply to the schema types. By default it's the API name.

ignore string[]

List of ignored types

includeRootOperations boolean

Changes root types and changes the field names (default: false)

includeTypes boolean

Changes types (default: true)

PruneTransformConfig object
skipPruning string[]

Types to skip pruning

skipEmptyCompositeTypePruning boolean

Set to true to skip pruning object types or interfaces with no fields

skipUnimplementedInterfacesPruning boolean

Set to true to skip pruning interfaces that are not implemented by any other types

skipEmptyUnionPruning boolean

Set to true to skip pruning empty unions

skipUnusedTypesPruning boolean

Set to true to skip pruning unused types

RateLimitTransformConfig object
type string required

The type name that the following field belongs to

field string required

The field of the type that the rate limit is applied to

max integer required

The maximum number of requests that can be made in a given time period

ttl integer required

The time period in which the rate limit is applied

identifier string required

The identifier expression that determines the identity of the request (e.g. {context.req.socket.remoteAddress})

RenameTransform object
renames RenameTransformObject[] required

Array of rename rules

mode string

Specify to apply rename transforms to bare schema or by wrapping original schema (Allowed values: bare, wrap)

Values: "bare" "wrap"
RenameTransformObject object
from object required
3 nested properties
type string
field string
argument string
to object required
3 nested properties
type string
field string
argument string
useRegExpForTypes boolean

Use Regular Expression for type names

useRegExpForFields boolean

Use Regular Expression for field names

useRegExpForArguments boolean

Use Regular Expression for field names

regExpFlags string

Flags to use in the Regular Expression

includeDefaults boolean

Flag to indicate whether certain default types (built-ins, scalars and other types specified an exclusion list) should be renamed or not.

@default: false

RenameConfig object
type string
field string
argument string
ReplaceFieldTransformConfig object
replacements ReplaceFieldTransformObject[] required

Array of rules to replace fields

typeDefs object | string | array

Additional type definition to used to replace field types

ReplaceFieldTransformObject object
from object required
2 nested properties
type string required
field string required
to object required
2 nested properties
type string required
field string required
scope string

Allowed values: config, hoistValue

Values: "config" "hoistValue"
composer object | string | array
name string
ReplaceFieldConfig object
type string required
field string required
ResolversCompositionTransform object

Array of resolver/composer to apply

mode string

Specify to apply resolvers-composition transforms to bare schema or by wrapping original schema (Allowed values: bare, wrap)

Values: "bare" "wrap"
ResolversCompositionTransformObject object
resolver string required

The GraphQL Resolver path Example: Query.users

composer object | string | array required

Path to the composer function Example: ./src/auth.js#authComposer

TransferSchemaTransformConfig object
transfers TransferSchemaTransformObject[] required

Array of rules to transfer fields or args

TransferSchemaTransformObject object
from string required
to string required
action string

Allowed values: move, copy

Values: "move" "copy"
TypeMergingConfig object

Denotes a root field used to query a merged type across services. The marked field's name is analogous to the fieldName setting in merged type configuration, while the field's arguments and return type are used to infer merge configuration. Directive arguments tune the merge behavior

additionalConfiguration object | string | array

The path to a code file that has additional type merging configuration

MergedRootFieldConfig object
queryFieldName string required
keyField string

Specifies the name of a field to pick off origin objects as the key value. When omitted, a @key directive must be included on the return type's definition to be built into an object key. https://www.graphql-tools.com/docs/stitch-directives-sdl#object-keys

keyArg string

Specifies which field argument receives the merge key. This may be omitted for fields with only one argument where the recipient can be inferred.

additionalArgs string

Specifies a string of additional keys and values to apply to other arguments, formatted as \"\"\" arg1: "value", arg2: "value" \"\"\".

key string[]

Advanced use only; Allows building a custom key just for the argument from the selectionSet included by the @key directive.

argsExpr string

Advanced use only; This argument specifies a string expression that allows more customization of the input arguments. Rules for evaluation of this argument are as follows:

  • basic object parsing of the input key: "arg1: $key.arg1, arg2: $key.arg2"
  • any expression enclosed by double brackets will be evaluated once for each of the requested keys, and then sent as a list: "input: { keys: [[$key]] }"
  • selections from the key can be referenced by using the $ sign and dot notation: "upcs: [[$key.upc]]", so that $key.upc refers to the upc field of the key.
MergedTypeConfig object
typeName string

Name of the type (Query by default)

key object
1 nested properties
selectionSet string required
canonical boolean

Specifies types and fields that provide a canonical definition to be built into the gateway schema. Useful for selecting preferred characteristics among types and fields that overlap across subschemas. Root fields marked as canonical specify which subschema the field proxies for new queries entering the graph.

KeyAnnotation object
selectionSet string required
MergedTypeField object
fieldName string required
computed object
1 nested properties
selectionSet string required
ComputedAnnotation object
selectionSet string required
TuqlHandler object
db string

Pointer to your SQLite database

infile string

Path to the SQL Dump file if you want to build a in-memory database

PrometheusConfig object
requestCount boolean | string

Any of: Boolean, String

requestTotalDuration boolean | string

Any of: Boolean, String

requestSummary boolean | string

Any of: Boolean, String

parse boolean | string

Any of: Boolean, String

validate boolean | string

Any of: Boolean, String

contextBuilding boolean | string

Any of: Boolean, String

execute boolean | string

Any of: Boolean, String

errors boolean | string

Any of: Boolean, String

deprecatedFields boolean | string

Any of: Boolean, String

skipIntrospection boolean
registry string
delegation boolean | string

Any of: Boolean, String

delegationArgs boolean
delegationKey boolean
subgraphExecute boolean | string

Any of: Boolean, String

fetchMetrics boolean | string

Any of: Boolean, String

fetchRequestHeaders boolean
fetchResponseHeaders boolean
http boolean | string

Any of: Boolean, String

httpRequestHeaders boolean
httpResponseHeaders boolean
endpoint boolean | string

The path to the metrics endpoint default: /metrics (Any of: Boolean, String)