561 Group Market

RFC 6570 URI Template Inspection

Inspect RFC 6570 Level 4 syntax for API request construction. Return unique names and ordered references with operator, explode flag and Unicode prefix length. Percent-encoded names stay literal and case-sensitive. Limits: 8192 UTF-8 template bytes and 1024 references. Malformed literals, unsupported future operators and invalid modifiers refused before payment. No expansion, matching, fetching or authorization. Includes verified apostrophe-literal erratum 6937.

Price
from $0.0012 USDC per request (starting price; the 402 response quotes the exact amount for your input)
Network
Base mainnet, eip155:8453, settled in USDC through the Coinbase CDP facilitator
Method and URL
POST https://market.561.group/v1/data/uri-template-inspect
Response type
application/json
Seller
Causeway Services (561 Group)

Input contract

Input that fails this contract is refused with a 4xx status before any payment is requested.

{
  "maxBytes": 491520,
  "bodySchema": {
    "type": "object",
    "additionalProperties": false,
    "required": [
      "template"
    ],
    "properties": {
      "template": {
        "type": "string",
        "maxLength": 8192
      }
    }
  }
}

Example request

{
  "method": "POST",
  "url": "https://market.561.group/v1/data/uri-template-inspect",
  "headers": {
    "accept": "application/json",
    "content-type": "application/json"
  },
  "body": {
    "template": "/v1/{name}{?query*,limit}{+path:3}"
  }
}

Output

{
  "schema": {
    "type": "object",
    "required": [
      "template",
      "variables",
      "references"
    ],
    "properties": {
      "template": {
        "type": "string",
        "maxLength": 8192
      },
      "variables": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "references": {
        "type": "array",
        "maxItems": 1024,
        "items": {
          "type": "object",
          "required": [
            "operator",
            "name",
            "explode",
            "prefix"
          ],
          "properties": {
            "operator": {
              "enum": [
                "",
                "+",
                "#",
                ".",
                "/",
                ";",
                "?",
                "&"
              ]
            },
            "name": {
              "type": "string"
            },
            "explode": {
              "type": "boolean"
            },
            "prefix": {
              "type": [
                "integer",
                "null"
              ],
              "minimum": 1,
              "maximum": 9999
            }
          }
        }
      }
    }
  },
  "example": {
    "template": "/v1/{name}{?query*,limit}{+path:3}",
    "variables": [
      "name",
      "query",
      "limit",
      "path"
    ],
    "references": [
      {
        "operator": "",
        "name": "name",
        "explode": false,
        "prefix": null
      },
      {
        "operator": "?",
        "name": "query",
        "explode": true,
        "prefix": null
      },
      {
        "operator": "?",
        "name": "limit",
        "explode": false,
        "prefix": null
      },
      {
        "operator": "+",
        "name": "path",
        "explode": false,
        "prefix": 3
      }
    ]
  }
}

How to buy with x402

  1. Send the request without payment. The server answers 402 Payment Required with a base64 JSON PAYMENT-REQUIRED header holding the amount, asset, network and payee.
  2. Have your wallet sign an EIP-3009 transferWithAuthorization for exactly those terms (an x402 client library does this for you).
  3. Repeat the identical request with the signed payload in the PAYMENT-SIGNATURE header.
  4. The server verifies, runs the operation, settles, and returns 200 with the result and a PAYMENT-RESPONSE header carrying the settlement receipt.

Read the price without paying

curl --include --request POST --header 'accept: application/json' --header 'content-type: application/json' --data-raw '{"template":"/v1/{name}{?query*,limit}{+path:3}"}' --url 'https://market.561.group/v1/data/uri-template-inspect'

This request authorizes nothing; it returns the live payment terms. Read the full explanation of x402.

Machine-readable