SOTA consists of three independent microservices: SOTA Core, SOTA Resolver, and SOTA Device Registry. Core has all of the functions for creating update campaigns and managing packages and package binaries. Resolver maintains a database storing vehicles, packages (but not package binaries), hardware components, filters, packages, and the associations between those things. Device Registry manages the creation of devices, and assigns each one a UUID.
The complete API spec is available in OpenAPI 2.0 format. You can view the spec files yourself in JSON or YAML formats, or view it on the web in SwaggerUI.