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
- Send the request without payment. The server answers
402 Payment Requiredwith a base64 JSONPAYMENT-REQUIREDheader holding the amount, asset, network and payee. - Have your wallet sign an EIP-3009
transferWithAuthorizationfor exactly those terms (an x402 client library does this for you). - Repeat the identical request with the signed payload in the
PAYMENT-SIGNATUREheader. - The server verifies, runs the operation, settles, and returns
200with the result and aPAYMENT-RESPONSEheader 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
- /.well-known/x402: x402 discovery document for every offer
- /v1/catalog: full catalog with contracts and examples
- /llms.txt: the market in llms.txt form
- services.561.group: Causeway Services