Datoka API

Signed client-declared API receipts. Free preparation/verification; issuance 0.002 USDC via x402.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
93%
Vollständigkeit des Schemas
68%
Qualität der Benennung
90%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (1)

  • LOWTool 'get_api_public_keys' description lacks action verbin get_api_public_keys

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~5,054Tokens (Tool-Definitionen)
~11.0 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (3.95% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "api": {
      "url": "https://datoka-api.bhazarstudio.workers.dev/mcp"
    }
  }
}

Remote-Endpunkte

https://datoka-api.bhazarstudio.workers.dev/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (4)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢prepare_api_exchange(event)

Validate a client-declared HTTP exchange and compute its commitment; no receipt is persisted.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "event": {
      "type": "object",
      "properties": {
        "version": {
          "type": "string",
          "const": "datoka.api.exchange.v1"
        },
        "attestation": {
          "type": "string",
          "const": "client_declared"
        },
        "apiId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
        },
        "exchangeId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
        },
        "method": {
          "type": "string",
          "enum": [
            "GET",
            "HEAD",
            "POST",
            "PUT",
            "PATCH",
            "DELETE",
            "OPTIONS"
          ]
        },
        "status": {
          "type": "integer",
          "minimum": 200,
          "maximum": 599
        },
        "startedAt": {
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
        },
        "completedAt": {
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
        },
        "targetHash": {
          "type": "object",
          "properties": {
            "algorithm": {
              "type": "string",
              "const": "sha256"
            },
            "digest": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            }
          },
          "required": [
            "algorithm",
            "digest"
          ],
          "additionalProperties": false
        },
        "requestBodyHash": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "algorithm": {
                  "type": "string",
                  "const": "sha256"
                },
                "digest": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                }
              },
              "required": [
                "algorithm",
                "digest"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "responseBodyHash": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "algorithm": {
                  "type": "string",
                  "const": "sha256"
                },
                "digest": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                }
              },
              "required": [
                "algorithm",
                "digest"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "requestHeadersHash": {
          "type": "object",
          "properties": {
            "algorithm": {
              "type": "string",
              "const": "sha256"
            },
            "digest": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            }
          },
          "required": [
            "algorithm",
            "digest"
          ],
          "additionalProperties": false
        },
        "responseHeadersHash": {
          "type": "object",
          "properties": {
            "algorithm": {
              "type": "string",
              "const": "sha256"
            },
            "digest": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            }
          },
          "required": [
            "algorithm",
            "digest"
          ],
          "additionalProperties": false
        },
        "bodyEncoding": {
          "type": "string",
          "const": "application_bytes"
        },
        "headerEncoding": {
          "type": "string",
          "const": "jcs-selected-headers-v1"
        }
      },
      "required": [
        "version",
        "attestation",
        "apiId",
        "exchangeId",
        "method",
        "status",
        "startedAt",
        "completedAt",
        "targetHash",
        "requestBodyHash",
        "responseBodyHash",
        "requestHeadersHash",
        "responseHeadersHash",
        "bodyEncoding",
        "headerEncoding"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "event"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "event": {
      "type": "object",
      "properties": {
        "version": {
          "type": "string",
          "const": "datoka.api.exchange.v1"
        },
        "attestation": {
          "type": "string",
          "const": "client_declared"
        },
        "apiId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
        },
        "exchangeId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
        },
        "method": {
          "type": "string",
          "enum": [
            "GET",
            "HEAD",
            "POST",
            "PUT",
            "PATCH",
            "DELETE",
            "OPTIONS"
          ]
        },
        "status": {
          "type": "integer",
          "minimum": 200,
          "maximum": 599
        },
        "startedAt": {
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
        },
        "completedAt": {
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
        },
        "targetHash": {
          "type": "object",
          "properties": {
            "algorithm": {
              "type": "string",
              "const": "sha256"
            },
            "digest": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            }
          },
          "required": [
            "algorithm",
            "digest"
          ],
          "additionalProperties": false
        },
        "requestBodyHash": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "algorithm": {
                  "type": "string",
                  "const": "sha256"
                },
                "digest": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                }
              },
              "required": [
                "algorithm",
                "digest"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "responseBodyHash": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "algorithm": {
                  "type": "string",
                  "const": "sha256"
                },
                "digest": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                }
              },
              "required": [
                "algorithm",
                "digest"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "requestHeadersHash": {
          "type": "object",
          "properties": {
            "algorithm": {
              "type": "string",
              "const": "sha256"
            },
            "digest": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            }
          },
          "required": [
            "algorithm",
            "digest"
          ],
          "additionalProperties": false
        },
        "responseHeadersHash": {
          "type": "object",
          "properties": {
            "algorithm": {
              "type": "string",
              "const": "sha256"
            },
            "digest": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            }
          },
          "required": [
            "algorithm",
            "digest"
          ],
          "additionalProperties": false
        },
        "bodyEncoding": {
          "type": "string",
          "const": "application_bytes"
        },
        "headerEncoding": {
          "type": "string",
          "const": "jcs-selected-headers-v1"
        }
      },
      "required": [
        "version",
        "attestation",
        "apiId",
        "exchangeId",
        "method",
        "status",
        "startedAt",
        "completedAt",
        "targetHash",
        "requestBodyHash",
        "responseBodyHash",
        "requestHeadersHash",
        "responseHeadersHash",
        "bodyEncoding",
        "headerEncoding"
      ],
      "additionalProperties": false
    },
    "commitment": {
      "type": "object",
      "properties": {
        "algorithm": {
          "type": "string",
          "const": "sha256"
        },
        "encoding": {
          "type": "string",
          "const": "jcs"
        },
        "digest": {
          "type": "string"
        }
      },
      "required": [
        "algorithm",
        "encoding",
        "digest"
      ],
      "additionalProperties": false
    },
    "chain": {
      "type": "string"
    }
  },
  "required": [
    "event",
    "commitment",
    "chain"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
⚪issue_api_receipt(event, idempotencyKey)

Persist a signed commitment to a client-declared HTTP exchange. Public price: 0.002 USDC via x402 when enabled; otherwise requires pilot issuance permission. Preserve the event, idempotency key and original payment authorization on retries. This does not prove independent observation or the truth of the response.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "event": {
      "type": "object",
      "properties": {
        "version": {
          "type": "string",
          "const": "datoka.api.exchange.v1"
        },
        "attestation": {
          "type": "string",
          "const": "client_declared"
        },
        "apiId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
        },
        "exchangeId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
        },
        "method": {
          "type": "string",
          "enum": [
            "GET",
            "HEAD",
            "POST",
            "PUT",
            "PATCH",
            "DELETE",
            "OPTIONS"
          ]
        },
        "status": {
          "type": "integer",
          "minimum": 200,
          "maximum": 599
        },
        "startedAt": {
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
        },
        "completedAt": {
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
        },
        "targetHash": {
          "type": "object",
          "properties": {
            "algorithm": {
              "type": "string",
              "const": "sha256"
            },
            "digest": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            }
          },
          "required": [
            "algorithm",
            "digest"
          ],
          "additionalProperties": false
        },
        "requestBodyHash": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "algorithm": {
                  "type": "string",
                  "const": "sha256"
                },
                "digest": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                }
              },
              "required": [
                "algorithm",
                "digest"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "responseBodyHash": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "algorithm": {
                  "type": "string",
                  "const": "sha256"
                },
                "digest": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                }
              },
              "required": [
                "algorithm",
                "digest"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "requestHeadersHash": {
          "type": "object",
          "properties": {
            "algorithm": {
              "type": "string",
              "const": "sha256"
            },
            "digest": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            }
          },
          "required": [
            "algorithm",
            "digest"
          ],
          "additionalProperties": false
        },
        "responseHeadersHash": {
          "type": "object",
          "properties": {
            "algorithm": {
              "type": "string",
              "const": "sha256"
            },
            "digest": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            }
          },
          "required": [
            "algorithm",
            "digest"
          ],
          "additionalProperties": false
        },
        "bodyEncoding": {
          "type": "string",
          "const": "application_bytes"
        },
        "headerEncoding": {
          "type": "string",
          "const": "jcs-selected-headers-v1"
        }
      },
      "required": [
        "version",
        "attestation",
        "apiId",
        "exchangeId",
        "method",
        "status",
        "startedAt",
        "completedAt",
        "targetHash",
        "requestBodyHash",
        "responseBodyHash",
        "requestHeadersHash",
        "responseHeadersHash",
        "bodyEncoding",
        "headerEncoding"
      ],
      "additionalProperties": false
    },
    "idempotencyKey": {
      "type": "string",
      "pattern": "^[\\x21-\\x7e]{16,200}$"
    }
  },
  "required": [
    "event",
    "idempotencyKey"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢verify_api_receipt(event, receipt)

Verify signature, trusted issuer, tenant, event commitment and API protocol semantics.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "event": {
      "type": "object",
      "properties": {
        "version": {
          "type": "string",
          "const": "datoka.api.exchange.v1"
        },
        "attestation": {
          "type": "string",
          "const": "client_declared"
        },
        "apiId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
        },
        "exchangeId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
        },
        "method": {
          "type": "string",
          "enum": [
            "GET",
            "HEAD",
            "POST",
            "PUT",
            "PATCH",
            "DELETE",
            "OPTIONS"
          ]
        },
        "status": {
          "type": "integer",
          "minimum": 200,
          "maximum": 599
        },
        "startedAt": {
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
        },
        "completedAt": {
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
        },
        "targetHash": {
          "type": "object",
          "properties": {
            "algorithm": {
              "type": "string",
              "const": "sha256"
            },
            "digest": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            }
          },
          "required": [
            "algorithm",
            "digest"
          ],
          "additionalProperties": false
        },
        "requestBodyHash": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "algorithm": {
                  "type": "string",
                  "const": "sha256"
                },
                "digest": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                }
              },
              "required": [
                "algorithm",
                "digest"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "responseBodyHash": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "algorithm": {
                  "type": "string",
                  "const": "sha256"
                },
                "digest": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                }
              },
              "required": [
                "algorithm",
                "digest"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "requestHeadersHash": {
          "type": "object",
          "properties": {
            "algorithm": {
              "type": "string",
              "const": "sha256"
            },
            "digest": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            }
          },
          "required": [
            "algorithm",
            "digest"
          ],
          "additionalProperties": false
        },
        "responseHeadersHash": {
          "type": "object",
          "properties": {
            "algorithm": {
              "type": "string",
              "const": "sha256"
            },
            "digest": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            }
          },
          "required": [
            "algorithm",
            "digest"
          ],
          "additionalProperties": false
        },
        "bodyEncoding": {
          "type": "string",
          "const": "application_bytes"
        },
        "headerEncoding": {
          "type": "string",
          "const": "jcs-selected-headers-v1"
        }
      },
      "required": [
        "version",
        "attestation",
        "apiId",
        "exchangeId",
        "method",
        "status",
        "startedAt",
        "completedAt",
        "targetHash",
        "requestBodyHash",
        "responseBodyHash",
        "requestHeadersHash",
        "responseHeadersHash",
        "bodyEncoding",
        "headerEncoding"
      ],
      "additionalProperties": false
    },
    "receipt": {
      "type": "object",
      "properties": {
        "body": {
          "type": "object",
          "properties": {
            "version": {
              "type": "string",
              "const": "datoka.receipt.v1"
            },
            "id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "issuer": {
              "type": "string",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
            },
            "keyId": {
              "type": "string",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
            },
            "issuedAt": {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
            },
            "request": {
              "type": "object",
              "properties": {
                "scope": {
                  "type": "string",
                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
                },
                "chain": {
                  "type": "string",
                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
                },
                "eventType": {
                  "type": "string",
                  "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
                },
                "subject": {
                  "type": "object",
                  "properties": {
                    "algorithm": {
                      "type": "string",
                      "const": "sha256"
                    },
                    "encoding": {
                      "type": "string",
                      "enum": [
                        "jcs",
                        "bytes"
                      ]
                    },
                    "digest": {
                      "type": "string",
                      "pattern": "^[a-f0-9]{64}$"
                    }
                  },
                  "required": [
                    "algorithm",
                    "encoding",
                    "digest"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "scope",
                "chain",
                "eventType",
                "subject"
              ],
              "additionalProperties": false
            },
            "sequence": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "previous": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "version",
            "id",
            "issuer",
            "keyId",
            "issuedAt",
            "request",
            "sequence",
            "previous"
          ],
          "additionalProperties": false
        },
        "algorithm": {
          "type": "string",
          "const": "Ed25519"
        },
        "signature": {
          "type": "string",
          "pattern": "^[A-Za-z0-9_-]{86}$"
        }
      },
      "required": [
        "body",
        "algorithm",
        "signature"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "event",
    "receipt"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "valid": {
      "type": "boolean",
      "const": true
    },
    "receiptId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "scope": {
      "type": "string",
      "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
    },
    "apiId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
    },
    "exchangeId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
    },
    "attestation": {
      "type": "string",
      "const": "client_declared"
    }
  },
  "required": [
    "valid",
    "receiptId",
    "scope",
    "apiId",
    "exchangeId",
    "attestation"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_api_public_keys

Return issuer public keys. Establish issuer trust independently before offline verification.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "issuer": {
      "type": "string",
      "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
    },
    "keys": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "keyId": {
            "type": "string",
            "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
          },
          "jwk": {
            "type": "object",
            "properties": {
              "kty": {
                "type": "string",
                "const": "OKP"
              },
              "crv": {
                "type": "string",
                "const": "Ed25519"
              },
              "x": {
                "type": "string"
              },
              "key_ops": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "ext": {
                "type": "boolean"
              }
            },
            "required": [
              "kty",
              "crv",
              "x"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "keyId",
          "jwk"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "issuer",
    "keys"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet4 Tools