{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-learn/ai-for-docs/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"redocly_category":"Learn","type":"markdown"},"seo":{"title":"Use AI to build a searchable API catalog for your team","description":"Enrich API metadata with AI at scale and publish a searchable Reef catalog your developers can browse or query in natural language.","siteUrl":"https://redocly.com","image":"/assets/redocly-card.f670aae34a39545a5ea633a540cb3a4a333a1f23bb2ed3c4a1b17a5fbcf0ac85.db81178d.png","lang":"en-US","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"use-ai-to-build-a-searchable-api-catalog-for-your-team","__idx":0},"children":["Use AI to build a searchable API catalog for your team"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A spreadsheet of service names is not a catalog. Developers need descriptions, owners, tags, and stable links they can search. You can use AI to enrich metadata across many OpenAPI files, then publish the result in Reef so the catalog stays current as specs change. That workflow extends the AI plus validation pattern in ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://redocly.com/learn/ai-for-docs/ai-modern-api-docs"},"children":["How AI fits into modern API documentation"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"lists-versus-catalogs","__idx":1},"children":["Lists versus catalogs"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A list answers what is deployed. A catalog answers what it does, who owns it, and how to call it safely. Search fails when titles are opaque (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["internal-svc-7"]},") or when the same product has three names across repos. Metadata is the difference between findability and guesswork."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Think of search as matching intent to records. Intent might be I need to refund a subscription or Which API owns webhooks. Without summaries and tags, search falls back to filename guessing. A catalog row should read like a helpful librarian card, not like an infrastructure ticket title."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"metadata-ai-can-enrich-safely","__idx":2},"children":["Metadata AI can enrich safely"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Models are strong at drafting short descriptions from paths and schemas, proposing tags from domain language, and normalizing display names when you supply a style note. They are weak at inventing owners or SLAs. Paste real ownership from your service registry when you have it, and ask the model only to format or shorten."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Fields worth enriching in bulk:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Human-readable summary (one to two sentences)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Domain tags (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payments"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["identity"]},")"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Lifecycle stage (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["experimental"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["stable"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["deprecated"]},")"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Links to primary OpenAPI file and runbooks"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Add a contact or team channel when your service catalog already stores it. Search results that end in a dead end teach developers to ignore the catalog."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"prompt-skeleton-for-bulk-enrichment","__idx":3},"children":["Prompt skeleton for bulk enrichment"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"markdown","header":{"controls":{"copy":{}}},"source":"You are enriching API catalog metadata for internal developers.\n\nRules:\n- Do not invent owners or on-call handles; leave blank if missing.\n- Use sentence case for titles.\n- Keep summaries under 40 words.\n\nFor each API row below, return JSON with: title, summary, tags, lifecycle.\n\n[paste table of api_id, path_prefix, openapi_excerpt, owner_if_known]\n","lang":"markdown"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Review JSON in a pull request like any other generated content."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"before-and-after-on-catalog-fields","__idx":4},"children":["Before and after on catalog fields"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Before:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"title: orders-svc\ndescription: \"\"\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"title: Orders API\ndescription: Create and track customer orders for the retail storefront.\ntags: [orders, commerce]\nlifecycle: stable\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The after block still needs a human to confirm accuracy against the live service."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"ingest-enrich-and-publish","__idx":5},"children":["Ingest, enrich, and publish"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Collect specs with ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://redocly.com/docs/realm/scout"},"children":["Scout documentation"]}," and ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://redocly.com/docs/realm/scout/what-is-scout"},"children":["What is Scout?"]}," so enrichment starts from files in git, not from stale exports. Configure how APIs appear in the portal using ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://redocly.com/docs/realm/config/catalog-classic"},"children":["API catalog configuration"]},". Tune findability with ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://redocly.com/docs/realm/config/search"},"children":["Search configuration"]}," once metadata lands."]},{"$$mdtype":"Tag","name":"Diagram","attributes":{"data-language":"mermaid","diagramType":"mermaid","diagramSource":"graph LR\n  A[OpenAPI in repos] --> B[Scout collect]\n  B --> C[AI metadata pass]\n  C --> D[Human review]\n  D --> E[Reef catalog publish]\n","diagramHtml":"<svg id=\"diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 1125.109375px;\" viewBox=\"0 0 1125.109375 70\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4{font-family:\"Redocly Mermaid Sans\",sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .error-icon{fill:#552222;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .error-text{fill:#552222;stroke:#552222;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .edge-thickness-normal{stroke-width:1px;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .edge-thickness-thick{stroke-width:3.5px;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .edge-pattern-solid{stroke-dasharray:0;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .marker{fill:#333333;stroke:#333333;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .marker.cross{stroke:#333333;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 svg{font-family:\"Redocly Mermaid Sans\",sans-serif;font-size:16px;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 p{margin:0;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .label{font-family:\"Redocly Mermaid Sans\",sans-serif;color:#333;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .cluster-label text{fill:#333;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .cluster-label span{color:#333;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .cluster-label span p{background-color:transparent;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .label text,#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 span{fill:#333;color:#333;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .node rect,#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .node circle,#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .node ellipse,#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .node polygon,#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .rough-node .label text,#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .node .label text,#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .image-shape .label,#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .icon-shape .label{text-anchor:middle;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .rough-node .label,#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .node .label,#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .image-shape .label,#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .icon-shape .label{text-align:center;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .node.clickable{cursor:pointer;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .arrowheadPath{fill:#333333;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .edgePath .path{stroke:#333333;stroke-width:1px;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .flowchart-link{stroke:#333333;fill:none;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .cluster text{fill:#333;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .cluster span{color:#333;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 rect.text{fill:none;stroke-width:0;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .icon-shape,#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .icon-shape p,#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .icon-shape .label rect,#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 .node .neo-node{stroke:#9370DB;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 [data-look=\"neo\"].node rect,#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 [data-look=\"neo\"].cluster rect,#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 [data-look=\"neo\"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 [data-look=\"neo\"].node path{stroke:#9370DB;stroke-width:1px;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 [data-look=\"neo\"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 [data-look=\"neo\"].node .neo-line path{stroke:#9370DB;filter:none;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 [data-look=\"neo\"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 [data-look=\"neo\"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",sans-serif;}#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",sans-serif;}</style><g><marker id=\"diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\"><path d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\"><polygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></polygon></marker><marker id=\"diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\"></path></marker><marker id=\"diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1, 0;\"></path></marker><g class=\"root\"><g class=\"clusters\"></g><g class=\"edgePaths\"><path d=\"M197.75,35L201.917,35C206.083,35,214.417,35,222.083,35C229.75,35,236.75,35,240.25,35L243.75,35\" id=\"diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4-L_A_B_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_A_B_0\" data-points=\"W3sieCI6MTk3Ljc1LCJ5IjozNX0seyJ4IjoyMjIuNzUsInkiOjM1fSx7IngiOjI0Ny43NSwieSI6MzV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4_flowchart-v2-pointEnd)\"></path><path d=\"M401.063,35L405.229,35C409.396,35,417.729,35,425.396,35C433.063,35,440.063,35,443.563,35L447.063,35\" id=\"diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4-L_B_C_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_B_C_0\" data-points=\"W3sieCI6NDAxLjA2MjUsInkiOjM1fSx7IngiOjQyNi4wNjI1LCJ5IjozNX0seyJ4Ijo0NTEuMDYyNSwieSI6MzV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4_flowchart-v2-pointEnd)\"></path><path d=\"M639.594,35L643.76,35C647.927,35,656.26,35,663.927,35C671.594,35,678.594,35,682.094,35L685.594,35\" id=\"diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4-L_C_D_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_C_D_0\" data-points=\"W3sieCI6NjM5LjU5Mzc1LCJ5IjozNX0seyJ4Ijo2NjQuNTkzNzUsInkiOjM1fSx7IngiOjY4OS41OTM3NSwieSI6MzV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4_flowchart-v2-pointEnd)\"></path><path d=\"M857.016,35L861.182,35C865.349,35,873.682,35,881.349,35C889.016,35,896.016,35,899.516,35L903.016,35\" id=\"diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4-L_D_E_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_D_E_0\" data-points=\"W3sieCI6ODU3LjAxNTYyNSwieSI6MzV9LHsieCI6ODgyLjAxNTYyNSwieSI6MzV9LHsieCI6OTA3LjAxNTYyNSwieSI6MzV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_A_B_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_B_C_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_C_D_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_D_E_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4-flowchart-A-0\" data-look=\"classic\" transform=\"translate(102.875, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-94.875\" y=\"-27\" width=\"189.75\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-64.875, -12)\"><rect></rect><foreignObject width=\"129.75\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>OpenAPI in repos</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4-flowchart-B-1\" data-look=\"classic\" transform=\"translate(324.40625, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-76.65625\" y=\"-27\" width=\"153.3125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-46.65625, -12)\"><rect></rect><foreignObject width=\"93.3125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Scout collect</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4-flowchart-C-3\" data-look=\"classic\" transform=\"translate(545.328125, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-94.265625\" y=\"-27\" width=\"188.53125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-64.265625, -12)\"><rect></rect><foreignObject width=\"128.53125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>AI metadata pass</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4-flowchart-D-5\" data-look=\"classic\" transform=\"translate(773.3046875, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-83.7109375\" y=\"-27\" width=\"167.421875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-53.7109375, -12)\"><rect></rect><foreignObject width=\"107.421875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Human review</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4-flowchart-E-7\" data-look=\"classic\" transform=\"translate(1012.0625, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-105.046875\" y=\"-27\" width=\"210.09375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-75.046875, -12)\"><rect></rect><foreignObject width=\"150.09375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Reef catalog publish</p></span></div></foreignObject></g></g></g></g></g><defs><filter id=\"diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4-drop-shadow\" height=\"130%\" width=\"130%\"><feDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\"></feDropShadow></filter></defs><defs><filter id=\"diagram-e2459f5822920e63a08211ca9cab6db2317d85e32346889474281cb1c109b3a4-drop-shadow-small\" height=\"150%\" width=\"150%\"><feDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\"></feDropShadow></filter></defs></svg>","diagramHtmlDark":"<svg id=\"diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 1125.109375px;\" viewBox=\"0 0 1125.109375 70\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c{font-family:\"Redocly Mermaid Sans\",sans-serif;font-size:16px;fill:#ccc;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .error-icon{fill:#a44141;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .error-text{fill:#ddd;stroke:#ddd;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .edge-thickness-normal{stroke-width:1px;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .edge-thickness-thick{stroke-width:3.5px;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .edge-pattern-solid{stroke-dasharray:0;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .edge-pattern-dashed{stroke-dasharray:3;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .edge-pattern-dotted{stroke-dasharray:2;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .marker{fill:lightgrey;stroke:lightgrey;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .marker.cross{stroke:lightgrey;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c svg{font-family:\"Redocly Mermaid Sans\",sans-serif;font-size:16px;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c p{margin:0;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .label{font-family:\"Redocly Mermaid Sans\",sans-serif;color:#ccc;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .cluster-label text{fill:#F9FFFE;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .cluster-label span{color:#F9FFFE;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .cluster-label span p{background-color:transparent;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .label text,#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c span{fill:#ccc;color:#ccc;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .node rect,#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .node circle,#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .node ellipse,#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .node polygon,#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .rough-node .label text,#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .node .label text,#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .image-shape .label,#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .icon-shape .label{text-anchor:middle;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .rough-node .label,#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .node .label,#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .image-shape .label,#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .icon-shape .label{text-align:center;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .node.clickable{cursor:pointer;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .root .anchor path{fill:lightgrey!important;stroke-width:0;stroke:lightgrey;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .arrowheadPath{fill:lightgrey;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .edgePath .path{stroke:lightgrey;stroke-width:1px;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .flowchart-link{stroke:lightgrey;fill:none;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .edgeLabel p{background-color:hsl(0, 0%, 34.4117647059%);}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .cluster text{fill:#F9FFFE;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .cluster span{color:#F9FFFE;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c rect.text{fill:none;stroke-width:0;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .icon-shape,#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .image-shape{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .icon-shape p,#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .image-shape p{background-color:hsl(0, 0%, 34.4117647059%);padding:2px;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .icon-shape .label rect,#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .image-shape .label rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c .node .neo-node{stroke:#ccc;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c [data-look=\"neo\"].node rect,#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c [data-look=\"neo\"].cluster rect,#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c [data-look=\"neo\"].node polygon{stroke:url(#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c [data-look=\"neo\"].node path{stroke:url(#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c-gradient);stroke-width:1px;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c [data-look=\"neo\"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c [data-look=\"neo\"].node .neo-line path{stroke:#ccc;filter:none;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c [data-look=\"neo\"].node circle{stroke:url(#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c [data-look=\"neo\"].icon-shape .icon{fill:url(#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c [data-look=\"neo\"].icon-shape .icon-neo path{stroke:url(#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c :root{--mermaid-font-family:\"Redocly Mermaid Sans\",sans-serif;}#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c :root{--mermaid-font-family:\"Redocly Mermaid Sans\",sans-serif;}</style><g><marker id=\"diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\"><path d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\"><polygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></polygon></marker><marker id=\"diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\"></path></marker><marker id=\"diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1, 0;\"></path></marker><g class=\"root\"><g class=\"clusters\"></g><g class=\"edgePaths\"><path d=\"M197.75,35L201.917,35C206.083,35,214.417,35,222.083,35C229.75,35,236.75,35,240.25,35L243.75,35\" id=\"diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c-L_A_B_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_A_B_0\" data-points=\"W3sieCI6MTk3Ljc1LCJ5IjozNX0seyJ4IjoyMjIuNzUsInkiOjM1fSx7IngiOjI0Ny43NSwieSI6MzV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c_flowchart-v2-pointEnd)\"></path><path d=\"M401.063,35L405.229,35C409.396,35,417.729,35,425.396,35C433.063,35,440.063,35,443.563,35L447.063,35\" id=\"diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c-L_B_C_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_B_C_0\" data-points=\"W3sieCI6NDAxLjA2MjUsInkiOjM1fSx7IngiOjQyNi4wNjI1LCJ5IjozNX0seyJ4Ijo0NTEuMDYyNSwieSI6MzV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c_flowchart-v2-pointEnd)\"></path><path d=\"M639.594,35L643.76,35C647.927,35,656.26,35,663.927,35C671.594,35,678.594,35,682.094,35L685.594,35\" id=\"diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c-L_C_D_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_C_D_0\" data-points=\"W3sieCI6NjM5LjU5Mzc1LCJ5IjozNX0seyJ4Ijo2NjQuNTkzNzUsInkiOjM1fSx7IngiOjY4OS41OTM3NSwieSI6MzV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c_flowchart-v2-pointEnd)\"></path><path d=\"M857.016,35L861.182,35C865.349,35,873.682,35,881.349,35C889.016,35,896.016,35,899.516,35L903.016,35\" id=\"diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c-L_D_E_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_D_E_0\" data-points=\"W3sieCI6ODU3LjAxNTYyNSwieSI6MzV9LHsieCI6ODgyLjAxNTYyNSwieSI6MzV9LHsieCI6OTA3LjAxNTYyNSwieSI6MzV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_A_B_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_B_C_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_C_D_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_D_E_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c-flowchart-A-0\" data-look=\"classic\" transform=\"translate(102.875, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-94.875\" y=\"-27\" width=\"189.75\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-64.875, -12)\"><rect></rect><foreignObject width=\"129.75\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>OpenAPI in repos</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c-flowchart-B-1\" data-look=\"classic\" transform=\"translate(324.40625, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-76.65625\" y=\"-27\" width=\"153.3125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-46.65625, -12)\"><rect></rect><foreignObject width=\"93.3125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Scout collect</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c-flowchart-C-3\" data-look=\"classic\" transform=\"translate(545.328125, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-94.265625\" y=\"-27\" width=\"188.53125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-64.265625, -12)\"><rect></rect><foreignObject width=\"128.53125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>AI metadata pass</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c-flowchart-D-5\" data-look=\"classic\" transform=\"translate(773.3046875, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-83.7109375\" y=\"-27\" width=\"167.421875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-53.7109375, -12)\"><rect></rect><foreignObject width=\"107.421875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Human review</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c-flowchart-E-7\" data-look=\"classic\" transform=\"translate(1012.0625, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-105.046875\" y=\"-27\" width=\"210.09375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-75.046875, -12)\"><rect></rect><foreignObject width=\"150.09375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Reef catalog publish</p></span></div></foreignObject></g></g></g></g></g><defs><filter id=\"diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c-drop-shadow\" height=\"130%\" width=\"130%\"><feDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#FFFFFF\"></feDropShadow></filter></defs><defs><filter id=\"diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c-drop-shadow-small\" height=\"150%\" width=\"150%\"><feDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#FFFFFF\"></feDropShadow></filter></defs><linearGradient id=\"diagram-e1d8bba80e0bf004a04aa687a526754e68af0665d474196e9d79959f9477fd7c-gradient\" gradientUnits=\"objectBoundingBox\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" stop-color=\"#cccccc\" stop-opacity=\"1\"></stop><stop offset=\"100%\" stop-color=\"hsl(180, 0%, 18.3529411765%)\" stop-opacity=\"1\"></stop></linearGradient></svg>"},"children":["graph LR\n  A[OpenAPI in repos] --> B[Scout collect]\n  B --> C[AI metadata pass]\n  C --> D[Human review]\n  D --> E[Reef catalog publish]\n"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Re-run enrichment when major paths change, not on every typo fix."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"search-and-natural-language-questions","__idx":6},"children":["Search and natural-language questions"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Structured search uses tags and titles. Natural-language questions work better when summaries mention tasks (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["refund a subscription"]},") not only resource names. The ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://redocly.com/blog/api-catalogs-agentic-software"},"children":["API catalogs for agentic software"]}," post describes why rich metadata helps both people and agents choose the right API on the first try."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You do not need a custom chatbot on day one. Start with faceted search by tag and owner, then add assistant features when metadata quality is stable. If answers cite the wrong API, fix the catalog row before tuning the model. Garbage in still produces confident wrong answers."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"questions-to-test-after-publish","__idx":7},"children":["Questions to test after publish"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ask five colleagues to find an API without Slack help:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["How do I create a webhook for billing events?"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Which API owns user invitations?"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Where is the sandbox base URL documented?"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["What is deprecated in payments this quarter?"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Who owns the identity service on call?"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Misses become metadata tickets, not one-off doc edits buried in a random repo."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"checklist-before-you-turn-on-broad-search","__idx":8},"children":["Checklist before you turn on broad search"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Every catalog entry links to a canonical OpenAPI file"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Deprecated APIs are labeled and point to replacements"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Owners or team channels are present for stable APIs"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Sensitive internal-only APIs are flagged in metadata"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"best-practices","__idx":9},"children":["Best practices"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Batch enrich by domain so reviewers stay in context."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Keep a banned-phrase list (internal codenames) in the prompt."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Diff enriched YAML in CI so drift is visible."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Pair catalog updates with Scout collection schedules."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Assign a metadata owner per domain who approves AI suggestions weekly."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Store enrichment prompts in git next to the glossary so changes are reviewable."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When an API ships, block merge unless catalog metadata updates in the same pull request as the OpenAPI change."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"limits-of-generated-metadata","__idx":10},"children":["Limits of generated metadata"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Generated text can misstate behavior if the spec is thin. Models may over-tag APIs when prompts are vague. Search quality still depends on engineers maintaining specs after enrichment."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If your organization also runs API design reviews, feed catalog gaps back into those reviews. A missing description in the catalog often means the OpenAPI ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["summary"]}," was empty when the service shipped. Fixing upstream specs keeps AI enrichment from repeating the same blank template every quarter."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"summary","__idx":11},"children":["Summary"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Treat catalog metadata as a product: collect specs, enrich with grounded AI, review in git, and publish in Reef with search tuned for how your developers ask questions. Revisit catalog quality when teams complain they cannot find an API, not only when Scout adds new repositories."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"learn-more","__idx":12},"children":["Learn more"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://redocly.com/reef"},"children":["Reef"]}," hosts the searchable catalog and Scout collection so enriched metadata stays tied to the repositories your teams already maintain."]}]},"headings":[{"value":"Use AI to build a searchable API catalog for your team","id":"use-ai-to-build-a-searchable-api-catalog-for-your-team","depth":1},{"value":"Lists versus catalogs","id":"lists-versus-catalogs","depth":2},{"value":"Metadata AI can enrich safely","id":"metadata-ai-can-enrich-safely","depth":2},{"value":"Prompt skeleton for bulk enrichment","id":"prompt-skeleton-for-bulk-enrichment","depth":2},{"value":"Before and after on catalog fields","id":"before-and-after-on-catalog-fields","depth":2},{"value":"Ingest, enrich, and publish","id":"ingest-enrich-and-publish","depth":2},{"value":"Search and natural-language questions","id":"search-and-natural-language-questions","depth":2},{"value":"Questions to test after publish","id":"questions-to-test-after-publish","depth":3},{"value":"Checklist before you turn on broad search","id":"checklist-before-you-turn-on-broad-search","depth":3},{"value":"Best practices","id":"best-practices","depth":2},{"value":"Limits of generated metadata","id":"limits-of-generated-metadata","depth":2},{"value":"Summary","id":"summary","depth":2},{"value":"Learn more","id":"learn-more","depth":2}],"frontmatter":{"seo":{"title":"Use AI to build a searchable API catalog for your team","description":"Enrich API metadata with AI at scale and publish a searchable Reef catalog your developers can browse or query in natural language."}},"lastModified":"2026-05-22T12:10:40.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/learn/ai-for-docs/ai-build-searchable-api-catalog","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}