GraphQL API

GraphQL API

GraphQL is a query language for APIs and a runtime for executing those queries. Unlike REST, GraphQL allows clients to specify exactly the data they need in a single request, avoiding over-fetching or under-fetching. It uses a strongly typed schema and supports nested, related queries—making it ideal for efficient frontend-backend interactions.

SC-Graph currently supports several GraphQL schemas, which are described in detail here.

The GraphQL schemas currently supported by SC-graph are described here.


Execute a GraphQL query

GET /{dataset}/graphql

Execute a GraphQL query against the schema associated with the specified dataset.

Parameters

  • dataset (string, required, in path): The underlying dataset (i.e. knowledge) to apply requests against.
  • query (string, required): The GraphQL query string.
  • operationName (string, optional): Name of the operation to execute (optional).
  • variables (string, optional): JSON-encoded variables for the query (optional).
  • extensions (string, optional): Extensions for the GraphQL request (optional).

Responses

  • 200 OK: Successful response containing query results.
  • 400 Bad Request: Error response for invalid GraphQL requests, adhering to the GraphQL error specification.

Execute a GraphQL query against the Dataset schema (POST)

POST /{dataset}/graphql

Parameters

  • dataset (string, required, in path): The underlying dataset (i.e. Graph) to apply requests against.

Request Body (application/json)

  • GraphQL request payload.
    • query (string, required)
    • operationName (string, optional)
    • variables (object, optional)
    • extensions (object, optional)

Responses

  • 200 OK: Successful response containing query results.
  • 400 Bad Request: Error response for invalid GraphQL requests, adhering to the GraphQL error specification.

Execute a GraphQL query against the Traversal schema

GET /{dataset}/traversal/graphql

Parameters

  • dataset (string, required, in path): The underlying dataset (i.e. Graph) to apply requests against.
  • query (string, required): The GraphQL query string.
  • operationName (string, optional): Name of the operation to execute (optional).
  • variables (string, optional): JSON-encoded variables for the query (optional).
  • extensions (string, optional): Extensions for the GraphQL request (optional).

Responses

  • 200 OK: Successful response containing query results.
  • 400 Bad Request: Error response for invalid GraphQL requests, adhering to the GraphQL error specification.

Execute a GraphQL query against the Traversal schema (POST)

POST /{dataset}/traversal/graphql

Parameters

  • dataset (string, required, in path): The underlying dataset (i.e. Graph) to apply requests against.

Request Body (application/json)

  • GraphQL request payload.
    • query (string, required)
    • operationName (string, optional)
    • variables (object, optional)
    • extensions (object, optional)

Responses

  • 200 OK: Successful response containing query results.
  • 400 Bad Request: Error response for invalid GraphQL requests, adhering to the GraphQL error specification.

Validate a GraphQL query against the Dataset schema

GET /{dataset}/validate

Parameters

  • dataset (string, required, in path): The underlying dataset (i.e. Graph) to apply requests against.
  • query (string, required): The GraphQL query string.
  • operationName (string, optional): Name of the operation to execute (optional).
  • variables (string, optional): JSON-encoded variables for the query (optional).
  • extensions (string, optional): Extensions for the GraphQL request (optional).

Responses

  • 200 OK: Successful response containing query results.
  • 400 Bad Request: Error response for invalid GraphQL requests, adhering to the GraphQL error specification.

Validate a GraphQL query against the Dataset schema (POST)

POST /{dataset}/validate

Parameters

  • dataset (string, required, in path): The underlying dataset (i.e. Graph) to apply requests against.

Request Body (application/json)

  • GraphQL request payload.
    • query (string, required)
    • operationName (string, optional)
    • variables (object, optional)
    • extensions (object, optional)

Responses

  • 200 OK: Successful response containing query results.
  • 400 Bad Request: Error response for invalid GraphQL requests, adhering to the GraphQL error specification.

Validate a GraphQL query against the Traversal schema

GET /{dataset}/traversal/validate

Parameters

  • dataset (string, required, in path): The underlying dataset (i.e. Graph) to apply requests against.
  • query (string, required): The GraphQL query string.
  • operationName (string, optional): Name of the operation to execute (optional).
  • variables (string, optional): JSON-encoded variables for the query (optional).
  • extensions (string, optional): Extensions for the GraphQL request (optional).

Responses

  • 200 OK: Successful response containing query results.
  • 400 Bad Request: Error response for invalid GraphQL requests, adhering to the GraphQL error specification.

Validate a GraphQL query against the Traversal schema (POST)

POST /{dataset}/traversal/validate

Parameters

  • dataset (string, required, in path): The underlying dataset (i.e. Graph) to apply requests against.

Request Body (application/json)

  • GraphQL request payload.
    • query (string, required)
    • operationName (string, optional)
    • variables (object, optional)
    • extensions (object, optional)

Responses

  • 200 OK: Successful response containing query results.
  • 400 Bad Request: Error response for invalid GraphQL requests, adhering to the GraphQL error specification.

Execute a GraphQL query against the Telicent schema

GET /{dataset}/telicent/graphql

Parameters

  • dataset (string, required, in path): The underlying dataset (i.e. Graph) to apply requests against.
  • query (string, required): The GraphQL query string.
  • operationName (string, optional): Name of the operation to execute (optional).
  • variables (string, optional): JSON-encoded variables for the query (optional).
  • extensions (string, optional): Extensions for the GraphQL request (optional).

Responses

  • 200 OK: Successful response containing query results.
  • 400 Bad Request: Error response for invalid GraphQL requests, adhering to the GraphQL error specification.

Execute a GraphQL query against the Telicent schema (POST)

POST /{dataset}/telicent/graphql

Parameters

  • dataset (string, required, in path): The underlying dataset (i.e. Graph) to apply requests against.

Request Body (application/json)

  • GraphQL request payload.
    • query (string, required)
    • operationName (string, optional)
    • variables (object, optional)
    • extensions (object, optional)

Responses

  • 200 OK: Successful response containing query results.
  • 400 Bad Request: Error response for invalid GraphQL requests, adhering to the GraphQL error specification.

Validate a GraphQL query against the Telicent schema

GET /{dataset}/telicent/validate

Parameters

  • dataset (string, required, in path): The underlying dataset (i.e. Graph) to apply requests against.
  • query (string, required): The GraphQL query string.
  • operationName (string, optional): Name of the operation to execute (optional).
  • variables (string, optional): JSON-encoded variables for the query (optional).
  • extensions (string, optional): Extensions for the GraphQL request (optional).

Responses

  • 200 OK: Successful response containing query results.
  • 400 Bad Request: Error response for invalid GraphQL requests, adhering to the GraphQL error specification.

Validate a GraphQL query against the Telicent schema (POST)

POST /{dataset}/telicent/validate

Parameters

  • dataset (string, required, in path): The underlying dataset (i.e. Graph) to apply requests against.

Request Body (application/json)

  • GraphQL request payload.
    • query (string, required)
    • operationName (string, optional)
    • variables (object, optional)
    • extensions (object, optional)

Responses

  • 200 OK: Successful response containing query results.
  • 400 Bad Request: Error response for invalid GraphQL requests, adhering to the GraphQL error specification.


[EARLY DRAFT RELEASE] Copyright 2020-2025 Telicent Limited. All rights reserved