API reference · v1
Small tools.
Strict contracts.
JSONKit exposes deterministic data operations over HTTP. Send a JSON request and choose a structured JSON response or clean plain text. Core JSON, conversion, and comparison tools are listed first; specialized agent workflows are collected at the end of the reference.
https://api.jsonkit.tools/v1Content-Type: application/json.SERIALIZATION
Choose what enters the context
Set top-level responseMode on any request. json is the default and returns native JSON in the standard ok/result envelope. plain returns the successful result directly with Content-Type: text/plain—no envelope and no escaped inner document. Errors remain structured JSON in both modes so clients can handle failures consistently.
jsonDefault. Avoids escaped JSON strings in agent and application integrations.plainReturns the raw successful output without ok or result.BOUNDS
What the API refuses
Every limit below applies to anonymous requests and is enforced in the same code that publishes it. Two of them exist because small inputs can produce enormous output: indenting a deeply nested document costs roughly indent × depth² bytes, so a request under 2 KB can ask for megabytes. The nesting limit refuses that input; the response limit catches whatever still expands past it.
1 MiBMaximum request body. Larger documents belong in local tools, not a shared endpoint.4 MiBMaximum serialized result. Small inputs can expand enormously — indenting a deeply nested document is quadratic in its depth — so the result is measured before it is sent.100 levelsMaximum nesting in a JSON document. YAML and XML parsers already stop at their own ceiling; JSON.parse has none, so the API applies this one.1024 charactersMaximum length of a JMESPath expression.5000 changesMaximum reported diff entries. The summary always counts every change, reported or not.1000 errorsMaximum reported JSON Schema errors. valid is unaffected by truncation.10 stepsMaximum operations in one synchronous pipeline.100 UUIDsMaximum UUIDs per request. Larger counts are capped rather than rejected.Diff changes and schema errors truncate instead of failing: the reported list is capped, a truncated flag appears, and the counts keep describing the whole comparison. Everything else returns a structured error.
CONVENTIONS
Responses and errors
A successful request returns ok: true and a typed result. Invalid input never returns an invented partial result.
{
"ok": true,
"result": "{\n \"ready\": true\n}"
}{
"ok": false,
"error": {
"code": "INVALID_INPUT",
"message": "Unexpected token"
}
}Every failure carries one of the codes below. The same list is published as the error.codeenum in /openapi.json, generated from the source this page reads.
400INVALID_INPUT — The body parsed as JSON but the operation rejected the input or an option value.400INVALID_JSON — The request body is not valid JSON.400RESULT_TOO_LARGE — The request was valid but produced a result above the 4 MiB response limit.404NOT_FOUND — No versioned endpoint matches the request path.405METHOD_NOT_ALLOWED — The endpoint does not accept this HTTP method.413PAYLOAD_TOO_LARGE — The request body exceeds the 1 MiB limit.415UNSUPPORTED_MEDIA_TYPE — Content-Type must be application/json.500INTERNAL_ERROR — An unexpected error interrupted the request.JSON
Format JSON
Parse and pretty-print a JSON document.
/v1/json/formatRequest body4 fields⌄
inputJSON source to parse and pretty-print.
options{}Operation-specific settings.
options.indent2Whitespace used for each nesting level. A string is useful for tab indentation.
0–10, or a string up to 10 characters such as "\t".responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultParsed JSON value. Use plain for indented JSON text.
{
"input": "{\"agent\":\"fast\",\"tools\":3}",
"options": {
"indent": 2
},
"responseMode": "plain"
}Minify JSON
Validate JSON and remove optional whitespace.
/v1/json/minifyRequest body2 fields⌄
inputJSON source to parse and minify.
responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultParsed JSON value. Use plain for minified JSON text.
{
"input": "{\n \"agent\": \"fast\",\n \"tools\": 3\n}",
"responseMode": "plain"
}Validate JSON
Validate syntax and return structural statistics.
/v1/json/validateRequest body2 fields⌄
inputJSON source to validate and inspect.
responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultValidation result and structural statistics in json mode.
result.validAlways true. Invalid JSON produces an HTTP 400 error instead.
trueresult.stats.nodesTotal number of values, including containers and scalar values.
result.stats.keysTotal number of object keys.
result.stats.depthMaximum nesting depth; the root starts at depth 1.
{
"input": "{\"tasks\":[{\"done\":true}]}"
}Validate JSON Schema
Validate a JSON value against draft 4, 7, 2019-09, or 2020-12.
/v1/json/schema/validateRequest body6 fields⌄
inputThe document and schema to validate.
input.documentJSON source or native JSON value.
input.schemaJSON Schema source or native schema.
options{}Operation-specific settings.
options.draft"2020-12"JSON Schema dialect.
4, 7, 2019-09, or 2020-12.responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultValidation outcome in json mode.
result.validWhether the document satisfies the schema.
result.errorsAll validation errors; empty when valid.
result.errors[].keywordFailed JSON Schema keyword.
result.errors[].instanceLocationJSON Pointer to the failing document value.
result.errors[].keywordLocationJSON Pointer to the failing schema keyword.
result.errors[].messageHuman-readable validation message.
result.truncatedPresent only when the error list was capped at 1000 entries. valid is unaffected by truncation.
true{
"input": {
"document": {
"id": 7,
"name": "Ada"
},
"schema": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer"
}
}
}
},
"options": {
"draft": "2020-12"
},
"responseMode": "json"
}Diff JSON
Compare values structurally, ignoring formatting and key order.
/v1/json/diffRequest body4 fields⌄
inputThe two JSON documents to compare.
input.leftOriginal JSON document.
input.rightUpdated JSON document.
responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultA structural diff and aggregate counts in json mode.
result.changesOrdered list of changed paths. Formatting and object-key order are ignored.
result.changes[].kindHow the value differs.
added, removed, or changed.result.changes[].pathDot/bracket path such as user.name, items[2], or (root).
result.changes[].leftOriginal value. Present for removed and changed; omitted for added.
result.changes[].rightUpdated value. Present for added and changed; omitted for removed.
result.summaryCounts for the complete change list.
result.summary.addedNumber of added paths.
result.summary.removedNumber of removed paths.
result.summary.changedNumber of paths whose values changed.
result.summary.totalSum of added, removed, and changed paths.
result.summary.truncatedPresent only when the reported list was capped at 5000 entries. The counts above still describe every change.
true{
"input": {
"left": "{\"status\":\"draft\"}",
"right": "{\"status\":\"ready\"}"
}
}{
"ok": true,
"result": {
"changes": [
{
"kind": "changed",
"path": "status",
"left": "draft",
"right": "ready"
}
],
"summary": {
"added": 0,
"removed": 0,
"changed": 1,
"total": 1
}
}
}Convert
JSON to CSV
Flatten an array of objects into delimited rows.
/v1/json/to-csvRequest body4 fields⌄
inputJSON array to flatten into CSV rows.
options{}Operation-specific settings.
options.delimiter","Column separator written between cells.
,, ;, "\t", and |.responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultCSV text with a union header for all object keys.
{
"input": "[{\"id\":1,\"name\":\"Ada\"}]",
"options": {
"delimiter": ","
}
}CSV to JSON
Parse CSV with delimiter detection and safe value typing.
/v1/csv/to-jsonRequest body6 fields⌄
inputDelimited text with the first row treated as column names.
options{}Operation-specific settings.
options.delimiter"auto"Column separator or automatic detection mode.
auto or any non-empty delimiter string; auto-detection checks comma, semicolon, and tab.options.indent2Whitespace used for each nesting level. A string is useful for tab indentation.
0–10, or a string up to 10 characters such as "\t".options.typedtrueConvert unambiguous booleans, nulls, and safe numbers instead of returning every cell as text.
true or false.responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultNative row array in json mode.
{
"input": "id,name\n1,Ada",
"options": {
"delimiter": "auto",
"typed": true
}
}JSON to YAML
Serialize JSON as readable YAML.
/v1/json/to-yamlRequest body2 fields⌄
inputJSON source to serialize as YAML.
responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultYAML text with references disabled and lines wrapped near 100 characters.
{
"input": "{\"service\":{\"port\":8080}}"
}YAML to JSON
Parse YAML and return formatted JSON.
/v1/yaml/to-jsonRequest body4 fields⌄
inputYAML document to parse.
js-yaml safe loading; executable JavaScript types are not supported.options{}Operation-specific settings.
options.indent2Whitespace used for each nesting level. A string is useful for tab indentation.
0–10, or a string up to 10 characters such as "\t".responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultNative JSON value in json mode.
{
"input": "service:\n port: 8080",
"options": {
"indent": 2
}
}JSON to XML
Build an XML document from JSON values.
/v1/json/to-xmlRequest body4 fields⌄
inputJSON source to serialize as XML.
@ become attributes and #text becomes text content.options{}Operation-specific settings.
options.root"root"Wrapper element used only when the JSON root is an array or primitive.
responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultSerialized XML without an XML declaration.
{
"input": "{\"message\":{\"@id\":\"1\",\"#text\":\"hello\"}}",
"options": {
"root": "root"
}
}XML to JSON
Parse XML while preserving attributes and repeated elements.
/v1/xml/to-jsonRequest body4 fields⌄
inputXML document to parse.
@, text uses #text, and repeated sibling elements become arrays.options{}Operation-specific settings.
options.indent2Whitespace used for each nesting level. A string is useful for tab indentation.
0–10, or a string up to 10 characters such as "\t".responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultNative JSON value in json mode.
{
"input": "<message id=\"1\">hello</message>",
"options": {
"indent": 2
}
}JSON to TypeScript
Infer interfaces or type aliases from example JSON.
/v1/json/to-typescriptRequest body5 fields⌄
inputExample JSON used to infer TypeScript declarations.
options{}Operation-specific settings.
options.root"Root"Name of the generated root declaration.
options.kind"interface"Declaration style for object shapes.
interface or type.responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultTypeScript source containing the inferred root and nested declarations.
{
"input": "{\"id\":1,\"profile\":{\"name\":\"Ada\"}}",
"options": {
"root": "Root",
"kind": "interface"
}
}Compare
Diff YAML
Compare YAML values structurally, ignoring comments, formatting, and key order.
/v1/yaml/diffRequest body4 fields⌄
inputThe two YAML documents to compare.
input.leftOriginal YAML document.
js-yaml.input.rightUpdated YAML document.
js-yaml.responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultA structural diff and aggregate counts in json mode.
result.changesOrdered list of changed paths. Formatting and object-key order are ignored.
result.changes[].kindHow the value differs.
added, removed, or changed.result.changes[].pathDot/bracket path such as user.name, items[2], or (root).
result.changes[].leftOriginal value. Present for removed and changed; omitted for added.
result.changes[].rightUpdated value. Present for added and changed; omitted for removed.
result.summaryCounts for the complete change list.
result.summary.addedNumber of added paths.
result.summary.removedNumber of removed paths.
result.summary.changedNumber of paths whose values changed.
result.summary.totalSum of added, removed, and changed paths.
result.summary.truncatedPresent only when the reported list was capped at 5000 entries. The counts above still describe every change.
true{
"input": {
"left": "status: draft",
"right": "status: ready"
},
"responseMode": "json"
}Diff XML
Compare parsed XML structures while preserving attributes and repeated elements.
/v1/xml/diffRequest body4 fields⌄
inputThe two XML documents to compare.
input.leftOriginal XML document.
input.rightUpdated XML document.
responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultA structural diff and aggregate counts in json mode.
result.changesOrdered list of changed paths. Formatting and object-key order are ignored.
result.changes[].kindHow the value differs.
added, removed, or changed.result.changes[].pathDot/bracket path such as user.name, items[2], or (root).
result.changes[].leftOriginal value. Present for removed and changed; omitted for added.
result.changes[].rightUpdated value. Present for added and changed; omitted for removed.
result.summaryCounts for the complete change list.
result.summary.addedNumber of added paths.
result.summary.removedNumber of removed paths.
result.summary.changedNumber of paths whose values changed.
result.summary.totalSum of added, removed, and changed paths.
result.summary.truncatedPresent only when the reported list was capped at 5000 entries. The counts above still describe every change.
true{
"input": {
"left": "<item status=\"draft\"/>",
"right": "<item status=\"ready\"/>"
},
"responseMode": "json"
}Encode & decode
Encode Base64
Encode UTF-8 text as standard or URL-safe Base64.
/v1/base64/encodeRequest body4 fields⌄
inputUnicode text to encode as UTF-8 bytes.
options{}Operation-specific settings.
options.urlSafefalseUse the URL-safe alphabet and omit trailing padding.
true or false.responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultBase64-encoded text in the selected alphabet.
{
"input": "hello, agent",
"options": {
"urlSafe": false
}
}Decode Base64
Validate and decode a Base64 string as UTF-8.
/v1/base64/decodeRequest body2 fields⌄
inputBase64 text to validate and decode as UTF-8.
responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultDecoded Unicode text.
{
"input": "aGVsbG8sIGFnZW50"
}Encode URL
Percent-encode a component or a complete URI.
/v1/url/encodeRequest body4 fields⌄
inputText or URI to percent-encode.
options{}Operation-specific settings.
options.mode"component"Select whether reserved URI characters remain intact.
component uses encodeURIComponent; uri uses encodeURI.responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultPercent-encoded text.
{
"input": "agents?q=json tools",
"options": {
"mode": "component"
}
}Decode URL
Decode percent escapes in a component or URI.
/v1/url/decodeRequest body4 fields⌄
inputPercent-encoded text or URI.
%XX escape sequences.options{}Operation-specific settings.
options.mode"component"Select whether reserved URI escapes remain intact.
component uses decodeURIComponent; uri uses decodeURI.responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultDecoded Unicode text.
{
"input": "agents%3Fq%3Djson%20tools",
"options": {
"mode": "component"
}
}Encode HTML entities
Escape markup-sensitive or all non-ASCII characters.
/v1/html/encodeRequest body4 fields⌄
inputText to encode as HTML entities.
options{}Operation-specific settings.
options.mode"minimal"Choose the set of characters to escape.
minimal escapes markup-sensitive characters; all also emits numeric entities for non-ASCII characters.responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultHTML entity-encoded text.
{
"input": "<strong>safe</strong>",
"options": {
"mode": "minimal"
}
}Decode HTML entities
Decode named, decimal, and hexadecimal entities.
/v1/html/decodeRequest body2 fields⌄
inputText containing HTML entities.
responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultDecoded Unicode text.
{
"input": "<strong>safe</strong>"
}Developer utilities
Decode JWT
Inspect a JWT header, payload, signature, and lifetime without verification.
/v1/jwt/decodeRequest body2 fields⌄
inputJWT to decode without signature verification.
responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultDecoded JWT parts and derived lifetime in json mode.
result.headerDecoded JOSE header claims.
result.payloadDecoded JWT payload claims.
result.signatureOriginal encoded signature segment. It is not verified.
result.lifetimeDerived status from nbf and exp, or null when neither applies.
result.lifetime.stateTemporal state when lifetime is available.
early, expired, or valid.result.lifetime.textHuman-readable relative lifetime.
{
"input": "eyJhbGciOiJub25lIn0.eyJzdWIiOiJhZ2VudCJ9."
}Generate hash
Create an MD5 or SHA family digest.
/v1/hash/generateRequest body4 fields⌄
inputText whose UTF-8 bytes will be hashed.
options{}Operation-specific settings.
options.algorithm"SHA-256"Digest algorithm.
MD5, SHA-1, SHA-256, SHA-384, or SHA-512.responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultLowercase hexadecimal digest; length depends on the selected algorithm.
{
"input": "deterministic input",
"options": {
"algorithm": "SHA-256"
}
}Generate UUIDs
Generate RFC-compatible UUID v4 or time-sortable v7 values.
/v1/uuid/generateRequest body6 fields⌄
options{}Operation-specific settings.
options.version"v4"UUID version to generate.
v4 for random UUIDs or v7 for time-sortable UUIDs.options.count1Number of UUIDs to return.
1 to 100; larger values are capped at 100.options.uppercasefalseReturn hexadecimal letters in uppercase.
true or false.options.hyphenstrueKeep standard UUID hyphens.
true or false.responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultGenerated UUIDs in creation order in json mode.
result[]RFC 9562 UUID, optionally uppercased or stripped of hyphens.
{
"options": {
"version": "v7",
"count": 3
}
}Parse timestamp
Normalize Unix seconds, milliseconds, or an ISO date.
/v1/timestamp/parseRequest body2 fields⌄
inputTimestamp to normalize.
Date parsing.responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultNormalized timestamp and alternative representations in json mode.
result.isoNormalized UTC timestamp in ISO 8601 format.
result.valuesAlternative timestamp representations.
result.values["Unix seconds"]Whole seconds since the Unix epoch.
result.values["Unix milliseconds"]Milliseconds since the Unix epoch.
result.values["ISO 8601"]ISO 8601 UTC representation.
result.values.UTCUTC display string.
result.values.LocalWorker-runtime local display string.
result.values.RelativeHuman-readable offset from request time.
{
"input": "1758000000"
}Convert color
Normalize HEX, RGB, and HSL color notation.
/v1/color/convertRequest body2 fields⌄
inputColor value to normalize.
#rgb, #rrggbb, #rrggbbaa, comma- or space-separated rgb[a](…), or hsl[a](…).responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultEquivalent color representations in json mode.
result.HEXSix- or eight-digit hexadecimal notation.
result.RGBrgb(…) or rgba(…) notation.
result.HSLhsl(…) or hsla(…) notation.
result["CSS variables"]A ready-to-paste --color declaration.
{
"input": "#3fb984"
}Agent workflows
Query JSON
Extract and reshape only the JSON data an agent needs with JMESPath.
/v1/data/queryRequest body4 fields⌄
inputJSON source or a native JSON value to query.
options{}Operation-specific settings.
options.expressionJMESPath expression evaluated against the input.
users[?active].name.responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultThe native JSON value selected or produced by the expression in json mode.
{
"input": "{\"users\":[{\"name\":\"Ada\",\"active\":true},{\"name\":\"Lin\",\"active\":false}]}",
"options": {
"expression": "users[?active].name"
},
"responseMode": "json"
}Transform table
Select, filter, sort, and deduplicate JSON rows without generating transformation code.
/v1/data/tableRequest body11 fields⌄
inputJSON array source or native array of rows.
options{}Operation-specific settings.
options.operationsOrdered table operations.
select, filter, sort, or dedupe operations.options.operations[].opOperation to apply.
select, filter, sort, or dedupe.options.operations[].fieldsField paths retained by select.
options.operations[].fieldField path tested by filter.
options.operations[].operator"eq"Comparison used by filter.
eq, ne, gt, gte, lt, lte, in, or contains.options.operations[].valueRight-hand comparison value for filter.
options.operations[].bySort field, or deduplication fields.
options.operations[].order"asc"Sort direction.
asc or desc.responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultTransformed rows in json mode.
{
"input": "[{\"id\":2,\"active\":true},{\"id\":1,\"active\":true},{\"id\":2,\"active\":false}]",
"options": {
"operations": [
{
"op": "filter",
"field": "active",
"operator": "eq",
"value": true
},
{
"op": "sort",
"by": "id",
"order": "asc"
}
]
},
"responseMode": "json"
}Run pipeline
Chain up to 10 compatible operations and return only the final value.
/v1/pipelineRequest body6 fields⌄
inputInitial value passed to the first step.
options{}Operation-specific settings.
options.stepsOperations executed in order.
options.steps[].pathVersioned endpoint path to execute.
/v1/... endpoint path.options.steps[].options{}Options passed to this step.
responseMode"json"Controls how the endpoint serializes its result.
json returns the standard JSON envelope; plain returns the successful result directly as a text/plain body without ok or result.Response schemajson mode · HTTP 200⌄
okIndicates that the operation completed successfully.
trueresultOnly the final step result; intermediate values are not returned.
{
"input": "{\"users\":[{\"name\":\"Ada\",\"active\":true},{\"name\":\"Lin\",\"active\":false}]}",
"options": {
"steps": [
{
"path": "/v1/data/query",
"options": {
"expression": "users[?active]"
}
},
{
"path": "/v1/json/to-csv"
}
]
},
"responseMode": "json"
}