,

# __Directive

A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.

In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.

## GraphQL Schema definition `

- type __Directive {
- name: String!
- description: String
- locations: [__DirectiveLocation!]!
- args: [__InputValue!]!
- onOperation: Boolean! @deprecated( reason: "Use `locations`." )
- onFragment: Boolean! @deprecated( reason: "Use `locations`." )
- onField: Boolean! @deprecated( reason: "Use `locations`." )
- }

`