{"openapi":"3.1.0","info":{"title":"OGC Building Blocks Meta-Registry Viewer API","version":"0.1.0","x-mcp":{"url":"/mcp","wellKnown":"/.well-known/mcp.json","transport":"streamable-http","description":"Search and browse the OGC Building Blocks ecosystem across every register known to the meta-registry (organization -> register -> bblock). Call search_bblocks first when looking for building blocks to compose a solution for some use case -- it's hybrid keyword+semantic search over names, descriptions, schemas, and examples, not a plain substring match. Use get_bblock/get_register/get_org/list_* to inspect a specific candidate before recommending it (get_bblocks fetches several bblocks by id in one call -- prefer it over looping get_bblock over a shortlist), and bblock_dependencies/register_dependencies to check what it already pulls in or what depends on it."}},"paths":{"/orgs":{"get":{"tags":["orgs"],"summary":"List Orgs Endpoint","operationId":"list_orgs_endpoint_orgs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/OrgSummary"},"type":"array","title":"Response List Orgs Endpoint Orgs Get"}}}}}}},"/orgs/{org_id}":{"get":{"tags":["orgs"],"summary":"Get Org Endpoint","operationId":"get_org_endpoint_orgs__org_id__get","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","title":"Org Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/registers":{"get":{"tags":["registers"],"summary":"List Registers Endpoint","operationId":"list_registers_endpoint_registers_get","parameters":[{"name":"org","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegisterSummary"},"title":"Response List Registers Endpoint Registers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/registers/{org_id}/{register_name}/graph":{"get":{"tags":["registers"],"summary":"Get Register Graph Endpoint","operationId":"get_register_graph_endpoint_registers__org_id___register_name__graph_get","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","title":"Org Id"}},{"name":"register_name","in":"path","required":true,"schema":{"type":"string","title":"Register Name"}},{"name":"direction","in":"query","required":false,"schema":{"enum":["depends_on","dependents","both"],"type":"string","default":"both","title":"Direction"}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","maximum":5,"minimum":1,"default":2,"title":"Depth"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DependencyGraph"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/registers/{org_id}/{register_name}":{"get":{"tags":["registers"],"summary":"Get Register Endpoint","operationId":"get_register_endpoint_registers__org_id___register_name__get","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","title":"Org Id"}},{"name":"register_name","in":"path","required":true,"schema":{"type":"string","title":"Register Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/bblocks":{"get":{"tags":["bblocks"],"summary":"List Bblocks Endpoint","operationId":"list_bblocks_endpoint_bblocks_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"item_class","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Item Class"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"register","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Register alias, e.g. 'ogc/main'","title":"Register"},"description":"Register alias, e.g. 'ogc/main'"},{"name":"org","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"strict","in":"query","required":false,"schema":{"type":"boolean","description":"Keyword-only matching, skipping semantic search entirely. Default (false) weights semantic search higher since q is often a natural-language use-case description rather than a curated set of keywords.","default":false,"title":"Strict"},"description":"Keyword-only matching, skipping semantic search entirely. Default (false) weights semantic search higher since q is often a natural-language use-case description rather than a curated set of keywords."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BblockListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/bblocks/{identifier}/graph":{"get":{"tags":["bblocks"],"summary":"Get Bblock Graph Endpoint","operationId":"get_bblock_graph_endpoint_bblocks__identifier__graph_get","parameters":[{"name":"identifier","in":"path","required":true,"schema":{"type":"string","title":"Identifier"}},{"name":"direction","in":"query","required":false,"schema":{"enum":["depends_on","dependents","both"],"type":"string","default":"both","title":"Direction"}},{"name":"depth","in":"query","required":false,"schema":{"type":"integer","maximum":5,"minimum":1,"default":2,"title":"Depth"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DependencyGraph"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/bblocks/{identifier}":{"get":{"tags":["bblocks"],"summary":"Get Bblock Endpoint","operationId":"get_bblock_endpoint_bblocks__identifier__get","parameters":[{"name":"identifier","in":"path","required":true,"schema":{"type":"string","title":"Identifier"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BblockDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/status":{"get":{"tags":["admin"],"summary":"Admin Status","operationId":"admin_status_admin_status_get","parameters":[{"name":"x-admin-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminStatus"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/registers":{"get":{"tags":["admin"],"summary":"Admin Registers","description":"Admin-only listing of every register's lifecycle status (pending/crawling/ready/failed),\nfor spotting stuck or failed registers without joining crawl_runs -- an alternative to\n/admin/status for deciding which register(s) to target via /admin/reindex.","operationId":"admin_registers_admin_registers_get","parameters":[{"name":"x-admin-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistersStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/conflicts":{"get":{"tags":["admin"],"summary":"Admin Conflicts","operationId":"admin_conflicts_admin_conflicts_get","parameters":[{"name":"x-admin-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/reindex":{"post":{"tags":["admin"],"summary":"Admin Reindex","operationId":"admin_reindex_admin_reindex_post","parameters":[{"name":"register","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Register"}},{"name":"x-admin-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Admin-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReindexResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AdminStatus":{"properties":{"recent_runs":{"items":{"$ref":"#/components/schemas/CrawlRun"},"type":"array","title":"Recent Runs"},"latest_per_register":{"additionalProperties":{"$ref":"#/components/schemas/CrawlRun"},"type":"object","title":"Latest Per Register"}},"type":"object","required":["recent_runs","latest_per_register"],"title":"AdminStatus"},"BblockDetail":{"properties":{"id":{"type":"string","title":"Id"},"register_id":{"type":"string","title":"Register Id"},"name":{"type":"string","title":"Name"},"abstract":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abstract"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"item_class":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Item Class"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"},"has_schema":{"type":"boolean","title":"Has Schema"},"has_ld_context":{"type":"boolean","title":"Has Ld Context"},"has_shacl_shapes":{"type":"boolean","title":"Has Shacl Shapes"},"matched_chunk_types":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Matched Chunk Types"},"date_time_addition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Time Addition"},"date_of_last_change":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Of Last Change"},"schema_urls":{"additionalProperties":true,"type":"object","title":"Schema Urls"},"ld_context_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ld Context Url"},"shacl_shapes_urls":{"items":{"type":"string"},"type":"array","title":"Shacl Shapes Urls"},"sources":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Sources"},"depends_on":{"items":{"$ref":"#/components/schemas/DepEdge"},"type":"array","title":"Depends On"},"dependents":{"items":{"$ref":"#/components/schemas/DepEdge"},"type":"array","title":"Dependents"}},"type":"object","required":["id","register_id","name","abstract","status","item_class","version","tags","has_schema","has_ld_context","has_shacl_shapes","date_time_addition","date_of_last_change","schema_urls","ld_context_url","shacl_shapes_urls","sources","depends_on","dependents"],"title":"BblockDetail"},"BblockListResponse":{"properties":{"numberMatched":{"type":"integer","title":"Numbermatched"},"numberReturned":{"type":"integer","title":"Numberreturned"},"items":{"items":{"$ref":"#/components/schemas/BblockSummary"},"type":"array","title":"Items"}},"type":"object","required":["numberMatched","numberReturned","items"],"title":"BblockListResponse"},"BblockSummary":{"properties":{"id":{"type":"string","title":"Id"},"register_id":{"type":"string","title":"Register Id"},"name":{"type":"string","title":"Name"},"abstract":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abstract"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"item_class":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Item Class"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"},"has_schema":{"type":"boolean","title":"Has Schema"},"has_ld_context":{"type":"boolean","title":"Has Ld Context"},"has_shacl_shapes":{"type":"boolean","title":"Has Shacl Shapes"},"matched_chunk_types":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Matched Chunk Types"}},"type":"object","required":["id","register_id","name","abstract","status","item_class","version","tags","has_schema","has_ld_context","has_shacl_shapes"],"title":"BblockSummary"},"ConflictsResponse":{"properties":{"conflicts":{"items":{"$ref":"#/components/schemas/IdentifierConflict"},"type":"array","title":"Conflicts"}},"type":"object","required":["conflicts"],"title":"ConflictsResponse"},"CrawlRun":{"properties":{"id":{"type":"integer","title":"Id"},"register_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Register Id"},"started_at":{"type":"string","format":"date-time","title":"Started At"},"finished_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Finished At"},"status":{"type":"string","title":"Status"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["id","register_id","started_at","finished_at","status","error"],"title":"CrawlRun"},"DepEdge":{"properties":{"id":{"type":"string","title":"Id"},"kind":{"type":"string","title":"Kind"}},"type":"object","required":["id","kind"],"title":"DepEdge"},"DependencyGraph":{"properties":{"nodes":{"items":{"$ref":"#/components/schemas/GraphNode"},"type":"array","title":"Nodes"},"edges":{"items":{"$ref":"#/components/schemas/GraphEdge"},"type":"array","title":"Edges"}},"type":"object","required":["nodes","edges"],"title":"DependencyGraph"},"GraphEdge":{"properties":{"source":{"type":"string","title":"Source"},"target":{"type":"string","title":"Target"},"kind":{"type":"string","title":"Kind"}},"type":"object","required":["source","target","kind"],"title":"GraphEdge"},"GraphNode":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"known":{"type":"boolean","title":"Known"},"register_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Register Id"},"org_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org Id"},"item_class":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Item Class"}},"type":"object","required":["id","name","known"],"title":"GraphNode"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IdentifierConflict":{"properties":{"id":{"type":"integer","title":"Id"},"conflicting_id":{"type":"string","title":"Conflicting Id"},"existing_register_id":{"type":"string","title":"Existing Register Id"},"attempted_register_id":{"type":"string","title":"Attempted Register Id"},"detected_at":{"type":"string","format":"date-time","title":"Detected At"}},"type":"object","required":["id","conflicting_id","existing_register_id","attempted_register_id","detected_at"],"title":"IdentifierConflict"},"Maintainer":{"properties":{"github":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Github"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"}},"type":"object","title":"Maintainer"},"OrgDetail":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"maintainers":{"items":{"$ref":"#/components/schemas/Maintainer"},"type":"array","title":"Maintainers"},"registers":{"items":{"$ref":"#/components/schemas/RegisterRef"},"type":"array","title":"Registers"}},"type":"object","required":["id","name","description","url","maintainers","registers"],"title":"OrgDetail"},"OrgSummary":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"}},"type":"object","required":["id","name","description","url"],"title":"OrgSummary"},"RegisterDepEdge":{"properties":{"id":{"type":"string","title":"Id"},"kind":{"type":"string","title":"Kind"}},"type":"object","required":["id","kind"],"title":"RegisterDepEdge"},"RegisterDetail":{"properties":{"id":{"type":"string","title":"Id"},"org_id":{"type":"string","title":"Org Id"},"name":{"type":"string","title":"Name"},"register_url":{"type":"string","title":"Register Url"},"viewer_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Viewer Url"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"modified":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Modified"},"last_crawled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Crawled At"},"last_crawl_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Crawl Status"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"},"bblocks":{"items":{"$ref":"#/components/schemas/BblockSummary"},"type":"array","title":"Bblocks"},"depends_on":{"items":{"$ref":"#/components/schemas/RegisterDepEdge"},"type":"array","title":"Depends On"},"dependents":{"items":{"$ref":"#/components/schemas/RegisterDepEdge"},"type":"array","title":"Dependents"}},"type":"object","required":["id","org_id","name","register_url","viewer_url","description","modified","last_crawled_at","last_crawl_status","last_error","bblocks","depends_on","dependents"],"title":"RegisterDetail"},"RegisterRef":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"register_url":{"type":"string","title":"Register Url"}},"type":"object","required":["id","name","register_url"],"title":"RegisterRef"},"RegisterStatus":{"properties":{"id":{"type":"string","title":"Id"},"org_id":{"type":"string","title":"Org Id"},"status":{"type":"string","title":"Status"},"modified":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Modified"},"last_crawled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Crawled At"},"last_crawl_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Crawl Status"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"}},"type":"object","required":["id","org_id","status","modified","last_crawled_at","last_crawl_status","last_error"],"title":"RegisterStatus","description":"Admin-only view of a register's crawl lifecycle -- includes the `status` field\n(pending/crawling/ready/failed), which is deliberately excluded from the public\nRegisterOut schema (app/schemas/register.py)."},"RegisterSummary":{"properties":{"id":{"type":"string","title":"Id"},"org_id":{"type":"string","title":"Org Id"},"name":{"type":"string","title":"Name"},"register_url":{"type":"string","title":"Register Url"},"viewer_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Viewer Url"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["id","org_id","name","register_url","viewer_url","description"],"title":"RegisterSummary"},"RegistersStatusResponse":{"properties":{"registers":{"items":{"$ref":"#/components/schemas/RegisterStatus"},"type":"array","title":"Registers"}},"type":"object","required":["registers"],"title":"RegistersStatusResponse"},"ReindexResponse":{"properties":{"accepted":{"type":"boolean","title":"Accepted"},"register_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Register Id"}},"type":"object","required":["accepted"],"title":"ReindexResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"servers":[{"url":"/bblocks-meta-register-backend"}]}