{
 "schema": "aiblocks-page/1",
 "id": "agency-engineering-api-platform-engineer",
 "type": "agent",
 "name": "API platform engineer agent",
 "summary": "Get a plan for a public or partner API with contract rules, a breaking-change list, a versioning policy, rate limits and an SDK plan.",
 "headline": "API platform engineer agent",
 "subhead": "Describe the API that outside developers will use, or paste your spec. It drafts the rules, flags changes that break existing users, and plans versions, limits, errors and SDKs. You get a written plan.",
 "job": {
  "id": "build-software",
  "name": "Build and ship software"
 },
 "level": "intermediate",
 "thinking": "high",
 "tested": true,
 "updated": "2026-10-28",
 "first_published": "2026-10-26",
 "inputs": [
  {
   "type": "question",
   "required": true,
   "label": "Question",
   "what": "the problem, decision or piece of work you want help with, and what a good outcome looks like"
  },
  {
   "type": "codebase",
   "required": false,
   "label": "Codebase",
   "what": "a project's code, in a folder or repo the AI can open"
  },
  {
   "type": "api_spec",
   "required": false,
   "label": "Api spec",
   "what": "an API's spec, such as an OpenAPI file: the endpoints, data shapes, sign-in method and errors"
  }
 ],
 "outputs": [
  {
   "type": "plan",
   "required": true,
   "label": "Plan",
   "what": "a dated plan: what to do, in what order, with a decision rule for each step"
  },
  {
   "type": "audit_report",
   "required": true,
   "label": "Audit report",
   "what": "findings with evidence, severity, missing inputs and next actions"
  },
  {
   "type": "api_spec",
   "required": true,
   "label": "Api spec",
   "what": "an API's spec, such as an OpenAPI file: the endpoints, data shapes, sign-in method and errors"
  }
 ],
 "you_give": [
  "What the API does, who will call it and whether it is public, partner or internal.",
  "Your current spec or a list of endpoints, if you have one (optional).",
  "The changes you are considering, such as a rename, a new field or a removal (optional).",
  "How many outside developers use it and how they integrate, if known (optional).",
  "The languages your developers use, so the SDK plan targets them.",
  "Your sign-in method and any limits you already enforce."
 ],
 "you_get": [
  "A resource list and one set of rules for naming, dates, IDs, paging and errors.",
  "A draft contract outline, or a review of yours with inconsistencies marked.",
  "A safe and breaking list for every change you gave it.",
  "A versioning and deprecation plan with steps, signals and a sunset rule.",
  "A rate limit and quota design, with the headers to send and the 429 response.",
  "An SDK, docs and quickstart plan, with checks to run on every spec change."
 ],
 "use_when": [
  "You are about to open an API to partners or customers and want the contract right before the first user.",
  "Your team wants to rename a field and needs to know if it breaks anyone.",
  "You need a policy for versions, deprecation and sunset dates that you can publish.",
  "Partners complain about vague errors, surprise limits or inconsistent field names."
 ],
 "skip_when": [
  "You are designing a simple REST API for your own app only. Use the REST API designer.",
  "You have code and only need an OpenAPI file written from it. Use the API spec writer.",
  "You want one planned change checked before you ship it. Use the Breaking change reviewer.",
  "You need the database and services behind the API. Use the Backend Architect agent.",
  "You need live debugging of a failing API or production changes. Ask an engineer with access to your systems."
 ],
 "output_sample": {
  "input": [
   "What the API does, who calls it and whether it is public, partner or internal",
   "Your current spec or endpoint list (optional)",
   "The changes you are considering (optional)",
   "The languages your developers use"
  ],
  "prerequisites": [
   "An AI you can paste a long spec into, such as Claude, ChatGPT or Gemini",
   "An OpenAPI validator and a spec-diff tool, which your engineer runs, because the agent only reads and writes text"
  ],
  "output": [
   {
    "name": "Resources and conventions",
    "contains": "Each resource and the single set of rules for names, dates, IDs, paging and errors."
   },
   {
    "name": "Contract draft or review",
    "contains": "An endpoint outline, or your spec with each inconsistency marked."
   },
   {
    "name": "Compatibility list",
    "contains": "Each proposed change marked safe or breaking, with the reason and next step."
   },
   {
    "name": "Versioning and deprecation plan",
    "contains": "The version rule and the steps from announcement to sunset, with signals and a usage watch."
   },
   {
    "name": "Gateway rules",
    "contains": "Sign-in, rate limits, quotas, the headers to send and the reply when a limit is hit."
   },
   {
    "name": "SDK, docs and quickstart",
    "contains": "How SDKs and docs are made from the spec, and the path to a first successful call."
   },
   {
    "name": "Checks for CI",
    "contains": "Automatic checks that block breaking changes without a new version."
   }
  ]
 },
 "output_shape": "RESOURCES AND CONVENTIONS\n  <resource> | <relations> | <naming, date, ID, paging and error rules>\n\nCONTRACT DRAFT OR REVIEW\n  <endpoint> | <method> | <request> | <response> | <issue found, if reviewing>\n\nCOMPATIBILITY LIST\n  <change> | <safe or breaking> | <why> | <what to do>\n\nVERSIONING AND DEPRECATION PLAN\n  <version rule> | <announce, signal, runway, monitor, sunset steps with dates marked ASSUMED if unknown>\n\nGATEWAY RULES\n  <sign-in> | <rate limits and quotas> | <headers> | <error reply>\n\nSDK, DOCS AND QUICKSTART\n  <language> | <how it is made from the spec> | <first-call path>\n\nCHECKS FOR CI\n  <check> | <what it blocks>\n\nOPEN QUESTIONS AND CHECKS STILL NEEDED\n  <item> | <how to settle it>",
 "how_to_use": [
  "Download the pack from this page and add it to your AI as a skill. Or paste SKILL.md into a new chat, then paste references/source-agent.md after it.",
  "Paste your spec or endpoint list. If you have none, describe the resources the API handles and who calls it.",
  "Add the changes you are weighing. Say \"Review these changes for breaking impact\" or \"Draft the contract rules.\"",
  "Your AI asks once for anything missing. Unknowns such as user counts stay marked as unknown.",
  "Read the breaking-change list first. Any change marked breaking needs the version plan before it ships.",
  "Have an engineer check the draft with an OpenAPI validator and a spec-diff tool. The agent does not run them."
 ],
 "checks": [
  "The result addresses your actual task and cites the evidence used.",
  "Examples, role-play experience and targets are kept separate from verified results.",
  "Claims of tests, memory, tool access or completed actions match what actually happened."
 ],
 "next": [
  {
   "name": "OpenAPI app builder",
   "url": "https://useaiblocks.com/skills/build-an-app-from-an-openapi-spec",
   "why": "Build it"
  },
  {
   "name": "API design reviewer",
   "url": "https://useaiblocks.com/skills/api-design-reviewer",
   "why": "API design reviewer"
  },
  {
   "name": "Postman collection maker",
   "url": "https://useaiblocks.com/skills/postman-collection-maker",
   "why": "Build it"
  },
  {
   "name": "Command-line tool builder",
   "url": "https://useaiblocks.com/skills/command-line-tool-builder",
   "why": "Build it"
  },
  {
   "name": "API test planner",
   "url": "https://useaiblocks.com/skills/agency-testing-api-tester",
   "why": "API test planner"
  }
 ],
 "source": {
  "by": "Michael Sitarzewski and Agency Agents contributors",
  "repo": "msitarzewski/agency-agents",
  "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/engineering/engineering-api-platform-engineer.md",
  "licence": "MIT",
  "original_name": "API Platform Engineer",
  "commit": "b37b5bb33b78f2c1d6567d98e25ca818e3259219"
 },
 "credits": [
  {
   "title": "API Platform Engineer",
   "by": "Michael Sitarzewski and Agency Agents contributors",
   "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/engineering/engineering-api-platform-engineer.md",
   "used": "Original agent profile, preserved in references/source-agent.md; AI Blocks adds setup and review instructions."
  }
 ],
 "files": [
  "LICENSE",
  "references/source-agent.md",
  "SETUP.md",
  "source.json"
 ],
 "links": {
  "page": "https://useaiblocks.com/agents/agency-engineering-api-platform-engineer",
  "markdown": "https://useaiblocks.com/agents/agency-engineering-api-platform-engineer.md",
  "json": "https://useaiblocks.com/agents/agency-engineering-api-platform-engineer.json",
  "instructions": "https://useaiblocks.com/skills/agency-engineering-api-platform-engineer/SKILL.md",
  "download": "https://useaiblocks.com/skills/agency-engineering-api-platform-engineer.zip",
  "api_item": "https://useaiblocks.com/api/v1/items/agency-engineering-api-platform-engineer",
  "api_document": "https://useaiblocks.com/api/v1/documents/agent/agency-engineering-api-platform-engineer",
  "mcp": "https://useaiblocks.com/mcp"
 }
}
