Mutations
Mutations are used to execute operations and manage configs.
Execute Operations
call
Executes an API call with the given configuration. Supports both one-time configurations and saved endpoints.
mutation Call($input: ApiInputRequest!, $payload: JSON, $credentials: JSON, $options: RequestOptions) {
call(input: $input, payload: $payload, credentials: $credentials, options: $options) {
id
success
error
startedAt
completedAt
data
config {
... on ApiConfig {
id
urlHost
urlPath
method
instruction
authentication
createdAt
updatedAt
}
... on ExtractConfig {
id
urlHost
urlPath
fileType
decompressionMethod
instruction
authentication
createdAt
updatedAt
}
... on TransformConfig {
id
instruction
responseSchema
responseMapping
createdAt
updatedAt
}
}
}
}
mutation Call($input: ApiInputRequest!, $payload: JSON, $credentials: JSON, $options: RequestOptions) {
call(input: $input, payload: $payload, credentials: $credentials, options: $options) {
id
success
error
startedAt
completedAt
data
config {
... on ApiConfig {
id
urlHost
urlPath
method
instruction
authentication
createdAt
updatedAt
}
... on ExtractConfig {
id
urlHost
urlPath
fileType
decompressionMethod
instruction
authentication
createdAt
updatedAt
}
... on TransformConfig {
id
instruction
responseSchema
responseMapping
createdAt
updatedAt
}
}
}
}
const result = await client.call({
endpoint: {
id: "a-unique-id",
urlHost: "https://api.example.com",
urlPath: "/data",
instruction: "Fetch user data",
method: "GET",
headers: {
"Authorization": "Bearer token"
}
},
payload: {
userId: "123"
},
options: {
cacheMode: "ENABLED",
timeout: 5000
}
});
extract
Extracts data from a file or API response. Handles decompression and parsing of various file formats.
mutation Extract($input: ExtractInputRequest!, $payload: JSON, $credentials: JSON, $options: RequestOptions) {
extract(input: $input, payload: $payload, credentials: $credentials, options: $options) {
id
success
error
startedAt
completedAt
data
config {
... on ExtractConfig {
id
urlHost
urlPath
fileType
decompressionMethod
instruction
authentication
createdAt
updatedAt
}
}
}
}
mutation Extract($input: ExtractInputRequest!, $payload: JSON, $credentials: JSON, $options: RequestOptions) {
extract(input: $input, payload: $payload, credentials: $credentials, options: $options) {
id
success
error
startedAt
completedAt
data
config {
... on ExtractConfig {
id
urlHost
urlPath
fileType
decompressionMethod
instruction
authentication
createdAt
updatedAt
}
}
}
}
const result = await client.extract({
endpoint: {
id: "a-unique-id",
urlHost: "https://example.com",
urlPath: "/data.csv",
instruction: "Extract user data from CSV",
fileType: "CSV",
decompressionMethod: "GZIP"
},
options: {
timeout: 10000
}
});
transform
Transforms data using JSONata expressions and validates against a schema.
mutation Transform($input: TransformInputRequest!, $data: JSON!, $options: RequestOptions) {
transform(input: $input, data: $data, options: $options) {
id
success
error
startedAt
completedAt
data
config {
... on TransformConfig {
id
instruction
responseSchema
responseMapping
createdAt
updatedAt
}
}
}
}
mutation Transform($input: TransformInputRequest!, $data: JSON!, $options: RequestOptions) {
transform(input: $input, data: $data, options: $options) {
id
success
error
startedAt
completedAt
data
config {
... on TransformConfig {
id
instruction
responseSchema
responseMapping
createdAt
updatedAt
}
}
}
}
const result = await client.transform({
endpoint: {
id: "a-unique-id",
instruction: "Transform user data",
responseSchema: {
type: "object",
properties: {
name: { type: "string" },
age: { type: "number" }
}
},
responseMapping: "$.user"
},
data: {
user: {
name: "John",
age: 30
}
}
});
executeWorkflow
Executes a workflow (multiple APIs or Endpoints) in a single call.
mutation ExecuteWorkflow($input: WorkflowInputRequest!, $payload: JSON, $credentials: JSON, $options: RequestOptions) {
executeWorkflow(input: $input, payload: $payload, credentials: $credentials, options: $options) {
success
data
finalTransform
stepResults {
stepId
success
rawData
transformedData
error
}
error
startedAt
completedAt
}
}
mutation ExecuteWorkflow($input: WorkflowInputRequest!, $payload: JSON, $credentials: JSON, $options: RequestOptions) {
executeWorkflow(input: $input, payload: $payload, credentials: $credentials, options: $options) {
success
data
finalTransform
stepResults {
stepId
success
rawData
transformedData
error
}
error
startedAt
completedAt
}
}
const result = await client.executeWorkflow({
workflow: {
id: "workflow-id",
steps: [/* ... */],
finalTransform: "...",
responseSchema: {/* ... */}
},
payload: {/* ... */},
options: {/* ... */}
});
Configuration Management
upsertApi
Creates or updates an API configuration.
mutation UpsertApi($id: ID!, $input: JSON!) {
upsertApi(id: $id, input: $input) {
id
urlHost
urlPath
method
instruction
headers
queryParams
body
authentication
responseSchema
responseMapping
pagination {
type
pageSize
cursorPath
}
dataPath
updatedAt
}
}
mutation UpsertApi($id: ID!, $input: JSON!) {
upsertApi(id: $id, input: $input) {
id
urlHost
urlPath
method
instruction
headers
queryParams
body
authentication
responseSchema
responseMapping
pagination {
type
pageSize
cursorPath
}
dataPath
updatedAt
}
}
const config = await client.upsertApi("config-id", {
urlHost: "https://api.example.com",
urlPath: "/users",
method: "GET",
headers: {
"Authorization": "Bearer token"
}
});
deleteApi
Deletes an API configuration. Returns true
if successful.
mutation DeleteApi($id: ID!) {
deleteApi(id: $id)
}
mutation DeleteApi($id: ID!) {
deleteApi(id: $id)
}
const success = await client.deleteApi("config-id");
upsertExtraction
Creates or updates an extraction configuration.
mutation UpsertExtraction($id: ID!, $input: JSON!) {
upsertExtraction(id: $id, input: $input) {
id
urlHost
urlPath
instruction
fileType
decompressionMethod
}
}
mutation UpsertExtraction($id: ID!, $input: JSON!) {
upsertExtraction(id: $id, input: $input) {
id
urlHost
urlPath
instruction
fileType
decompressionMethod
}
}
const config = await client.upsertExtraction("extraction-config-id", {
urlHost: "https://example.com",
fileType: "CSV",
instruction: "Extract data from CSV file."
});
deleteExtraction
Deletes an extraction configuration. Returns true
if successful.
mutation DeleteExtraction($id: ID!) {
deleteExtraction(id: $id)
}
mutation DeleteExtraction($id: ID!) {
deleteExtraction(id: $id)
}
const success = await client.deleteExtraction("extraction-config-id");
upsertTransformation
Creates or updates a transformation configuration.
mutation UpsertTransformation($id: ID!, $input: JSON!) {
upsertTransformation(id: $id, input: $input) {
id
instruction
responseSchema
responseMapping
}
}
mutation UpsertTransformation($id: ID!, $input: JSON!) {
upsertTransformation(id: $id, input: $input) {
id
instruction
responseSchema
responseMapping
}
}
const config = await client.upsertTransformation("transform-config-id", {
instruction: "Transform user data to new schema",
responseSchema: { type: "object", properties: { /* ... */ } },
responseMapping: "$.users"
});
deleteTransformation
Deletes a transformation configuration. Returns true
if successful.
mutation DeleteTransformation($id: ID!) {
deleteTransformation(id: $id)
}
mutation DeleteTransformation($id: ID!) {
deleteTransformation(id: $id)
}
const success = await client.deleteTransformation("transform-config-id");
upsertWorkflow
Creates or updates a workflow configuration.
mutation UpsertWorkflow($id: ID!, $input: JSON!) {
upsertWorkflow(id: $id, input: $input) {
id
steps { id /* ... */ }
finalTransform
}
}
mutation UpsertWorkflow($id: ID!, $input: JSON!) {
upsertWorkflow(id: $id, input: $input) {
id
steps { id /* ... */ }
finalTransform
}
}
const workflow = await client.upsertWorkflow("workflow-id", {
steps: [
// ...ExecutionStepInput objects
],
finalTransform: "$.step1.data + $.step2.data"
});
deleteWorkflow
Deletes a workflow configuration. Returns true
if successful.
mutation DeleteWorkflow($id: ID!) {
deleteWorkflow(id: $id)
}
mutation DeleteWorkflow($id: ID!) {
deleteWorkflow(id: $id)
}
const success = await client.deleteWorkflow("workflow-id");
See also:
Was this page helpful?