Judge an RFC 6902 patch against the document it will be applied to
Judge an RFC 6902 patch against the document it will be applied to. The patch is applied to a copy as a sequence, so each operation is judged against the state it will actually see rather than against the original: a later operation targeting a path an earlier one removed is the defect class this exists for. Reports a missing target, which makes the whole patch fail; a remove, which has no inverse; a replace that changes type; a move into itself; and a path the caller marked protected.
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://api.zfinia.com/x402/v1/json-patch-safety-audit
| Category | Code and developer |
|---|---|
| Provider host | api.zfinia.com |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 1 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-04 | valid payment request | 402 | $0.15 | 2397 ms |
Example input (from the provider)
{
"body": {
"document": "{\"name\":\"service\",\"replicas\":3,\"limits\":{\"cpu\":\"200m\",\"memory\":\"256Mi\"},\"hosts\":[\"a.test\",\"b.test\"]}",
"patch": "[{\"op\":\"remove\",\"path\":\"/limits\"},{\"op\":\"replace\",\"path\":\"/replicas\",\"value\":\"three\"},{\"op\":\"replace\",\"path\":\"/limits/cpu\",\"value\":\"500m\"},{\"op\":\"add\",\"path\":\"/hosts/-\",\"value\":\"c.test\"},{\"op\":\"move\",\"from\":\"/hosts\",\"path\":\"/hosts/0\"},{\"op\":\"remove\",\"path\":\"/name\"}]",
"protected_paths": [
"/name"
]
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"document": {
"maxLength": 1048576,
"type": "string"
},
"patch": {
"maxLength": 1048576,
"type": "string"
},
"protected_paths": {
"items": {
"maxLength": 512,
"type": "string"
},
"maxItems": 200,
"minItems": 1,
"type": "array"
}
},
"required": [
"document",
"patch"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}