Otto Endpoints¶
Base path: /api/v1/multi + router prefix /otto → full base: /api/v1/multi/otto
Summary: Credential management and test endpoints for Otto integration. Credentials are used by the Otto sync, monitor and price-change workflows.
Auth: Bearer JWT required for all endpoints.
Endpoints¶
- POST /credentials/ — Create Otto credential
- Body:
OttoCredentialsCreate(fields:display_name,client_id,client_secret,scopes,active, ...) -
Response:
OttoCredentialsResponse -
GET /credentials/ — List stored Otto credentials (pagination:
skip,limit) -
PUT /credentials/{credential_id} — Update credential
-
DELETE /credentials/{credential_id} — Delete credential
-
POST /credentials/test — Test arbitrary credentials provided in the request body (constructs
Otto_Credentialsand callsauthenticate()) -
POST /credentials/{credential_id}/test — Test a stored credential by id and return
{"authorized": true|false} -
GET /credential_names — Return display names of stored credentials for UI suggestions
-
PUT /credentials/{credential_id}/toggle_status — Toggle
activestatus for a credential (only one credential should be active at a time; helper enforces single-active semantics)
Notes¶
- Stored credentials are accessed by other endpoints (e.g.,
otto_articlesflows). Ensure exactly one credential is marked asactivefor normal operation. credentials/testruns a live authentication attempt against Otto and returns authorization status.
Links¶
- Endpoint implementation:
backend/service_multi-repricer/app/api/v1/endpoints/otto.py - Otto credential model & service:
backend/service_multi-repricer/app/services/otto
Generated: reference for otto credential endpoints.