Skip to content

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_Credentials and calls authenticate())

  • 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 active status 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_articles flows). Ensure exactly one credential is marked as active for normal operation.
  • credentials/test runs a live authentication attempt against Otto and returns authorization status.

  • 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.