Design
API.stream video and composition services are designed to be "API First". For us, that means:
- strictly-typed, language-agnostic, and marshalled on-the-wire protocols
- parameter validation
- sane parameter default values
- auto-generated and commented code stubs for popular languages and platforms
- access to services from server-side and client-side (including browser) execution environments
- fine-grained, resource-based permissions hidden behind friendly role-based permissions
- storage and retrieval of application-specific, arbitrary metadata associated with live api objects
- distribution of application-specific, arbitrary events
- security and event model designed for collaborative workflows
To enable the above, our APIs start with GRPC Protobuf definitions. From there we automatically generate database models, documentation, code stubs, and interfaces for gRPC, gRPC-web, and REST protocols. APIs are secured with a modern JWT-based authorization workflow.