ToolAssay

For supplied field names, distinguish absent keys, explicit nulls, blank strings

For supplied field names, distinguish absent keys, explicit nulls, blank strings and populated values across JSON records.

Answeringour last check, 2026-09-30
1 of 1checks answered this week
1338 msmedian answer time
$0.05listed price per call
$0.05price it asked us

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://penny-army-reference-mainnet.spruceboundgranitestudio.workers.dev/v1/probes/column-completeness

CategoryEverything else
Provider hostpenny-army-reference-mainnet.spruceboundgranitestudio.workers.dev
Networkseip155:8453
Payment schemesexact
Self-reported calls, 30 days0 from 0 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-09-30 valid payment request 402$0.05 1338 ms

Example input (from the provider)

{
  "body": {
    "fields": [
      "sku",
      "title",
      "price"
    ],
    "rows": [
      {
        "price": 0,
        "sku": "A-100",
        "title": "Desk"
      },
      {
        "price": null,
        "sku": "A-101",
        "title": " "
      },
      {
        "sku": "A-102"
      },
      {
        "price": 19.5,
        "sku": "A-103",
        "title": "Lamp"
      }
    ]
  },
  "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": {
          "$defs": {
            "__schema0": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                },
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                },
                {
                  "items": {
                    "$ref": "#/properties/input/properties/body/$defs/__schema0"
                  },
                  "type": "array"
                },
                {
                  "additionalProperties": {
                    "$ref": "#/properties/input/properties/body/$defs/__schema0"
                  },
                  "propertyNames": {
                    "type": "string"
                  },
                  "type": "object"
                }
              ]
            }
          },
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "additionalProperties": false,
          "description": "For supplied field names, distinguish absent keys, explicit nulls, blank strings and populated values across JSON records. At most 128 rows and 64 field names, subject to shared byte/complexity limits. No nested-path, type, schema, factual or source validation. A local presence/null/blank counting loop or repeated model counting. Compare with an existing local transform before purchasing; no token or cost savings are guaranteed. JSON input required (415 otherwise). Invalid input 400; byte limit 413; unsupported syntax/domain or oversized output 422 without settlement; capacity/rate limit 429; unavailable/paused/unresolved 503. Conflicting or expired evidence 409. Never create replacement payment after an uncertain outcome; use original-evidence recovery.",
          "properties": {
            "fields": {
              "items": {
                "maxLength": 128,
                "minLength": 1,
                "type": "string"
              },
              "maxItems": 64,
              "type": "array"
            },
            "rows": {
              "items": {
                "additionalProperties": {
                  "$ref": "#/properties/input/properties/body/$defs/__schema0"
                },
                "propertyNames": {
                  "maxLength": 128,
                  "type": "string"
                },
                "type": "object"
              },
              "maxItems": 128,
              "type": "array"
            }
          },
          "required": [
            "rows",
            "fields"
          ],
          "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": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "additionalProperties": false,
          "description": "Deterministic counts of own top-level keys. Blank means a string whose trim() is empty. Zero, false, empty arrays and empty objects are populated. Duplicate field names are counted once in first-occurrence order. At most 128 rows and 64 field names, subject to shared byte/complexity limits. No nested-path, type, schema, factual or source validation. Same valid input and implementation version produce the same result; this is not an external correctness certification. No upstream API or model call. Results may contain supplied fields and are retained in the shared result store. Do not submit secrets or private data. Recovery expires 24 hours after claim; physical deletion/backups follow existing environment policy.",
          "properties": {
            "result": {
              "additionalProperties": false,
              "properties": {
                "columns": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "absent": {
                        "maximum": 9007199254740991,
                        "minimum": -9007199254740991,
                        "type": "integer"
                      },
                      "blanks": {
                        "maximum": 9007199254740991,
                        "minimum": -9007199254740991,
                        "type": "integer"
                      },
                      "field": {
                        "type": "string"
                      },
                      "nulls": {
                        "maximum": 9007199254740991,
                        "minimum": -9007199254740991,
                        "type": "integer"
                      },
                      "populated": {
                        "maximum": 9007199254740991,
                        "minimum": -9007199254740991,
                        "type": "integer"
                      }
                    },
                    "required": [
                      "field",
                      "absent",
                      "nulls",
                      "blanks",
                      "populated"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                },
                "rows": {
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                }
              },
              "required

This page as JSON