Skip to content
    Tools

    Verify a signed response

    Paste a response body plus the X-TimeLogic-* headers. The verifier checks the exact v1 envelope from X-TimeLogic-Signature-Input and the body hash locally; nothing is uploaded.

    Signed responses docs

    Smart paste

    Paste the entire curl -i output (response headers + JSON body) and we'll split and fill everything below. Or paste just the JSON body into the body field manually if you already have the headers split out.

    Signature inputs

    Fields below are auto-filled from the Smart paste box. Open manual editing if your client splits headers and body separately.

    alg: Ed25519
    ts:
    input:
    sig:

    Result

    Fill in the inputs and press Verify. Results will appear here.

    How to capture the headers

    Add ?sign=true (or &sign=true) to a supported request and capture the response with curl -i to include headers:

    curl -i \
      -H "x-rapidapi-key: YOUR_KEY" \
      -H "x-rapidapi-host: timelogic-api-world-time-timezones-time-calculations.p.rapidapi.com" \
      "https://timelogic-api-world-time-timezones-time-calculations.p.rapidapi.com/v1/time/current?tz=Europe/London&sign=true"
    

    Copy the entire output and drop it in the Smart paste box above. Headers and body are split automatically.

    X-TimeLogic-Signature-Input is required: it is Base64URL-encoded exact UTF-8 signing input. The verifier decodes those bytes and never rebuilds them from a URL host or a Content-Type header. The signed envelope contains the path and query (including sign=true) but deliberately excludes the scheme and host, so RapidAPI proxying cannot change what is verified.

    Exact bytes matter: the body hash is computed over the exact bytes the server sent. Terminals, editors and "Copy response" buttons can append \n or \r\n; capture the response body without changing whitespace or line endings before verifying.