p202 app verify

Verify a postback payload's Apple signature (nothing is stored)

All commands

01Run it

Replace the <placeholders> with your own values, or use the builder below.

p202 app verify

02What you get

Pick the shape you need. People get a table. Add --json, --csv or --ndjson for scripts, or -q for ids only. An AI agent gets compact JSON without asking. All output formats

03Build your command

Pick values and the command line writes itself, quoted and ready to paste.

p202 app verify

Set flags below; the command updates as you type.

04Flags

1 flag, plus the global flags every command takes.

FlagWhat it does
--file, -fstringPath to the postback JSON (default: read piped stdin)

05How it works

Reads a postback JSON object from --file (or piped stdin) and asks the server to verify Apple's signature. A body with a jws-string is verified as AdAttributionKit (the response decodes the JWS header and payload and names the signing key); anything else as SKAdNetwork (the response carries the exact signed message, base64, for diffing against another implementation). The verdict is valid / invalid / unverifiable / development.

06For agents

Running this from an agent

  • Read the same facts as JSON: p202 commands app verify --json.
  • With AI_AGENT, CLAUDECODE or another agent variable set, output is compact JSON and errors arrive on stderr as a JSON envelope with a hint.
  • Exit codes: 0 ok, 1 bad input, 2 auth, 3 network, 4 server error, 5 partial failure.
p202 commands app verify --json
{
  "path": "p202 app verify",
  "use": "verify",
  "short": "Verify a postback payload's Apple signature (nothing is stored)",
  "long": "Reads a postback JSON object from --file (or piped stdin) and asks the server to\nverify Apple's signature. A body with a jws-string is verified as AdAttributionKit\n(the response decodes the JWS header and payload and names the signing key); anything\nelse as SKAdNetwork (the response carries the exact signed message, base64, for\ndiffing against another implementation). The verdict is valid / invalid /\nunverifiable / development.",
  "runnable": true,
  "flags": [
    {
      "name": "file",
      "shorthand": "f",
      "type": "string",
      "default": "",
      "usage": "Path to the postback JSON (default: read piped stdin)",
      "required": false
    }
  ]
}