RequestRequest
RequestCertified

Make a GraphQL API request.

Make a GraphQL API request.

yaml
type: "io.kestra.plugin.graphql.Request"

Make a GraphQL query with variables

yaml
id: graphql_request
namespace: company.team

tasks:
  - id: graphql_query
    type: io.kestra.plugin.graphql.Request
    uri: https://example.com/graphql
    query: |
      query GetUser($userId: ID!) {
        user(id: $userId) {
          name
          email
        }
      }
    variables:
      userId: "12345"

Execute a GraphQL query with authentication

yaml
id: graphql_with_auth
namespace: company.team

tasks:
  - id: get_data
    type: io.kestra.plugin.graphql.Request
    uri: https://example.com/graphql
    headers:
      Authorization: "Bearer {{ secret('API_TOKEN') }}"
    query: |
      query {
        viewer {
          name
          email
        }
      }

Execute a GraphQL query with operationName

yaml
id: graphql_with_operation_name
namespace: company.team

tasks:
  - id: get_data
    type: io.kestra.plugin.graphql.Request
    uri: https://example.com/graphql
    query: |
      query GetUser {
        user(id: "1") {
          name
        }
      }

      query GetPosts {
        posts {
          title
        }
      }
    operationName: "GetUser"
Properties

GraphQL query or mutation to execute.

The fully-qualified URI that points to the HTTP destination

The full body as a string

Defaultapplication/json

The request content type

Defaultfalse

If true, the GraphQL response body will be automatically encrypted and decrypted in the outputs.

If this property is set to true, this task will output the request body using the encryptedBody output property; otherwise, the request body will be stored in the body output property.

Defaultfalse

Fail task on GraphQL errors

If true, the task will fail when GraphQL returns errors in the response.

The form data to be send

SubTypestring

The headers to pass to the request

DefaultPOST

The HTTP method to use

Operation name for the GraphQL query

Used when multiple operations are defined in the query document.

Default{ "followRedirects": "true", "allowFailed": "false", "defaultCharset": "UTF-8" }

The HTTP request options

Definitions
allowFailedbooleanstring
Defaultfalse

If true, allow a failed response code (response code >= 400)

allowedResponseCodesarray
SubTypeinteger

List of response code allowed for this request

auth

The authentification to use.

type*Requiredobject
passwordstring

The password for HTTP basic authentication.

usernamestring

The username for HTTP basic authentication.

type*Requiredobject
tokenstring

The token for bearer token authentication.

basicAuthPasswordDeprecatedstring

The password for HTTP basic authentication. Deprecated, use auth property with a BasicAuthConfiguration instance instead.

basicAuthUserDeprecatedstring

The username for HTTP basic authentication. Deprecated, use auth property with a BasicAuthConfiguration instance instead.

connectTimeoutDeprecatedstring
Formatduration
connectionPoolIdleTimeoutDeprecatedstring
Formatduration

The time an idle connection can remain in the client's connection pool before being closed.

defaultCharsetstring
DefaultUTF-8

The default charset for the request.

followRedirectsbooleanstring
Defaulttrue

Whether redirects should be followed automatically.

logLevelDeprecatedstring
Possible Values
ALLTRACEDEBUGINFOWARNERROROFFNOT_SPECIFIED

The log level for the HTTP client.

logsarray
SubTypestring
Possible Values
REQUEST_HEADERSREQUEST_BODYRESPONSE_HEADERSRESPONSE_BODY

The enabled log.

maxContentLengthDeprecatedinteger

The maximum content length of the response.

proxy

The proxy configuration.

addressstring
passwordstring
portintegerstring
typestring
DefaultDIRECT
Possible Values
DIRECTHTTPSOCKS
usernamestring
proxyAddressDeprecatedstring

The address of the proxy server.

proxyPasswordDeprecatedstring

The password for proxy authentication.

proxyPortDeprecatedinteger

The port of the proxy server.

proxyTypeDeprecatedstring
Possible Values
DIRECTHTTPSOCKS

The type of proxy to use.

proxyUsernameDeprecatedstring

The username for proxy authentication.

readIdleTimeoutDeprecatedstring
Formatduration
readTimeoutDeprecatedstring
Formatduration

The maximum time allowed for reading data from the server before failing.

ssl

The SSL request options

insecureTrustAllCertificatesbooleanstring

Whether to disable checking of the remote SSL certificate.

Only applies if no trust store is configured. Note: This makes the SSL connection insecure and should only be used for testing. If you are using a self-signed certificate, set up a trust store instead.

timeout

The timeout configuration.

connectTimeoutstring
Formatduration

The time allowed to establish a connection to the server before failing.

readIdleTimeoutstring
DefaultPT5M
Formatduration

The time allowed for a read connection to remain idle before closing it.

The query string parameter to use

Adds parameter to URI query. The parameter name and value are expected to be unescaped and may contain non ASCII characters. The value can be a string or a list of strings. This method will not override parameters already existing on uri and will add them as array.

Variables used in the query.

GraphQL variables can be complex objects with nested structures.

The GraphQL data field from the response.

Contains the data returned by the GraphQL server. If the encryptBody property is set to true, this will be null and the data will be in encryptedBody.

The status code of the response.

The encrypted body of the response.

If the encryptBody property is set to true, this will contain the encrypted response.

The GraphQL errors from the response.

Contains any errors returned by the GraphQL server.

SubTypearray

The headers of the response.

Formaturi

The URL of the current request.

Create automations with Graphql Request