Data Transformation & Quality · x402 V2

Artifact Verify

Use this service when you need this capability: fetches one public HTTPS artifact without executing it and verifies its SHA-256, MIME type, and byte size against supplied expectations.

Price and endpoint

LivePOSTBase USDC

0.005 USDC per call

x402 V2 exact payment on Base mainnet (eip155:8453) using USDC. The HTTP 402 challenge confirms the exact requirements before an authorized payment.

POST https://signalharness.ai/api/agent/services/artifact_verify/invoke

Purpose

Fetches one public HTTPS artifact without executing it and verifies its SHA-256, MIME type, and byte size against supplied expectations.

Documented public-source retrieval is bounded by the URL, byte, redirect, and timeout limits below. Source availability can affect execution; review the input schema and returned source metadata.

Inputs

Request fields and validation limits
FieldTypeRequiredLimits
urlstringRequiredPattern: ^https://; Minimum length 9; Maximum length 2048
expectedSha256stringOptionalPattern: ^[0-9a-fA-F]{64}$; Minimum length 64; Maximum length 64
expectedMimeTypestringOptionalPattern: ^[A-Za-z0-9!#$&^_.+-]+/[A-Za-z0-9!#$&^_.+-]+$; Minimum length 3; Maximum length 256
expectedByteSizeintegerOptionalMinimum 0; Maximum 10485760

Example request body

{
  "url": "https://example.com/artifact.bin"
}
View complete input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "additionalProperties": false,
  "minProperties": 1,
  "maxProperties": 4,
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "pattern": "^https://",
      "minLength": 9,
      "maxLength": 2048
    },
    "expectedSha256": {
      "type": "string",
      "pattern": "^[0-9a-fA-F]{64}$",
      "minLength": 64,
      "maxLength": 64
    },
    "expectedMimeType": {
      "type": "string",
      "pattern": "^[A-Za-z0-9!#$&^_.+-]+/[A-Za-z0-9!#$&^_.+-]+$",
      "minLength": 3,
      "maxLength": 256
    },
    "expectedByteSize": {
      "type": "integer",
      "minimum": 0,
      "maximum": 10485760
    }
  }
}

Realistic output shape

Illustrative output from the canonical adapter fixture and schema. It is not a completed paid execution or a current live observation.

{
  "status": "VERIFIED",
  "calculatedSha256": "0000000000000000000000000000000000000000000000000000000000000000",
  "byteSize": 0
}
View complete output schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "additionalProperties": false,
  "minProperties": 3,
  "maxProperties": 8,
  "required": [
    "status",
    "calculatedSha256",
    "byteSize"
  ],
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "VERIFIED",
        "MISMATCH",
        "INSPECTED"
      ],
      "minLength": 8,
      "maxLength": 9
    },
    "sourceUrl": {
      "type": "string",
      "minLength": 9,
      "maxLength": 2048
    },
    "calculatedSha256": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$",
      "minLength": 64,
      "maxLength": 64
    },
    "hashMatch": {
      "type": "boolean"
    },
    "mimeType": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256
    },
    "mimeMatch": {
      "type": "boolean"
    },
    "byteSize": {
      "type": "integer",
      "minimum": 0,
      "maximum": 10485760
    },
    "byteSizeMatch": {
      "type": "boolean"
    }
  }
}

Execution limits

  • MaxInputBytes: 8192
  • MaxOutputBytes: 65536
  • MaxConcurrentExecutions: 2
  • MaxArtifacts: 0
  • MaxArtifactBytes: 0
  • RateLimitPerMinute: 30
  • MaxFetchBytes: 10485760
  • MaxDecodedBytes: 10485760
  • FetchTimeoutMs: 20000
  • MaxRedirects: 3

Timeout: 30000 ms. Full schemas are in OpenAPI.

Copyable unpaid request

This schema-valid request returns the canonical HTTP 402 challenge without executing the service. A payment-capable client validates the challenge, signs only with prior authority and budget, and retries the identical body.

curl -i -X POST https://signalharness.ai/api/agent/services/artifact_verify/invoke \
  -H "Content-Type: application/json" \
  --data '{"url":"https://example.com/artifact.bin"}'

Continue with the paid-call walkthrough →