Implementation:ArroyoSystems Arroyo Api Types Generated
| Knowledge Sources | |
|---|---|
| Domains | WebUI, API, CodeGeneration |
| Last Updated | 2026-02-08 08:00 GMT |
Overview
Auto-generated TypeScript type definitions from the Arroyo OpenAPI specification, providing type-safe interfaces for all REST API paths, request/response schemas, and operations.
Description
This file is produced by openapi-typescript and should not be edited manually. It defines three major exported sections:
- paths -- Maps API endpoint URLs (e.g.,
/v1/pipelines,/v1/connection_tables) to their HTTP methods and corresponding operation references. - components.schemas -- Contains all data model types including Pipeline, Job, Connector, ConnectionTable, ConnectionProfile, ConnectionSchema, Format (JSON, Avro, Protobuf, Parquet, RawString, RawBytes), FieldType (int32, int64, float64, string, bool, timestamp, struct, list, etc.), Checkpoint, OperatorCheckpointGroup, MetricGroup, GlobalUdf, UdfValidationResult, and many others.
- operations -- Defines the parameter, request body, and response shapes for each API operation such as
get_pipelines,create_pipeline,validate_query,get_job_checkpoints,get_checkpoint_details,get_udfs, etc.
Key enums include StopType (none | checkpoint | graceful | immediate | force), ConnectionType (source | sink | lookup), MetricName, UdfLanguage (python | rust), and JobLogLevel.
Usage
Imported throughout the WebUI codebase (primarily via data_fetching.ts) to ensure type safety when interacting with the Arroyo REST API. The components['schemas'] types are re-exported as named type aliases in the data fetching module.
Code Reference
Source Location
- Repository: ArroyoSystems_Arroyo
- File: webui/src/gen/api-types.ts
Signature
export interface paths { ... }
export interface components {
schemas: {
Pipeline: { ... };
Job: { ... };
Connector: { ... };
ConnectionTable: { ... };
ConnectionSchema: { ... };
Format: { ... };
Checkpoint: { ... };
GlobalUdf: { ... };
// ... ~50 schema types total
};
}
export interface operations { ... }
Import
import { components, paths } from '../gen/api-types';
type schemas = components['schemas'];
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| N/A | N/A | N/A | This is a type-only module with no runtime inputs |
Outputs
| Name | Type | Description |
|---|---|---|
| paths | interface | Maps REST endpoints to HTTP method operation types |
| components | interface | Contains all schema type definitions |
| operations | interface | Defines request/response types per API operation |
Usage Examples
import { components } from '../gen/api-types';
type Pipeline = components['schemas']['Pipeline'];
type Job = components['schemas']['Job'];