The Core API provides GraphQL endpoints for managing API configurations, data extraction, transformations, and workflows. Main concepts:
  • Workflows: Chain multiple steps into a single execution (recommended)
  • Integrations: Manage integrations (e.g. Stripe, Hubspot) and their credentials

Deprecated Operations

⚠️ The following operations are deprecated:
  • API Calls: Individual call operations - use executeWorkflow instead
  • Extractions: Individual extract operations - use executeWorkflow instead
  • Transformations: Individual transform operations - use executeWorkflow instead
  • Legacy Config Management: upsertApi, upsertExtract, upsertTransform - use workflow-based operations instead
These deprecated operations are still available but moved to the bottom of the documentation. Use workflows for better performance, reliability, and capabilities.

Endpoint

Use https://graphql.superglue.cloud or omit endpoint in the SDK. Self-hosted default port: 3000.

Authentication

All requests require a bearer token:
Authorization: Bearer YOUR_AUTH_TOKEN

Base Types

interface BaseConfig {
  id: ID!
  version: String
  createdAt: DateTime
  updatedAt: DateTime
}

union ConfigType = ApiConfig | ExtractConfig | TransformConfig | Workflow

Input Types

ApiInput

  • id: ID!
  • urlHost: String!
  • urlPath: String
  • instruction: String!
  • queryParams: JSON
  • method: HttpMethod
  • headers: JSON
  • body: String
  • documentationUrl: String
  • responseSchema: JSONSchema
  • responseMapping: JSONata
  • authentication: AuthType
  • pagination: PaginationInput
  • dataPath: String
  • version: String

ExtractInput

  • id: ID!
  • urlHost: String!
  • urlPath: String
  • queryParams: JSON
  • instruction: String!
  • method: HttpMethod
  • headers: JSON
  • body: String
  • documentationUrl: String
  • decompressionMethod: DecompressionMethod
  • fileType: FileType
  • authentication: AuthType
  • dataPath: String
  • version: String

TransformInput

  • id: ID!
  • instruction: String!
  • responseSchema: JSONSchema!
  • responseMapping: JSONata
  • version: String

WorkflowInput

  • id: String!
  • steps: [ExecutionStepInput!]
  • integrationIds: [ID!]
  • finalTransform: JSONata
  • inputSchema: JSONSchema
  • responseSchema: JSONSchema
  • version: String
  • instruction: String

IntegrationInput

  • id: ID!
  • name: String
  • urlHost: String
  • urlPath: String
  • credentials: JSON
  • documentationUrl: String
  • documentation: String
  • documentationPending: Boolean (default: false)
  • specificInstructions: String

RequestOptions

Control how operations are executed with fine-grained options.
{
  "selfHealing": "ENABLED",     // Default: ENABLED
  "cacheMode": "READONLY",       // Deprecated, Default: READONLY
  "timeout": 300000,             // Default: 300000ms (5 minutes)
  "retries": 10,                 // Default: 10 attempts
  "retryDelay": 0,           // Default: 0ms (no delay)
  "webhookUrl": null,           // Deprecated, Default: null (no webhooks) - this only works for calls, not for workflows.
  "testMode": false             // Default: false - if this is true, superglue will validate the request after each execution. This is useful for building, testing and debugging.
}
Field Explanations:
  • selfHealing: If it should auto-fix issues
    • ENABLED: Full auto-healing (recommended)
    • TRANSFORM_ONLY: Only fix data transformation issues
    • REQUEST_ONLY: Only fix API request issues
    • DISABLED: No auto-healing
  • cacheMode: Deprecated - If it should use the saved configuration and update it if self-healing is performed. this only works for calls, not for workflows.
    • ENABLED: Cache reads and writes
    • READONLY: Only read from cache, don’t write (Default)
    • WRITEONLY: Only write to cache, don’t read
    • DISABLED: No caching
  • timeout: Maximum time to wait (milliseconds)
  • retries: Number of retry attempts on failure
  • retryDelay: Delay between retries (milliseconds)
  • webhookUrl: POST endpoint for async notifications - this only works for calls, not for workflows.
  • testMode: If true, validate each request after execution. This is useful for building, testing and debugging.

PaginationInput

  • type: PaginationType!
  • pageSize: String (default: β€œ50”)
  • cursorPath: String
  • stopCondition: String

SystemInput

  • id: String!
  • urlHost: String!
  • urlPath: String
  • documentationUrl: String
  • documentation: String
  • credentials: JSON

Enums

HttpMethod

GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS

CacheMode

ENABLED, READONLY, WRITEONLY, DISABLED

FileType

CSV, JSON, XML, AUTO

AuthType

NONE, OAUTH2, HEADER, QUERY_PARAM

DecompressionMethod

GZIP, DEFLATE, NONE, AUTO, ZIP

PaginationType

OFFSET_BASED, PAGE_BASED, CURSOR_BASED, DISABLED

LogLevel

DEBUG, INFO, WARN, ERROR

SelfHealingMode

ENABLED, TRANSFORM_ONLY, REQUEST_ONLY, DISABLED

UpsertMode

CREATE, UPDATE, UPSERT

Common Parameters

All execution operations (executeWorkflow) accept a RequestOptions object.

Default Query Parameters

Most list operations support:
  • limit: Int (default: 50)
  • offset: Int (default: 0)

Error Handling

All operations return:
{
  success: Boolean!
  error: String
  startedAt: DateTime!
  completedAt: DateTime!
}

Retry Logic

  • API calls: up to 8 retries
  • Extractions: up to 5 retries
  • Each retry can generate a new config based on the previous error

Webhooks

If webhookUrl is set in options:
  • On success: POST {success: true, data: result}
  • On failure: POST {success: false, error: message}

Workflows

Workflows let you chain multiple steps (API, extract, transform) into a single execution. Each step can run in DIRECT mode or LOOP mode for batch processing.

Integrations

Integrations manage connections to third-party services, storing credentials and configuration needed for API calls. See also: