{
  "uid": "cogitave.learn.api-design",
  "kind": "module",
  "href": "/modules/api-design/",
  "title": "Design and version a Cogitave API",
  "summary": "Shape a clean, consistent API against the Cogitave API design standard - resources, standard methods, typed errors, cursor pagination, idempotency - then version and deprecate it under the versioning policy so no consumer is ever broken without consent.",
  "type": null,
  "products": [
    "cogitave-core"
  ],
  "roles": [
    "developer"
  ],
  "levels": [
    "intermediate"
  ],
  "subjects": [
    "software-engineering"
  ],
  "headings": [],
  "source": "By the end of this module, you'll be able to:\n- Design a resource-oriented, contract-first API that meets the same shape across HTTP, gRPC, GraphQL, and MCP, using the conventions the API design standard fixes.\n- Apply the estate-wide MUST invariants - the RFC 9457 error model, the `code` taxonomy, cursor pagination bounds, and idempotency on creating writes - and know when a default needs a recorded deviation.\n- Pick the right versioning scheme per surface and evolve a contract additively without breaking a live consumer.\n- Walk a contract through the deprecation lifecycle - deprecated, sunset, retired - keeping the API, docs, and changelog in lockstep from one deprecation manifest.\n",
  "units": [
    "cogitave.learn.api-design.introduction",
    "cogitave.learn.api-design.design-a-clean-api",
    "cogitave.learn.api-design.version-and-deprecate",
    "cogitave.learn.api-design.knowledge-check",
    "cogitave.learn.api-design.summary"
  ],
  "durationInMinutes": 28,
  "badge": "cogitave.learn.api-design.badge",
  "partOf": "cogitave.learn.paths.engineering-standards"
}