config-schema.json

title: Cache

$ref: #/definitions/CFWorkersKVCacheConfig

$ref: #/definitions/FileCacheConfig

$ref: #/definitions/LocalforageConfig

$ref: #/definitions/RedisConfig

title: CFWorkersKVCacheConfig

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

Make sure you have configured the following namespace described in [here](https://developers.cloudflare.com/workers/wrangler/cli-wrangler/commands/#kv).

title: FileCacheConfig

title: LocalforageConfig

enum: WEBSQL INDEXEDDB LOCALSTORAGE

description: Allowed values: WEBSQL, INDEXEDDB, LOCALSTORAGE

title: RedisConfig

title: ServeConfig

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

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

description: The binding hostname (default: `localhost`)

$ref: #/definitions/CorsConfig

description: Configuration for CORS

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

description: Show GraphiQL Playground

$ref: #/definitions/HTTPSConfig

description:
SSL Credentials for HTTPS Server
If this is provided, Mesh will be served via HTTPS

description: Path to GraphQL Endpoint (default: /graphql)

description:
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)

description: Title of GraphiQL Playground

description:
Configure Express Proxy Handling
[Learn more](https://expressjs.com/en/guide/behind-proxies.html)

description: Enable and define a limit for [Request Batching](https://github.com/graphql/graphql-over-http/blob/main/rfcs/Batching.md)

title: CorsConfig

title: HTTPSConfig

required: key cert

title: SDKConfig

$ref: #/definitions/GenerateOperationsConfig

description:
Use this only if you don't want to use `documents` for SDK,
and let Mesh generate them for you

title: GenerateOperationsConfig

title: Source

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

$ref: #/definitions/Handler

description: Point to the handler you wish to use, it can either be a predefined handler, or a custom

$ref: #/definitions/Transform

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

required: name handler

title: Transform

$ref: #/definitions/CacheTransformConfig

description: Transformer to apply caching for your data sources

description: Transformer to apply encapsulation to the API source, by creating a field for it under the root query

$ref: #/definitions/ExtendTransform

$ref: #/definitions/FederationTransform

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

$ref: #/definitions/FilterSchemaTransform

$ref: #/definitions/HoistFieldTransformConfig

description: Transformer to hoist GraphQL fields

description: Transformer to apply naming convention to GraphQL Types

$ref: #/definitions/PrefixTransformConfig

description: Prefix transform

$ref: #/definitions/PruneTransformConfig

description: Prune transform

$ref: #/definitions/RateLimitTransformConfig

description: RateLimit transform

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

$ref: #/definitions/RenameTransform

description: Transformer to replace GraphQL field with partial of full config from a different field

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

description: Transformer to transfer (move or copy) GraphQL parts of GraphQL schema across Types and Fields

$ref: #/definitions/TypeMergingConfig

description: [Type Merging](https://www.graphql-tools.com/docs/stitch-type-merging) Configuration

title: Handler

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

$ref: #/definitions/GrpcHandler

description: Handler for gRPC and Protobuf schemas

$ref: #/definitions/JsonSchemaHandler

description:
Handler for JSON Schema specification.
Source could be a local json file, or a url to it.

$ref: #/definitions/MongooseHandler

$ref: #/definitions/MySQLHandler

description: Handler for Neo4j

$ref: #/definitions/ODataHandler

description: Handler for OData

$ref: #/definitions/OpenapiHandler

description: Handler for Swagger / OpenAPI 2/3 specification. Source could be a local json/swagger file, or a url to it.

$ref: #/definitions/PostGraphileHandler

description: Handler for Postgres database, based on `postgraphile`

$ref: #/definitions/RAMLHandler

$ref: #/definitions/SoapHandler

description: Handler for SOAP

$ref: #/definitions/SupergraphHandler

$ref: #/definitions/ThriftHandler

description: Handler for OData

description: Handler for SQLite database, based on `tuql`

title: Plugin

description: Mock configuration for your source

description: RateLimit plugin

description: Configuration for Snapshot extension

title: MaskedErrorsPluginConfig

title: AdditionalStitchingResolverObject

description: Extract specific property from the result

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

required: sourceName sourceTypeName sourceFieldName targetTypeName targetFieldName

title: AdditionalStitchingBatchResolverObject

required: sourceName sourceTypeName sourceFieldName keyField keysArg targetTypeName targetFieldName

title: AdditionalSubscriptionObject

title: PubSubConfig

title: GraphQLHandlerMultipleHTTPConfiguration

description: HTTP Source Configurations

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

description: Handling strategy configuration

title: GraphQLHandlerhighestValueStrategyConfig

title: GraphQLHandlerCodeFirstConfiguration

description:
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.

title: GraphQLHandlerHTTPConfiguration

description:
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.

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

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

description: Use HTTP GET for Query operations

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

description:
Request Credentials if your environment supports it.
[See more](https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials)

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

description: Path to a custom W3 Compatible WebSocket Implementation

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

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

description: URL to your endpoint serving all subscription queries for this source

description: Retry attempts if fails

description: Timeout in milliseconds

description: Enable/Disable automatic query batching

description:
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`:
  - When using `subscriptionsProtocol=WS` (graphql-ws): https://github.com/enisdenjo/graphql-ws/blob/master/docs/interfaces/client.ClientOptions.md#connectionparams
  - When using `subscriptionsProtocol=LEGACY_WS` (subscriptions-transport-ws): https://github.com/apollographql/subscriptions-transport-ws/blob/51270cc7dbaf09c7b9aa67368f1de58148c7d334/README.md#subscriptionclient

title: GrpcHandler

description: gRPC Endpoint

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

description:
Request timeout in milliseconds
Default: 200000

description: SSL Credentials

description: Use https instead of http for gRPC connection

description: MetaData

description: prefix to collect Query method default: list, get

title: LoadOptions

title: ProtoFilePath

title: GrpcCredentialsSsl

title: QueryStringOptions

description:
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`

description:
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)

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

title: JsonSchemaHandler

description: Path to the bundle file

description: Any of: JsonSchemaHTTPOperation, JsonSchemaPubSubOperation

description: Will be removed later

description: Will be removed later

description: Timeout for the HTTP request in milliseconds

title: JsonSchemaHTTPOperation

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

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

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

description: Your chance to provide request schema name.

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

description: Inset any name for the type of the request body.

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

description: Yay! Now you can provide the response schema name.

description: Did you use Sample? Provide the response sample path.

description: Inset any name for the type of the response body.

description:
You can define your response schemas by status codes;
```yaml filename=".meshrc.yaml"
responseByStatusCode:
  200:
    responseSchema: ./someschema.json#/somepath
  404:
    responseSample: ./error-sample.json
    responseTypeName: MyError
```

description:
Expose response details done to the upstream API
When you enable this, you will see a new field in the response type;
```graphql
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
}
```

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

# Example:
argTypeMap:
  user_id:
    type: string

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

# Example:
queryParamArgMap:
  id: user_id

enum: GET HEAD POST PUT DELETE CONNECT OPTIONS TRACE PATCH

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

description:
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

title: JsonSchemaPubSubOperation

description: Allowed values: Query, Mutation, Subscription

title: MongooseHandler

title: MongooseModel

title: ComposeWithMongooseOpts

title: ComposeMongooseInputType

title: ComposeWithMongooseFieldsOpts

title: TypeConverterResolversOpts

description: Any of: Boolean, ComposeWithMongooseResolverOpts

description: Any of: Boolean, JSON

description: Any of: Boolean, PaginationResolverOpts

title: ComposeWithMongooseResolverOpts

title: FilterHelperArgsOpts

description: Any of: Boolean, JSON

title: SortHelperArgsOpts

title: LimitHelperArgsOpts

title: RecordHelperArgsOpts

title: PaginationResolverOpts

title: MySQLHandler

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

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

description: The source IP address to use for TCP connection

description: The MySQL user to authenticate as

description: The password of that MySQL user

description: Name of the database to use for this connection

description: SSL Options for your MySQL connection

description:
Use existing `Pool` instance
Format: modulePath#exportName

description: Use specific tables for your schema

description: Use specific fields of specific tables

title: TableField

title: MySQLSSLOptions

description: Default: true

description: Path to your CA

title: Neo4jHandler

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

description: Provide GraphQL Type Definitions instead of inferring

description: Username for basic authentication

description: Password for basic authentication

description: Specifies whether relationships should always be included in the type definitions as [relationship](https://grandstack.io/docs/neo4j-graphql-js.html#relationship-types) types, even if the relationships do not have properties.

description: Specifies database name

title: ODataHandler

description: Base URL for OData API

description: Custom $metadata File or URL

description: Headers to be used with the $metadata requests

description: Headers to be used with the operation requests

description: Enable batching (Allowed values: multipart, json)

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

title: OpenapiHandler

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

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

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

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

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

description:
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

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

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

title: OASSelectQueryOrMutationFieldConfig

description: Allowed values: query, mutation, Query, Mutation

title: HivePlugin

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

description: Access Token

description: Agent Options

description: Collects schema usage based on operations

description: Schema reporting

description:
Options for self-hosting
[See more](https://github.com/kamilkisiela/graphql-hive/tree/main/packages/libraries/client#self-hosting)

title: HiveAgentOptions

description: 30s by default

description: 5 by default

description: 200 by default

description: Send reports in interval (defaults to 10_000ms)

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

title: HiveUsageOptions

description: Extract client info from GraphQL Context

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

description:
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

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

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

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

title: HiveClientInfo

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

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

title: HiveReportingOptions

description: Author of current version of the schema

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

title: HiveSelfHostingOptions

description:
Point to your own instance of GraphQL Hive API

Used by schema reporting and token info.

description:
Address of your own GraphQL Hive application

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

description:
Point to your own instance of GraphQL Hive Usage API

Used by usage reporting.

title: HTTPCachePlugin

description: Any of: String, URLPatternObj

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

description: Any of: String, URLPatternObj

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

title: URLPatternObj

title: HTTPDetailsExtensionsConfig

title: LiveQueryConfig

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

description:
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}"

description:
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

description:
Identifier unique field

Default: "id"

description: Specify which fields should be indexed for specific invalidations.

title: LiveQueryInvalidation

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

title: LiveQueryIndexBy

title: MockingConfig

description:
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.

description: Mock configurations

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

title: MockingFieldConfig

description:
Resolver path
Example: User.firstName

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

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

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

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

description: Get the data from the mock store

description: Update the data on the mock store

title: GetFromMockStoreConfig

title: UpdateMockStoreConfig

title: NewrelicConfig

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

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

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

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

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

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

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

title: OperationFieldPermissionsConfig

title: OperationFieldPermission

title: PrometheusConfig

description: Any of: Boolean, String

description: Any of: Boolean, String

description: Any of: Boolean, String

description: Any of: Boolean, String

description: Any of: Boolean, String

description: Any of: Boolean, String

description: Any of: Boolean, String

description: Any of: Boolean, String

description: Any of: Boolean, String

description: Any of: Boolean, String

description: Any of: Boolean, String

description: Any of: Boolean, String

description:
The path to the metrics endpoint
default: `/metrics`

title: RateLimitPluginConfig

title: ResponseCacheConfig

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

description:
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.

description: Skip caching of following the types.

description: List of fields that are used to identify the entity.

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

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

description:
Allows to cache responses based on the resolved session id.
Return a unique value for each session.
Creates a global session by default.
Example;
```yaml
sessionId: "{context.headers.userId}"
```

description:
Specify whether the cache should be used based on the context.
```yaml
if: "context.headers.userId != null"
```

description:
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;
```yaml
# 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}"
```

description:
Checks if the result should be cached.
```yaml
shouldCacheResult: "result.errors.length > 0"
```

title: ResponseCacheTTLConfig

title: SerializeHeadersConfig

title: SnapshotPluginConfig

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

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

description: Path to the directory of the generated snapshot files

title: StatsdPlugin

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

description: prefix.operations.count (default: graphql)

description: Client Configuration

title: StatsdClientConfiguration

description: Allowed values: tcp, udp, uds, stream

title: StatsdClientBufferHolder

title: PostGraphileHandler

description: A connection string to your Postgres database

description: 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.

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

description: Extra Postgraphile Plugins to append

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

description: 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](https://www.graphile.org/postgraphile/usage-library/) for more information. (Any of: JSON, String)

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

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

description: 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](https://www.graphile.org/postgraphile/usage-schema/) for more information.

title: RAMLHandler

title: RAMLSelectQueryOrMutationFieldConfig

title: SoapHandler

description: A url to your WSDL or generated SDL with annotations

description:
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

title: SupergraphHandler

description:
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.

title: ThriftHandler

description: The name of the host to connect to.

description: The port number to attach to on the host.

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

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

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

description: The name of your service. Used for logging.

description: Path to IDL file

title: CacheTransformConfig

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

description:
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

description: Invalidation rules

title: CacheInvalidateConfig

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

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

title: CacheEffectingOperationConfig

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

title: EncapsulateTransformObject

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

description: Allow you to choose which root operations you would like to apply. By default, it's applied to all root types.

title: EncapsulateTransformApplyTo

title: ExtendTransform

title: FederationTransform

description:
Version of the federation spec
Default: v2.0

title: FederationTransformType

title: FederationObjectConfig

description: Any of: String, ResolveReferenceObject

title: FederationObjectKeyConfig

title: ResolveReferenceObject

description: Name of root field name that resolves the reference

description:
You need configure the arguments for that field;
```yaml
args:
  someArg: "{root.someKeyValue}"
```

title: FederationField

title: FederationFieldConfig

title: FederationFieldProvidesConfig

title: FederationFieldRequiresConfig

title: FederationFieldTagConfig

title: FederationFieldOverrideConfig

title: FilterSchemaTransform

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

description: Array of filter rules

title: HoistFieldTransformConfig

description: Type name that defines where field should be hoisted to

description: Any of: String, HoistFieldTransformFieldPathConfigObject

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

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

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

title: HoistFieldTransformFieldPathConfigObject

description: Field name

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

title: NamingConventionTransformConfig

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

enum: camelCase capitalCase constantCase dotCase headerCase noCase paramCase pascalCase pathCase sentenceCase snakeCase upperCase lowerCase

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

title: PrefixTransformConfig

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

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

description: List of ignored types

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

description: Changes types (default: true)

title: PruneTransformConfig

description: Types to skip pruning

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

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

description: Set to `true` to skip pruning empty unions

description: Set to `true` to skip pruning unused types

title: RateLimitTransformConfig

description: The type name that the following field belongs to

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

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

description: The time period in which the rate limit is applied

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

title: RenameTransform

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

description: Array of rename rules

title: RenameTransformObject

description: Use Regular Expression for type names

description: Use Regular Expression for field names

description: Use Regular Expression for field names

description: Flags to use in the Regular Expression

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

@default: false

title: RenameConfig

title: ReplaceFieldTransformConfig

description: Additional type definition to used to replace field types

description: Array of rules to replace fields

title: ReplaceFieldTransformObject

description: Allowed values: config, hoistValue

title: ReplaceFieldConfig

title: ResolversCompositionTransform

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

description: Array of resolver/composer to apply

title: ResolversCompositionTransformObject

description:
The GraphQL Resolver path
Example: Query.users

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

title: TransferSchemaTransformConfig

description: Array of rules to transfer fields or args

title: TransferSchemaTransformObject

description: Allowed values: move, copy

title: TypeMergingConfig

description:
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](https://www.graphql-tools.com/docs/stitch-type-merging#basic-example),
while the field's arguments and return type are used to infer merge configuration.
Directive arguments tune the merge behavior

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

title: MergedRootFieldConfig

description:
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

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

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

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

description:
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.

title: MergedTypeConfig

description: Name of the type (Query by default)

description:
Specifies a base selection set needed to merge the annotated type across subschemas.
Analogous to the `selectionSet` setting specified in [merged type configuration](https://www.graphql-tools.com/docs/stitch-type-merging#basic-example).

description:
Specifies types and fields
that provide a [canonical definition](https://www.graphql-tools.com/docs/stitch-type-merging#canonical-definitions) 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.

title: KeyAnnotation

title: MergedTypeField

description:
specifies a selection of fields required from other services to compute the value of this field.
These additional fields are only selected when the computed field is requested.
Analogous to [computed field](https://www.graphql-tools.com/docs/stitch-type-merging#computed-fields) in merged type configuration.
Computed field dependencies must be sent into the subservice using an [object key](https://www.graphql-tools.com/docs/stitch-directives-sdl#object-keys).

title: ComputedAnnotation

title: TuqlHandler

description: Pointer to your SQLite database

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

title: Config

description:
Configuration for `mesh start` or `mesh dev` command.
Those commands won't be available in programmatic usage.

description: SDK Configuration

description: Codegen Configuration

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

description: Transform to apply to the unified mesh schema

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

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

description: Backend cache

description: Merge method

description: PubSub Implementation (Any of: String, PubSubConfig)

description:
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.

description: Logger instance that matches `Console` interface of NodeJS

description: Path to a custom W3 Compatible Fetch Implementation

description: Allow connections to an SSL endpoint without certificates

description: You can provide Envelop plugins


proxies.json

type: object

type: array

type: string

$ref: #/definitions/match-condition-schema

description: Required - an object defining the requests that will trigger the execution of this proxy. It contains two properties shared with HTTP triggers - methods and route

description: The URL of the backend resource to which the request should be proxied. This value may be templated. If this property is not included, Azure Functions will respond with an HTTP 200 OK

$ref: #/definitions/requestOverrides-schema

description: The requestOverrides object defines changes made to the request when the backend resource is called. You can make changes to the HTTP method, headers, and query string parameters.

$ref: #/definitions/responseOverrides-schema

description: The responseOverrides object defines changes made to the response passed back to the client. You can make changes to the response's status code, reason phrase, headers, and body.

type: boolean

description: Required - This defines the route template, controlling to which request URLs your proxy will respond. Unlike in HTTP triggers, there is no default value

description: This is an array of the HTTP methods to which the proxy will respond. If not specified, the proxy will respond to all HTTP methods on the route.

$ref: #/definitions/http-method-schema

description: This is the HTTP method which will be used to call the backend.

description: A query string parameter which can be set for the call to the backend. Replace "<ParameterName>" with the name of the parameter you wish to set. If the empty string is provided, the parameter will not be included on the backend request

description: A header which can be set for the call to the backend. Replace "<HeaderName>" with the name of the header you wish to set. If the empty string is provided, the header will not be included on the backend request.

description: A query string parameter which can be set for the call to the backend. Values can reference application settings and parameters from the original client request. If the empty string is provided, the parameter will not be included on the backend request

description: A header which can be set for the call to the backend. Values can reference application settings, parameters from the original client request, and parameters from the backend response. If the empty string is provided, the header will not be included on the backend request.

description: The HTTP status code to be returned to the client.

description: The HTTP reason phrase to be returned to the client.

description: The string representation of the body to be returned to the client.

description: A header which can be set for the response to the client. Replace "<HeaderName>" with the name of the header you wish to set. If the empty string is provided, the header will not be included on the response.

description: A header which can be set for the response to the client. Values can reference application settings, parameters from the original client request, and parameters from the backend response. If the empty string is provided, the header will not be included on the response.

label: Original Request Header

description: Read from one of the request headers

body: {request.headers.<HeaderName>}

label: Original Request Query String Parameter

description: Read one of the original request query string parameters

body: {request.querystring.<ParameterName>}

label: Original Request Method

description: Read the request method

body: {request.method}

label: Backend Response Header

description: Read from one of the backend response headers

body: {backend.response.headers.<HeaderName>}

label: Backend Response Status Code

description: Read the backend response status code.

body: {backend.response.statusCode}

label: Backend Response Status Reason

description: Read the backend response status reason.

body: {backend.response.statusReason}

description: Read from one of the original request headers

body: {request.headers.<HeaderName>}

label: Original Request Query String

body: {request.querystring.<ParameterName>}

description: Read the original request method

body: {request.method}

label: Backend Request Header

description: Read from backend request headers

body: {backend.request.headers.<HeaderName>}

label: Backend Request Query String

description: Read one of the backend request query string parameters

body: {backend.request.querystring.<ParameterName>}

label: Backend Request Method

description: Read the backend request method

body: {backend.request.method}

enum: GET POST HEAD OPTIONS PUT TRACE DELETE PATCH CONNECT

description: The proxies object defines the proxies that will be used by the function app

$ref: #/definitions/proxy-schema

description: Default template for a proxy. Replace "<ProxyName>" with a friendly name you wish to set.

description: A friendly name for the proxy

title: JSON schema for Azure Functions Proxies proxies.json files