{"openapi":"3.1.0","info":{"title":"Rex Public API Catalog","version":"1.7.0","description":"Versioned discovery metadata plus bounded execution and flow composition for Rex's curated free, no-key public API providers. Rex never exposes an arbitrary upstream proxy."},"servers":[{"url":"/api/v1"}],"tags":[{"name":"Catalog","description":"Provider discovery and metadata."},{"name":"Execution","description":"Registered request validation and bounded upstream execution."},{"name":"Flows","description":"Deterministic, typed compositions of registered provider capabilities."},{"name":"Project","description":"Catalog taxonomy and aggregate statistics."}],"paths":{"/":{"get":{"tags":["Project"],"summary":"Discover the Rex API","responses":{"200":{"description":"API identity and route links.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiIndexResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"}}}},"/providers":{"get":{"tags":["Catalog"],"summary":"List and filter providers","parameters":[{"$ref":"#/components/parameters/Cursor"},{"$ref":"#/components/parameters/Limit"},{"name":"category","in":"query","schema":{"type":"string"}},{"name":"presentation","in":"query","schema":{"type":"string"}},{"name":"browser","in":"query","schema":{"type":"string","enum":["direct","proxy"]}},{"name":"status","in":"query","schema":{"type":"string"}},{"name":"health","in":"query","schema":{"type":"string"}},{"name":"capability","in":"query","schema":{"type":"string"}},{"name":"accepts","in":"query","schema":{"type":"string"}},{"name":"produces","in":"query","schema":{"type":"string"}},{"name":"scope","in":"query","schema":{"type":"string","enum":["global","multinational","national","regional","local","non-geographic"]}},{"name":"region","in":"query","schema":{"type":"string"}},{"name":"country","in":"query","schema":{"type":"string"}},{"name":"trait","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"A bounded page of compact provider records.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderCollection"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"}}}},"/providers/{providerId}":{"get":{"tags":["Catalog"],"summary":"Describe one provider","parameters":[{"name":"providerId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"}}],"responses":{"200":{"description":"A complete public provider record.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"}}}},"/requests/prepare":{"post":{"tags":["Execution"],"summary":"Validate and resolve a registered provider request without executing it","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecutionInput"}}}},"responses":{"200":{"description":"The resolved allowlisted request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreparedRequestResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"413":{"description":"The JSON request body exceeds the Rex input limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"The request does not use application/json.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Execution concurrency or the durable quota store is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"504":{"description":"The registered upstream provider timed out.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/requests/execute":{"post":{"tags":["Execution"],"summary":"Execute a registered provider request through the Rex safety boundary","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecutionInput"}}}},"responses":{"200":{"description":"Raw and normalized provider data with presentation and provenance metadata.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecutionResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"413":{"description":"The JSON request body exceeds the Rex input limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"The request does not use application/json.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The execution quota has been exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"The registered upstream provider could not return a successful bounded response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Execution concurrency or the durable quota store is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"504":{"description":"The registered upstream provider timed out.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/downloads/doaj/journals.csv":{"get":{"tags":["Execution"],"summary":"Download the complete public DOAJ journal CSV","description":"Streams the original public monthly CSV. No query parameters or account are accepted. Shared execution quota; two transfers maximum, 128 MiB and two minutes per transfer. Verify the complete Content-Length; failures after headers terminate the stream. Execute doaj/journal-csv for a 1 KB readiness check. Permissioned full metadata dumps are separate.","responses":{"200":{"description":"Complete UTF-8 journal CSV attachment.","content":{"text/csv":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"429":{"description":"Shared execution quota exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Source unavailable or invalid before transfer headers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Two journal CSV downloads are already active.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/downloads/sec-edgar/{archive}":{"get":{"tags":["Execution"],"summary":"Download a complete SEC bulk ZIP archive","description":"Streams original ZIP bytes as an attachment. Accepts no query parameters. Consumes the shared execution quota; at most two concurrent transfers, 8 GiB and 30 minutes each. A 200 header alone does not prove completion: verify the complete Content-Length. A mid-transfer failure terminates the connection. Execute sec-edgar/bulk-archives first to inspect archive readiness without transferring its bytes.","parameters":[{"name":"archive","in":"path","required":true,"schema":{"type":"string","enum":["submissions","companyfacts"]}}],"responses":{"200":{"description":"Complete source ZIP archive, streamed without a JSON envelope.","headers":{"Content-Length":{"description":"Expected complete archive size in bytes.","schema":{"type":"integer","minimum":22,"maximum":8589934592}},"Content-Disposition":{"description":"Attachment filename: submissions.zip or companyfacts.zip.","schema":{"type":"string"}}},"content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"429":{"description":"Shared execution quota exceeded; Retry-After indicates when to retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"SEC archive unavailable, changed, invalid, cancelled or timed out before download headers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Archive transfer slots or source request queue are full.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/multisearch":{"post":{"tags":["Execution"],"summary":"Search multiple federation-ready providers","description":"Runs bounded searches and returns provider-separated groups with isolated failures.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","minLength":2,"maxLength":200},"profiles":{"type":"array","maxItems":11,"items":{"type":"string","enum":["library-search","scholarly-search","dataset-search","image-search","knowledge-search","software-search","place-search","nature-search","health-search","government-search","community-search"]}},"providerIds":{"type":"array","maxItems":100,"items":{"type":"string"}},"limit":{"type":"integer","minimum":1,"maximum":25}}}}}},"responses":{"200":{"description":"Provider-separated federated results.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"413":{"description":"The JSON request body exceeds the Rex input limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"The request does not use application/json.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Execution concurrency or the durable quota store is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"504":{"description":"The registered upstream provider timed out.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/multisearch/telemetry":{"get":{"tags":["Execution"],"summary":"Inspect process-local multisearch telemetry","description":"Returns bounded aggregate and recent-run diagnostics without query text, client identity, or provider payloads.","responses":{"200":{"description":"Current process-local multisearch telemetry.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/flows":{"get":{"tags":["Flows"],"summary":"List registered Rex flows","responses":{"200":{"description":"Available flow summaries and registry statistics.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlowCollectionResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"}}}},"/flows/{flowId}":{"get":{"tags":["Flows"],"summary":"Describe a registered Rex flow","parameters":[{"$ref":"#/components/parameters/FlowId"}],"responses":{"200":{"description":"The typed flow definition and its registered steps.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlowDefinitionResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"}}}},"/flows/{flowId}/start":{"post":{"tags":["Flows"],"summary":"Start a registered flow","parameters":[{"$ref":"#/components/parameters/FlowId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlowStartInput"}}}},"responses":{"200":{"description":"A completed run or a signed resumable selection state.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlowRunResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"410":{"description":"The resumable flow state has expired.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"413":{"description":"The JSON request body exceeds the Rex input limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"The request does not use application/json.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"An underlying provider execution quota has been exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"An upstream flow step failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Execution concurrency or the durable quota store is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"504":{"description":"The registered upstream provider timed out.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/flows/{flowId}/resume":{"post":{"tags":["Flows"],"summary":"Resume a flow from an explicit candidate selection","parameters":[{"$ref":"#/components/parameters/FlowId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlowResumeInput"}}}},"responses":{"200":{"description":"A completed run or the next resumable selection state.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlowRunResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"410":{"description":"The resumable flow state has expired.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"413":{"description":"The JSON request body exceeds the Rex input limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"The request does not use application/json.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"An underlying provider execution quota has been exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"An upstream flow step failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Execution concurrency or the durable quota store is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"504":{"description":"The registered upstream provider timed out.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/flow-drafts/validate":{"post":{"tags":["Flows"],"summary":"Validate one bounded source-value to registered-action composition","description":"Rex re-resolves both sockets and their compatibility from the current capability index. Validation performs no upstream request.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlowDraftInput"}}}},"responses":{"200":{"description":"Canonical parameters, live compatibility, and validation diagnostics.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlowDraftValidationResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"409":{"description":"A socket is stale or a qualified connection has not been confirmed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"413":{"description":"The JSON request body exceeds the Rex input limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"The request does not use application/json.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"The registered source and target sockets are incompatible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Execution concurrency or the durable quota store is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"504":{"description":"The registered upstream provider timed out.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/flow-drafts/execute":{"post":{"tags":["Flows"],"summary":"Revalidate and execute one bounded registered composition","description":"Only the registered target step executes, through the shared provider safety, quota, and provenance boundary.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlowDraftInput"}}}},"responses":{"200":{"description":"A source/target timeline with direct normalized target output and provenance.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlowDraftExecutionResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"409":{"description":"A socket is stale or a qualified connection has not been confirmed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"413":{"description":"The JSON request body exceeds the Rex input limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"The request does not use application/json.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"The draft did not pass current server validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The execution quota has been exceeded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"The registered target provider failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Execution concurrency or the durable quota store is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"504":{"description":"The registered upstream provider timed out.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/search":{"get":{"tags":["Catalog"],"summary":"Search provider metadata and examples","parameters":[{"$ref":"#/components/parameters/Cursor"},{"$ref":"#/components/parameters/Limit"},{"name":"category","in":"query","schema":{"type":"string"}},{"name":"presentation","in":"query","schema":{"type":"string"}},{"name":"browser","in":"query","schema":{"type":"string","enum":["direct","proxy"]}},{"name":"status","in":"query","schema":{"type":"string"}},{"name":"health","in":"query","schema":{"type":"string"}},{"name":"capability","in":"query","schema":{"type":"string"}},{"name":"accepts","in":"query","schema":{"type":"string"}},{"name":"produces","in":"query","schema":{"type":"string"}},{"name":"scope","in":"query","schema":{"type":"string","enum":["global","multinational","national","regional","local","non-geographic"]}},{"name":"region","in":"query","schema":{"type":"string"}},{"name":"country","in":"query","schema":{"type":"string"}},{"name":"trait","in":"query","schema":{"type":"string"}},{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"responses":{"200":{"description":"A bounded page of compact provider records.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderCollection"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"}}}},"/categories":{"get":{"tags":["Project"],"summary":"List the category taxonomy","responses":{"200":{"description":"Ordered Rex categories with current provider counts.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Category"}}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"}}}},"/value-spaces":{"get":{"tags":["Catalog"],"summary":"List registered input value spaces","responses":{"200":{"description":"Value-space summaries and resolution strategies.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ValueSpaceSummary"}},"meta":{"type":"object"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"}}}},"/value-spaces/{id}":{"get":{"tags":["Catalog"],"summary":"Get a value-space definition and controlled values","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"One value-space definition.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/ValueSpaceDetail"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"}}}},"/value-spaces/{id}/suggest":{"get":{"tags":["Catalog"],"summary":"Suggest canonical values from a controlled value space","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"q","in":"query","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Matching canonical values.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ValueSpaceCandidate"}},"meta":{"type":"object"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"}}}},"/value-spaces/{id}/resolve":{"get":{"tags":["Catalog"],"summary":"Normalize or validate one input value","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"value","in":"query","required":true,"schema":{"type":"string"}},{"name":"format","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Resolution and canonicalization result.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/ValueResolution"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"}}}},"/constraints":{"get":{"tags":["Catalog"],"summary":"List request constraints or inspect one provider capability","parameters":[{"name":"providerId","in":"query","schema":{"type":"string"}},{"name":"capabilityId","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Availability windows, field contracts, and linked request rules.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"oneOf":[{"type":"array","items":{"type":"object"}},{"$ref":"#/components/schemas/RequestConstraintContract"}]}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"}}}},"/capabilities":{"get":{"tags":["Catalog"],"summary":"List typed provider capabilities and socket totals","responses":{"200":{"description":"Registered provider capabilities.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CapabilityCollectionResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"}}}},"/semantic-types":{"get":{"tags":["Catalog"],"summary":"List the controlled semantic socket vocabulary","responses":{"200":{"description":"Semantic type definitions and producer/consumer counts.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SemanticTypeCollectionResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"}}}},"/semantic-types/{semanticTypeId}":{"get":{"tags":["Catalog"],"summary":"Inspect producers and consumers for one semantic type","parameters":[{"name":"semanticTypeId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"}}],"responses":{"200":{"description":"A bounded, bundle-aware semantic action neighborhood.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SemanticTypeDetailResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"}}}},"/connections":{"get":{"tags":["Catalog"],"summary":"List compatible output-to-input socket connections","parameters":[{"name":"semanticType","in":"query","schema":{"type":"string"}},{"name":"from","in":"query","schema":{"type":"string"}},{"name":"to","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Compatible capability connections and required extraction operations.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionCollectionResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"}}}},"/transformations":{"get":{"tags":["Catalog"],"summary":"List deterministic socket transformations","responses":{"200":{"description":"Versioned lossless transformations registered by Rex.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"}}}},"/connection-cases":{"get":{"tags":["Catalog"],"summary":"List curated non-coordinate connection diagnostics","responses":{"200":{"description":"Bounded catalog-contract cases with explicit readiness gaps and evidence levels.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"}}}},"/cross-references":{"get":{"tags":["Catalog"],"summary":"Rank qualified input sockets for an output socket","parameters":[{"name":"from","in":"query","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Ranked exact and qualified semantic targets.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrossReferenceResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"}}}},"/facets":{"get":{"tags":["Catalog"],"summary":"List controlled metadata facets and provider counts","responses":{"200":{"description":"Geographic and data-characteristic facets.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"}}}},"/metadata-graph":{"get":{"tags":["Catalog"],"summary":"Get provider-to-metadata nodes and edges for network analysis","responses":{"200":{"description":"Graph-ready provider metadata.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"}}}},"/stats":{"get":{"tags":["Project"],"summary":"Get current catalog statistics","responses":{"200":{"description":"Registry-derived totals and distributions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatsResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"}}}},"/openapi.json":{"get":{"tags":["Project"],"summary":"Get this OpenAPI document","responses":{"200":{"description":"OpenAPI 3.1 service description."},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"}}}}},"components":{"parameters":{"Cursor":{"name":"cursor","in":"query","schema":{"type":"string"},"description":"Opaque cursor returned by the preceding page."},"Limit":{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}},"FlowId":{"name":"flowId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"}}},"responses":{"BadRequest":{"description":"Invalid query or parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The requested API resource does not exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"MethodNotAllowed":{"description":"The resource is read-only.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"schemas":{"ApiIndexResponse":{"type":"object","required":["data"],"properties":{"data":{"type":"object"}}},"Access":{"type":"object","required":["authentication","pricing","browser"],"properties":{"authentication":{"type":"string"},"pricing":{"type":"string"},"browser":{"type":"string","enum":["direct","proxy"]}}},"Implementation":{"type":"object","required":["status","health"],"properties":{"status":{"type":"string"},"health":{"type":"string"},"verifiedAt":{"type":["string","null"],"format":"date"}}},"ProviderSummary":{"type":"object","required":["schemaVersion","id","name","category","tagline","tags","metadata","capabilities","accepts","produces","access","implementation","presentation","presetCount","links"],"properties":{"schemaVersion":{"type":"integer","const":1},"id":{"type":"string"},"name":{"type":"string"},"category":{"type":"string"},"icon":{"type":"string"},"tagline":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"metadata":{"type":"object"},"capabilities":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"}},"accepts":{"type":"array","items":{"type":"string"}},"produces":{"type":"array","items":{"type":"string"}},"access":{"$ref":"#/components/schemas/Access"},"implementation":{"$ref":"#/components/schemas/Implementation"},"presentation":{"type":"object","required":["type"],"properties":{"type":{"type":"string"}}},"presetCount":{"type":"integer","minimum":4},"links":{"type":"object"}}},"ProviderDetail":{"allOf":[{"$ref":"#/components/schemas/ProviderSummary"},{"type":"object","required":["description","documentation","attribution","capabilities","endpoint","parameters","examples"],"properties":{"description":{"type":"string"},"documentation":{"type":"string","format":"uri"},"attribution":{"type":"string"},"note":{"type":["string","null"]},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/ProviderCapability"}},"endpoint":{"type":"object"},"parameters":{"type":"array","items":{"type":"object"}},"examples":{"type":"array","minItems":4,"items":{"type":"object"}}}}]},"Page":{"type":"object","required":["cursor","limit","nextCursor","total"],"properties":{"cursor":{"type":["string","null"]},"limit":{"type":"integer"},"nextCursor":{"type":["string","null"]},"total":{"type":"integer"}}},"ProviderCollection":{"type":"object","required":["data","page"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ProviderSummary"}},"page":{"$ref":"#/components/schemas/Page"}}},"ProviderResponse":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/ProviderDetail"}}},"ExecutionInput":{"type":"object","additionalProperties":false,"required":["providerId"],"properties":{"providerId":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"endpointId":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","description":"Endpoint formulation within the provider. Omit to use the provider default."},"presetId":{"type":"string","pattern":"^\\d+$","default":"0"},"parameters":{"type":"object","maxProperties":40,"additionalProperties":{"type":["string","number","boolean"]}}}},"ValueSpaceSummary":{"type":"object","required":["id","label","kind","canonical","accepts","valueCount","browse"],"properties":{"id":{"type":"string"},"label":{"type":"string"},"kind":{"type":"string","enum":["controlled","range","date","pattern","free-text","provider-resolver","provider-registry"]},"canonical":{"type":"string"},"accepts":{"type":"array","items":{"type":"string"}},"valueCount":{"type":"integer","minimum":0},"constraints":{"type":"object"},"browse":{"type":"object","required":["mode","valueCount","exhaustive","minimumQueryLength","selection"],"properties":{"mode":{"type":"string","enum":["local","server-library","provider-lookup","none"]},"valueCount":{"type":["integer","null"],"minimum":0},"exhaustive":{"type":"boolean"},"minimumQueryLength":{"type":["integer","null"],"minimum":0},"selection":{"type":"string","enum":["single","multiple"]},"snapshotDate":{"type":["string","null"],"format":"date"}}},"library":{"type":["object","null"]},"resolver":{"type":["object","null"]},"source":{"type":["string","null"]},"documentation":{"type":["string","null"],"format":"uri"}}},"ValueSpaceCandidate":{"type":"object","required":["id","label","value","aliases","metadata"],"properties":{"id":{"type":"string"},"label":{"type":"string"},"value":{"type":["string","number"]},"aliases":{"type":"array","items":{"type":"string"}},"metadata":{"type":"object"}}},"ValueSpaceDetail":{"allOf":[{"$ref":"#/components/schemas/ValueSpaceSummary"},{"type":"object","required":["values"],"properties":{"values":{"type":"array","items":{"$ref":"#/components/schemas/ValueSpaceCandidate"}}}}]},"ValueResolution":{"type":"object","required":["status","input","canonical","candidates"],"properties":{"status":{"type":"string","enum":["resolved","valid","invalid","ambiguous","unresolved","unknown-space"]},"input":{"type":"string"},"canonical":{"type":["string","number","null"]},"candidates":{"type":"array"},"reason":{"type":["string","null"]},"item":{"type":"object"},"items":{"type":"array","items":{"type":"object"}},"invalidValues":{"type":"array","items":{"type":"string"}},"source":{"type":"string"},"snapshotDate":{"type":"string","format":"date"},"resolver":{"type":["object","null"]}}},"RequestConstraintContract":{"type":"object","required":["id","version","providerId","endpointId","capabilityId","fields","rules"],"properties":{"id":{"type":"string"},"version":{"type":"integer","const":1},"providerId":{"type":"string"},"endpointId":{"type":"string"},"capabilityId":{"type":"string"},"fields":{"type":"object","additionalProperties":{"type":"object","required":["parameter","semanticType","type","required","valueSpace"],"properties":{"parameter":{"type":"string"},"semanticType":{"type":"string"},"type":{"type":"string"},"format":{"type":["string","null"]},"required":{"type":"boolean"},"valueSpace":{"type":["object","null"]},"availability":{"type":["object","null"]}}}},"rules":{"type":"array","items":{"type":"object","required":["type","fields","severity","message"],"properties":{"type":{"type":"string"},"fields":{"type":"array","items":{"type":"string"}},"severity":{"type":"string","enum":["error","warning"]},"message":{"type":"string"},"source":{"type":"string"}}}}}},"SemanticTypeSpec":{"type":"object","required":["type","semanticType"],"properties":{"type":{"type":"string","enum":["boolean","number","string","collection","object"]},"semanticType":{"type":"string"},"format":{"type":["string","null"]},"unit":{"type":["string","null"]},"required":{"type":"boolean"},"parameter":{"type":"string"},"valueSpace":{"type":["string","object","null"]},"path":{"type":"string"},"item":{"type":"object"},"fields":{"type":"object"},"minimum":{"type":"number"},"maximum":{"type":"number"},"minLength":{"type":"integer"},"maxLength":{"type":"integer"}}},"ProviderCapability":{"type":"object","required":["id","version","label","inputs","outputs"],"properties":{"id":{"type":"string"},"version":{"type":"integer","const":1},"label":{"type":"string"},"inputs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/SemanticTypeSpec"}},"outputs":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/SemanticTypeSpec"}},"requestConstraints":{"$ref":"#/components/schemas/RequestConstraintContract"}}},"CapabilitySocket":{"type":"object","required":["id","providerId","endpointId","capabilityId","direction","path","type","semanticType","dataSocket","semanticSocket"],"properties":{"id":{"type":"string"},"providerId":{"type":"string"},"providerName":{"type":"string"},"endpointId":{"type":"string"},"capabilityId":{"type":"string"},"capabilityLabel":{"type":"string"},"direction":{"type":"string","enum":["input","output"]},"name":{"type":"string"},"path":{"type":"string"},"sourcePath":{"type":["string","null"]},"type":{"type":"string"},"semanticType":{"type":"string"},"semanticAncestors":{"type":"array","items":{"type":"string"}},"required":{"type":"boolean"},"parameter":{"type":"string"},"operations":{"type":"array","items":{"type":"string","enum":["select","extract"]}},"dataSocket":{"$ref":"#/components/schemas/DataSocket"},"semanticSocket":{"$ref":"#/components/schemas/QualifiedSemanticSocket"},"valueSpace":{"type":["object","null"]}}},"DataSocket":{"type":"object","required":["primitive","container","cardinality","format","unit","nullable"],"properties":{"primitive":{"type":"string","enum":["boolean","number","string","collection","object"]},"container":{"type":"string","enum":["scalar","collection"]},"cardinality":{"type":"string","enum":["one","many"]},"format":{"type":["string","null"]},"unit":{"type":["string","null"]},"nullable":{"type":"boolean"}}},"QualifiedSemanticSocket":{"type":"object","required":["concept","group","roles","qualifiers"],"properties":{"concept":{"type":"string"},"group":{"type":"string"},"roles":{"type":"array","items":{"type":"string"}},"qualifiers":{"type":"object","required":["ancestors"],"properties":{"ancestors":{"type":"array","items":{"type":"string"}}}}}},"ConnectionReadiness":{"type":"object","required":["schemaVersion","context","highest","stages","blockers","evidence"],"properties":{"schemaVersion":{"type":"integer","const":1},"context":{"type":"string","enum":["edge","bound-value","prepared-request","verification-case"]},"highest":{"type":["string","null"],"enum":["structural","semantic","admissible","executable","verified",null]},"stages":{"type":"object","required":["structural","semantic","admissible","executable","verified"],"additionalProperties":{"type":"object","required":["state"],"properties":{"state":{"type":"string","enum":["pass","blocked","pending","stale","not-evaluated"]}}}},"blockers":{"type":"array","items":{"type":"object"}},"evidence":{"type":["object","null"]}}},"CrossReference":{"type":"object","required":["id","from","to","toProviderId","dataCompatibility","semanticCompatibility","relation","score","operations"],"properties":{"id":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"},"toProviderId":{"type":"string"},"toProviderName":{"type":"string"},"parameter":{"type":"string"},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"kind":{"type":"string","enum":["bundle"]},"semanticType":{"type":"string"},"dataCompatibility":{"type":"string","enum":["exact","convertible"]},"semanticCompatibility":{"type":"string","enum":["exact","qualified"]},"relation":{"type":"string"},"score":{"type":"number","minimum":0,"maximum":1},"operations":{"type":"array","items":{"type":"string"}},"transformations":{"type":"array","items":{"type":"object"}},"readiness":{"$ref":"#/components/schemas/ConnectionReadiness"},"diagnosticCases":{"type":"array","items":{"type":"object"}}}},"CrossReferenceResponse":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CrossReference"}},"meta":{"type":"object"}}},"CapabilityCollectionResponse":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object","required":["providerId","providerName","endpointId","id","label","version","inputs","outputs"],"properties":{"providerId":{"type":"string"},"providerName":{"type":"string"},"endpointId":{"type":"string"},"id":{"type":"string"},"label":{"type":"string"},"version":{"type":"integer"},"inputs":{"type":"array","items":{"$ref":"#/components/schemas/CapabilitySocket"}},"outputs":{"type":"array","items":{"$ref":"#/components/schemas/CapabilitySocket"}},"inputBundles":{"type":"array","items":{"$ref":"#/components/schemas/CompositeSocket"}},"outputBundles":{"type":"array","items":{"$ref":"#/components/schemas/CompositeSocket"}}}}},"meta":{"type":"object"}}},"CompositeSocket":{"type":"object","required":["id","providerId","endpointId","capabilityId","direction","type","semanticType","dimensions","components"],"properties":{"id":{"type":"string"},"providerId":{"type":"string"},"providerName":{"type":"string"},"endpointId":{"type":"string"},"capabilityId":{"type":"string"},"capabilityLabel":{"type":"string"},"direction":{"type":"string","enum":["input","output"]},"type":{"type":"string","const":"object"},"semanticType":{"type":"string","const":"geo-point"},"dimensions":{"type":"integer","const":2},"coordinateSystem":{"type":"string","const":"WGS84"},"components":{"type":"object","required":["latitude","longitude"],"properties":{"latitude":{"type":"object"},"longitude":{"type":"object"}}},"operations":{"type":"array","items":{"type":"string"}}}},"SemanticTypeCollectionResponse":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","label","primitive","group","description","producers","consumers","connections"],"properties":{"id":{"type":"string"},"label":{"type":"string"},"primitive":{"type":"string"},"group":{"type":"string"},"description":{"type":"string"},"unit":{"type":"string"},"minimum":{"type":"number"},"maximum":{"type":"number"},"producers":{"type":"integer"},"consumers":{"type":"integer"},"connections":{"type":"integer"}}}}}},"SemanticActionSocketSummary":{"type":"object","required":["semanticType","type","kind","count","names","socketIds"],"properties":{"semanticType":{"type":"string"},"type":{"type":"string"},"kind":{"type":"string","enum":["scalar","bundle"]},"count":{"type":"integer","minimum":1},"names":{"type":"array","items":{"type":"string"}},"socketIds":{"type":"array","items":{"type":"string"}},"required":{"type":"boolean"},"parameters":{"type":"array","items":{"type":"string"}}}},"SemanticActionMatch":{"type":"object","required":["socketId","kind","semanticType","type","name","path","operations"],"properties":{"socketId":{"type":"string"},"kind":{"type":"string","enum":["scalar","bundle"]},"semanticType":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"path":{"type":"string"},"required":{"type":"boolean"},"parameter":{"type":"string"},"dimensions":{"type":"integer"},"coordinateSystem":{"type":"string"},"components":{"type":"object"},"operations":{"type":"array","items":{"type":"string"}}}},"SemanticCapabilityAction":{"type":"object","required":["action","providerId","providerName","capabilityId","label","matches","inputs","outputs","missingInputs","metadata","links"],"properties":{"action":{"type":"string"},"providerId":{"type":"string"},"providerName":{"type":"string"},"capabilityId":{"type":"string"},"label":{"type":"string"},"matches":{"type":"array","items":{"$ref":"#/components/schemas/SemanticActionMatch"}},"inputs":{"type":"array","items":{"$ref":"#/components/schemas/SemanticActionSocketSummary"}},"outputs":{"type":"array","items":{"$ref":"#/components/schemas/SemanticActionSocketSummary"}},"missingInputs":{"type":"array","items":{"$ref":"#/components/schemas/SemanticActionSocketSummary"}},"metadata":{"type":"object"},"links":{"type":"object"}}},"SemanticTypeDetailResponse":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["id","label","primitive","group","description","producers","consumers","counts","links"],"properties":{"id":{"type":"string"},"label":{"type":"string"},"primitive":{"type":"string"},"group":{"type":"string"},"description":{"type":"string"},"producers":{"type":"array","items":{"$ref":"#/components/schemas/SemanticCapabilityAction"}},"consumers":{"type":"array","items":{"$ref":"#/components/schemas/SemanticCapabilityAction"}},"counts":{"type":"object"},"links":{"type":"object"}}},"meta":{"type":"object"}}},"ConnectionCollectionResponse":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","semanticType","from","to","operations"],"properties":{"id":{"type":"string"},"semanticType":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"},"fromProviderId":{"type":"string"},"fromEndpointId":{"type":"string"},"fromCapabilityId":{"type":"string"},"toProviderId":{"type":"string"},"toEndpointId":{"type":"string"},"toCapabilityId":{"type":"string"},"kind":{"type":"string","enum":["scalar","bundle"]},"parameters":{"type":"object","additionalProperties":{"type":"string"}},"operations":{"type":"array","items":{"type":"string"}},"transformations":{"type":"array","items":{"type":"object"}},"readiness":{"$ref":"#/components/schemas/ConnectionReadiness"},"diagnosticCases":{"type":"array","items":{"type":"object"}}}}},"meta":{"type":"object"}}},"FlowSummary":{"type":"object","required":["id","version","name","description","stepCount","providers","inputs","links"],"properties":{"id":{"type":"string"},"version":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"stepCount":{"type":"integer"},"providers":{"type":"array","items":{"type":"string"}},"inputs":{"type":"object"},"links":{"type":"object"}}},"FlowCollectionResponse":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/FlowSummary"}},"meta":{"type":"object"}}},"FlowDefinitionResponse":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","version","name","description","inputs","steps","outputs","links"],"properties":{"id":{"type":"string"},"version":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"inputs":{"type":"object"},"steps":{"type":"array","items":{"type":"object"}},"outputs":{"type":"object"},"links":{"type":"object"}}}}},"FlowStartInput":{"type":"object","additionalProperties":false,"required":["input"],"properties":{"input":{"type":"object"}}},"FlowResumeInput":{"type":"object","additionalProperties":false,"required":["stateToken","selection"],"properties":{"stateToken":{"type":"string"},"selection":{"type":"object","additionalProperties":false,"required":["stepId","index"],"properties":{"stepId":{"type":"string"},"index":{"type":"integer","minimum":0}}}}},"FlowDraftInput":{"type":"object","additionalProperties":false,"required":["draft"],"properties":{"draft":{"$ref":"#/components/schemas/FlowDraftContract"}}},"FlowDraftContract":{"type":"object","additionalProperties":false,"required":["version","source","target","confirmedQualified"],"properties":{"version":{"type":"integer","const":1},"source":{"type":"object","additionalProperties":false,"required":["providerId","capabilityId","outputSocketId","value"],"properties":{"providerId":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"capabilityId":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"outputSocketId":{"type":"string","maxLength":1000},"value":{"oneOf":[{"type":"string","maxLength":2000},{"type":"number"},{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["latitude","longitude"],"properties":{"latitude":{"type":"number","minimum":-90,"maximum":90},"longitude":{"type":"number","minimum":-180,"maximum":180}}}]}}},"target":{"type":"object","additionalProperties":false,"required":["providerId","capabilityId","presetId","inputSocketId","parameters"],"properties":{"providerId":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"capabilityId":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"presetId":{"type":"string","pattern":"^\\d+$"},"inputSocketId":{"type":"string","maxLength":1000},"parameters":{"type":"object","maxProperties":40,"additionalProperties":{"oneOf":[{"type":"string","maxLength":2000},{"type":"number"},{"type":"boolean"}]}}}},"confirmedQualified":{"type":"boolean"}}},"FlowDraftValidationResponse":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["valid","status","fingerprint","canonicalParameters","diagnostics","source","target","compatibility","steps"],"properties":{"valid":{"type":"boolean"},"status":{"type":"string","enum":["valid","invalid"]},"fingerprint":{"type":"string"},"canonicalParameters":{"type":"object"},"diagnostics":{"type":"array","items":{"type":"object"}},"errors":{"type":"array","items":{"type":"object"}},"warnings":{"type":"array","items":{"type":"object"}},"source":{"type":"object"},"target":{"type":"object"},"compatibility":{"type":"object"},"readiness":{"$ref":"#/components/schemas/ConnectionReadiness"},"steps":{"type":"integer","const":2}}}}},"FlowDraftExecutionResponse":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["status","draft","runId","output","timeline","provenance"],"properties":{"status":{"type":"string","const":"completed"},"draft":{"type":"object"},"runId":{"type":"string","format":"uuid"},"output":{"type":["object","array","null"]},"timeline":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"object"}},"provenance":{"type":"object"},"quota":{"type":["object","null"]}}}}},"FlowRunResponse":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["status","flow","runId","timeline"],"properties":{"status":{"type":"string","enum":["waiting-for-selection","completed"]},"flow":{"type":"object"},"runId":{"type":"string","format":"uuid"},"stateToken":{"type":"string"},"statePortable":{"type":"boolean"},"selection":{"type":"object"},"output":{"type":"object"},"timeline":{"type":"array","items":{"type":"object"}},"provenance":{"type":"object"},"quota":{"type":["object","null"]}}}}},"PreparedRequestResponse":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["provider","preset","parameters","request","responseType","presentation"],"properties":{"provider":{"type":"object"},"preset":{"type":"object"},"parameters":{"type":"object"},"validation":{"type":"object"},"request":{"type":"object"},"responseType":{"type":"string"},"presentation":{"type":"object"}}}}},"ExecutionResponse":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["request","response","normalized","presentation","provenance"],"properties":{"request":{"type":"object"},"response":{"type":"object"},"normalized":{"type":["object","array","null"]},"presentation":{"type":"object"},"provenance":{"$ref":"#/components/schemas/Provenance"}}}}},"Provenance":{"type":"object","required":["providerId","endpointId","documentation","attribution","retrievedAt","notices"],"properties":{"providerId":{"type":"string"},"endpointId":{"type":"string"},"documentation":{"type":"string","format":"uri"},"attribution":{"type":"string"},"retrievedAt":{"type":"string","format":"date-time"},"license":{"type":["string","null"]},"notices":{"type":"array","items":{"type":"string"}}},"description":"Shared source metadata for future controlled executions and flow steps."},"Category":{"type":"object","required":["id","name","description","order","providerCount","links"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"order":{"type":"integer"},"providerCount":{"type":"integer"},"links":{"type":"object"}}},"StatsResponse":{"type":"object","required":["data"],"properties":{"data":{"type":"object"}}},"ErrorResponse":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","details","requestId"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object"},"requestId":{"type":"string","format":"uuid"}}}}}}}}