The SmartAPI registry is Translator's discovery registry. Translator tools create a yaml registration that can be queried through the SmartAPI registry.
This document defines the Translator requirements for such registrations.
Translator components are registered using OpenAPI metadata as described here. In addition to those general requirements, specific additions are required for Translator components.
"translator" must be included as a top-level OpenAPI tag.
The registration must contain a compliant x-translator element as described here. Among other things, the x-translator element defines the infores identifier for this component: an identifier that is common across environments such as development, testing, and production.
If the component implements a TRAPI interface, then "trapi" must be included as a top-level OpenAPI tag.
If the component implements a TRAPI interface, then the registration must contain a compliant x-trapi element as described here.
Registrations must enable uptime checking as described here.
There must be exactly one registration per (infores,TRAPI version) pair. If multiple x-maturity levels exist for the same (infores, TRAPI version) pair, they must all come under a single registration with multiple server elements.
There must exist at least one server per (infores, x-maturity). It is allowed to register two or more server urls for a given (infores, x-maturity), for instance to provide both http and https interfaces. The caller to these services may use either and they must provide equivalent responses.
There are four Translator environments: ITRB production, ITRB test, ITRB CI, and non-ITRB. These map to the four allowed values of x-maturity:
x-maturity | Environment |
---|---|
production | ITRB Prod |
testing | ITRB Test |
staging | ITRB CI |
development | Not-ITRB |
Each registration contain a human-readable name, which is displayed in the human-readable web interface to the registry. This name should be the same for all registrations with the same infores value. The registration interface may chose to display the name with other information such as the TRAPI version.