Skip to main content

Caila developer documentation

This section presents information for developers on the Caila APIs.

The Caila platform contains two groups of APIs:

  1. Caila Core: core system interfaces. It contains the methods for creating services, uploading datasets, creating servers, etc. At the same level, interfaces for accessing services (the predict method) are defined.
  2. Caila Apps: specific service interfaces. All services in Caila are independent plug-in modules and can work with various data types.

Caila Core API

Caila interfaces can be divided into groups:

  • REST API: provides access to all platform functions via a REST interface
  • GRPC API: GRPC interface is used for:
    • internal communication with Caila services
    • requests to services, particularly in voice interaction scripts
  • Caila Python SDK contains compiled stubs and auxiliary classes for working with REST and GRPC APIs. Used for:
    • accessing existing services
    • creating custom services
    • creating CI/CD pipelines
  • Caila Java SDK contains compiled stubs and auxiliary classes for working with REST and GRPC APIs in Java/Kotlin code. It is used for:
    • accessing services
    • creating custom services

Caila Apps API

The interface of a specific Caila service consists of the data structure definitions:

  • predict-request, predict-response, and predict-config
  • for fittable services: fit-config and fit-data

Task types describe basic, recommended contracts for main task types.

In general, the interfaces of a specific service can be arbitrary. The description of the data types can be found on the page of the specific service in the catalogue.