{
  "info": {
    "name": "Tetrees AI Pack API 2.2",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    { "key": "baseUrl", "value": "https://ex.tetrees.ai" },
    { "key": "token", "value": "" },
    { "key": "packId", "value": "" },
    { "key": "model", "value": "openai:gpt-5.4-mini" },
    { "key": "runId", "value": "" },
    { "key": "growthSequence", "value": "1" },
    { "key": "growthVersion", "value": "0" }
  ],
  "auth": { "type": "bearer", "bearer": [{ "key": "token", "value": "{{token}}", "type": "string" }] },
  "item": [
    { "name": "Token status", "request": { "method": "GET", "url": "{{baseUrl}}/api/auth/api-token-status" } },
    { "name": "Search AI Packs", "request": { "method": "GET", "url": "{{baseUrl}}/api/ai-packs/catalog?q=research&limit=12" } },
    { "name": "List models", "request": { "method": "GET", "url": "{{baseUrl}}/api/ai-packs/models" } },
    { "name": "AI workload status", "request": { "method": "GET", "url": "{{baseUrl}}/api/ai-packs/workload/status", "description": "Shows bounded global/type capacity and queue pressure. AI_WORKLOAD_BUSY responses are never charged." } },
    { "name": "List hosted skills and file policy", "request": { "method": "GET", "url": "{{baseUrl}}/api/ai-packs/skills" } },
    { "name": "Inspect Pack runtime profile", "request": { "method": "GET", "url": "{{baseUrl}}/api/ai-packs/{{packId}}/runtime-profile" } },
    { "name": "List owned AI Packs", "request": { "method": "GET", "url": "{{baseUrl}}/api/ai-packs/owned" } },
    { "name": "Public Agent AVCP report", "request": { "method": "GET", "url": "{{baseUrl}}/api/ai-packs/{{packId}}/report" } },
    { "name": "Quote agent run", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n  \"productId\": \"{{packId}}\",\n  \"model\": \"{{model}}\",\n  \"fundingMode\": \"points\",\n  \"enabledSkills\": [\"web_search\"],\n  \"growthVersion\": 0,\n  \"maxInputTokens\": 8000,\n  \"maxOutputTokens\": 2000\n}" }, "url": "{{baseUrl}}/api/ai-packs/runs/quote" } },
    { "name": "Run AI Pack with Points", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n  \"model\": \"{{model}}\",\n  \"fundingMode\": \"points\",\n  \"enabledSkills\": [\"web_search\"],\n  \"growthVersion\": 0,\n  \"prompt\": \"Create a cited plan using the pack's declared capabilities.\"\n}" }, "url": "{{baseUrl}}/api/ai-packs/{{packId}}/runs" } },
    { "name": "Run AI Pack with ephemeral files", "request": { "method": "POST", "body": { "mode": "formdata", "formdata": [{ "key": "model", "value": "{{model}}", "type": "text" }, { "key": "fundingMode", "value": "points", "type": "text" }, { "key": "enabledSkills", "value": "[\"web_search\"]", "type": "text" }, { "key": "growthVersion", "value": "{{growthVersion}}", "type": "text" }, { "key": "prompt", "value": "Compare the attached evidence with current cited sources.", "type": "text" }, { "key": "attachments", "type": "file", "src": [] }] }, "url": "{{baseUrl}}/api/ai-packs/{{packId}}/runs-with-files", "description": "Choose only an explicit TXT, Markdown, CSV, TSV, JSON, YAML, XML, PDF, or DOCX file. Raw content is request-memory-only." } },
    { "name": "Accept AI Pack terms", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n  \"surface\": \"api\"\n}" }, "url": "{{baseUrl}}/api/ai-packs/terms/accept" } },
    { "name": "Acquire free AI Pack", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{}" }, "url": "{{baseUrl}}/api/ai-packs/{{packId}}/acquire-free" } },
    { "name": "Run AI Pack with BYOK", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }, { "key": "x-tetrees-provider-key", "value": "", "description": "Paste only for this request; never save a real key in a shared collection." }], "body": { "mode": "raw", "raw": "{\n  \"model\": \"{{model}}\",\n  \"fundingMode\": \"byok\",\n  \"growthVersion\": {{growthVersion}},\n  \"prompt\": \"Create a plan using the pack's declared capabilities.\"\n}" }, "url": "{{baseUrl}}/api/ai-packs/{{packId}}/runs" } },
    { "name": "List AI Pack growth and checkpoints", "request": { "method": "GET", "url": "{{baseUrl}}/api/ai-packs/{{packId}}/growth" } },
    { "name": "Stage growth proposal from run", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n  \"proposalIndex\": 0\n}" }, "url": "{{baseUrl}}/api/ai-packs/runs/{{runId}}/growth", "description": "Stores one still-inactive proposal from an owned successful run." } },
    { "name": "Accept and gate growth checkpoint", "request": { "method": "POST", "header": [{ "key": "x-tetrees-growth-normalization", "value": "portable", "description": "Provider-free normalization for a portable memory proposal." }], "url": "{{baseUrl}}/api/ai-packs/{{packId}}/growth/{{growthSequence}}/accept", "description": "Single-claim owner approval. Executable capability changes require a higher immutable Pack version and fresh Agent AVCP." } },
    { "name": "Select default growth checkpoint", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n  \"sequence\": {{growthVersion}}\n}" }, "url": "{{baseUrl}}/api/ai-packs/{{packId}}/growth/select", "description": "Use 0 for the signed base Pack or an accepted sequence from the list response. This never deletes later checkpoints." } },
    { "name": "Download owned AI Pack", "request": { "method": "GET", "url": "{{baseUrl}}/api/install/products/{{packId}}/download" }, "description": "Returns a short-lived entitlement-gated URL and versioned .taip filename." },
    { "name": "Create AI Pack draft", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n  \"assetKind\": \"agent_pack\",\n  \"name\": \"My Tetrees AI Pack\",\n  \"shortDescription\": \"A bounded agent Pack with reviewed owner growth.\",\n  \"businessUseCase\": \"Research decisions need auditable evidence, uncertainty, and next actions.\",\n  \"primaryCategory\": \"developer-tools-sdks\",\n  \"productType\": \"agent_pack\",\n  \"priceUsd\": 0,\n  \"stack\": {\"runtime\": [\"Tetrees Agent\"], \"memory\": [\"Tetrees Memory\"]},\n  \"agentSummary\": {\n    \"capabilities\": [\"research\"],\n    \"models\": [\"openai:gpt-5.4-mini\"],\n    \"format\": \"taip/1\",\n    \"listing\": {\n      \"problem\": \"Research decisions become unreliable when evidence and assumptions are mixed.\",\n      \"targetUsers\": [\"Product researchers\"],\n      \"inputs\": [\"Research question and evidence\"],\n      \"workflow\": [\"Separate evidence from assumptions\", \"Draft a constraint-linked decision memo\"],\n      \"outputs\": [\"Evidence map and decision memo\"],\n      \"exampleUses\": [\n        {\"title\": \"Compare vendors\", \"scenario\": \"A team must compare vendors with incomplete evidence.\", \"exampleRequest\": \"Compare these vendors against our constraints.\", \"expectedOutcome\": \"A traceable comparison with uncertainty and next actions.\"},\n        {\"title\": \"Draft a decision memo\", \"scenario\": \"An owner wants mixed notes converted into a decision artifact.\", \"exampleRequest\": \"Turn these notes into an evidence-led decision memo.\", \"expectedOutcome\": \"A concise memo with risks, confidence, and a reversible action.\"}\n      ],\n      \"successCriteria\": [\"Conclusions label evidence and uncertainty\"],\n      \"limitations\": [\"Cannot verify sources that were not supplied\"]\n    }\n  }\n}" }, "url": "{{baseUrl}}/api/seller/products" } },
    { "name": "Update AI Pack draft", "request": { "method": "PATCH", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n  \"shortDescription\": \"Updated public description for the immutable Pack lifecycle.\"\n}" }, "url": "{{baseUrl}}/api/seller/products/{{packId}}" } },
    { "name": "Mint private Pack upload", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n  \"version\": \"1.0.0\",\n  \"contentType\": \"application/zip\"\n}" }, "url": "{{baseUrl}}/api/seller/products/{{packId}}/versions/upload-url" } },
    { "name": "Commit uploaded Pack", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n  \"version\": \"1.0.0\",\n  \"s3Key\": \"<key returned by the private upload contract>\",\n  \"changelog\": \"Initial immutable TAIP/1 release\"\n}" }, "url": "{{baseUrl}}/api/seller/products/{{packId}}/versions" } },
    { "name": "Pack readiness", "request": { "method": "GET", "url": "{{baseUrl}}/api/seller/products/{{packId}}/submission-readiness" } },
    { "name": "Submit for Agent AVCP", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{}" }, "url": "{{baseUrl}}/api/seller/products/{{packId}}/submit" } },
    { "name": "Quote Agent AVCP", "request": { "method": "GET", "url": "{{baseUrl}}/api/seller/products/{{packId}}/prep-quote" } },
    { "name": "Run Agent AVCP", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n  \"tier\": \"verified_listing\",\n  \"expectedPoints\": 0,\n  \"expectedVersion\": \"1.0.0\",\n  \"confirmation\": \"RUN_SELLER_PREP\"\n}" }, "url": "{{baseUrl}}/api/seller/products/{{packId}}/prep", "description": "Replace expectedPoints with the exact value returned by Quote Agent AVCP." } },
    { "name": "Private Agent AVCP report", "request": { "method": "GET", "url": "{{baseUrl}}/api/seller/products/{{packId}}/report" } },
    { "name": "Publish passing Pack", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{}" }, "url": "{{baseUrl}}/api/seller/products/{{packId}}/publish" } }
  ]
}
