01Run it
Replace the <placeholders> with your own values, or use the builder below.
p202 app create02What 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 formats03Build your command
Pick values and the command line writes itself, quoted and ready to paste.
p202 app createSet flags below; the command updates as you type.
04Flags
16 flags, plus the global flags every command takes.
| Flag | What it does |
|---|---|
| --accept-test-signalsstring | 1 = trust test signals for this app (AdAttributionKit development-signed postbacks, Android test installs; integration testing), 0 = store them flagged (default): 0, 101 |
| --app-keystring | The App Store id (iOS) or the package name (Android) |
| --app-namestring | Display name for reports |
| --attribution-window-daysstring | Android: days after its click an install may begin and still be attributed (1-365, default 7) |
| --ctit-max-secondsstring | Android: flag an install that began later than this after its click (60-31536000, default 86400) |
| --ctit-min-secondsstring | Android: flag an install that began sooner than this after its click (0-3600, default 10) |
| --event-cap-per-minutestring | Android: events one install may post a minute; past it 429 (100-60000, default 200) |
| --fast-goal-policystring | Android: what a fast goal does, one of count, hold: count (pay it and flag it, default) or hold (flag it, never pay)counthold |
| --fast-goal-secondsstring | Android: flag a goal reached sooner than this after its install (0-3600, default 5; 0 flags none) |
| --install-cap-per-minutestring | Android: installs the app may report a minute; past it 429 (1-60000, default 300) |
| --integrity-cloud-project-numberstring | Android: the Google Cloud project NUMBER the SDK requests integrity tokens for (required for observe/require; can be replaced, not cleared) |
| --integrity-modestring | Android: Play Integrity mode, one of off, observe, require: off (default), observe (record verdicts) or require (attribute only a passing verdict); needs app integrity credential set first and --integrity-cloud-project-numberoffobserverequire |
| --notesstring | Free-form notes |
| --platformstring | Platform (default: read from --app-key or --store-link): ios, androidiosandroid |
| --store-linkstring | App Store or Google Play link, market:// link, App Store id or package name |
| --trust-client-revenuestring | Android: 1 = revenue the app reports may be paid by a goal valued from it; 0 = stored, never credited (default): 0, 101 |
05How it works
Registers one app. Name it with --store-link (an App Store or Google Play link, a market:// link, a numeric App Store id or a package name) or with --app-key (the App Store id for iOS, the package name for Android; --platform is read from the key's shape when left out). The server reads the link, so every client parses it the same way.
06For agents
Running this from an agent
- Read the same facts as JSON:
p202 commands app create --json. - With
AI_AGENT,CLAUDECODEor another agent variable set, output is compact JSON and errors arrive on stderr as a JSON envelope with ahint. - Exit codes: 0 ok, 1 bad input, 2 auth, 3 network, 4 server error, 5 partial failure.
- This command writes. Add
--stagedto record it as a proposal a person applies withp202 change apply.
{
"path": "p202 app create",
"use": "create",
"short": "Register an app from a store link or an app key (claims its stored postbacks)",
"long": "Registers one app. Name it with --store-link (an App Store or Google Play link, a\nmarket:// link, a numeric App Store id or a package name) or with --app-key (the App\nStore id for iOS, the package name for Android; --platform is read from the key's\nshape when left out). The server reads the link, so every client parses it the same way.",
"runnable": true,
"flags": [
{
"name": "accept-test-signals",
"type": "string",
"default": "",
"usage": "1 = trust test signals for this app (AdAttributionKit development-signed postbacks, Android test installs; integration testing), 0 = store them flagged (default): 0, 1",
"allowed_values": [
"0",
"1"
],
"required": false
},
{
"name": "app-key",
"type": "string",
"default": "",
"usage": "The App Store id (iOS) or the package name (Android)",
"required": false
},
{
"name": "app-name",
"type": "string",
"default": "",
"usage": "Display name for reports",
"required": false
},
{
"name": "attribution-window-days",
"type": "string",
"default": "",
"usage": "Android: days after its click an install may begin and still be attributed (1-365, default 7)",
"required": false
},
{
"name": "ctit-max-seconds",
"type": "string",
"default": "",
"usage": "Android: flag an install that began later than this after its click (60-31536000, default 86400)",
"required": false
},
{
"name": "ctit-min-seconds",
"type": "string",
"default": "",
"usage": "Android: flag an install that began sooner than this after its click (0-3600, default 10)",
"required": false
},
{
"name": "event-cap-per-minute",
"type": "string",
"default": "",
"usage": "Android: events one install may post a minute; past it 429 (100-60000, default 200)",
"required": false
},
{
"name": "fast-goal-policy",
"type": "string",
"default": "",
"usage": "Android: what a fast goal does, one of count, hold: count (pay it and flag it, default) or hold (flag it, never pay)",
"allowed_values": [
"count",
"hold"
],
"required": false
},
{
"name": "fast-goal-seconds",
"type": "string",
"default": "",
"usage": "Android: flag a goal reached sooner than this after its install (0-3600, default 5; 0 flags none)",
"required": false
},
{
"name": "install-cap-per-minute",
"type": "string",
"default": "",
"usage": "Android: installs the app may report a minute; past it 429 (1-60000, default 300)",
"required": false
},
{
"name": "integrity-cloud-project-number",
"type": "string",
"default": "",
"usage": "Android: the Google Cloud project NUMBER the SDK requests integrity tokens for (required for observe/require; can be replaced, not cleared)",
"required": false
},
{
"name": "integrity-mode",
"type": "string",
"default": "",
"usage": "Android: Play Integrity mode, one of off, observe, require: off (default), observe (record verdicts) or require (attribute only a passing verdict); needs `app integrity credential set` first and --integrity-cloud-project-number",
"allowed_values": [
"off",
"observe",
"require"
],
"required": false
},
{
"name": "notes",
"type": "string",
"default": "",
"usage": "Free-form notes",
"required": false
},
{
"name": "platform",
"type": "string",
"default": "",
"usage": "Platform (default: read from --app-key or --store-link): ios, android",
"allowed_values": [
"ios",
"android"
],
"required": false
},
{
"name": "store-link",
"type": "string",
"default": "",
"usage": "App Store or Google Play link, market:// link, App Store id or package name",
"required": false
},
{
"name": "trust-client-revenue",
"type": "string",
"default": "",
"usage": "Android: 1 = revenue the app reports may be paid by a goal valued from it; 0 = stored, never credited (default): 0, 1",
"allowed_values": [
"0",
"1"
],
"required": false
}
]
}