---
title: "Save Odoo credentials"
method: POST
path: "/api/v1/odoo/connection"
tags: ["Odoo"]
---

# Save Odoo credentials

`POST /api/v1/odoo/connection`

## Request

- Base URL: `https://localhost:3000`
- URL: `https://localhost:3000/api/v1/odoo/connection`
- Auth: `BearerAuth` (a scheme the document does not define)

Validates and saves base_url + database + username + api_key for the authenticated user. Credentials are tested by authenticating against the live Odoo instance before persisting.

## Request body

- OdooConnectionRequest
  - `base_url` string, required: Your Odoo instance URL, e.g. https://mycompany.odoo.com
  - `database` string, required: Odoo database name (for Odoo.com, usually the subdomain of the instance URL)
  - `username` string, required: Your Odoo login (typically the user's e-mail)
  - `api_key` string, required: API key generated under Odoo → Preferences → Account Security → New API Key
  - `display_name` string: Optional display label for this connection

## Response `200`

Credentials saved

- OdooConnectionStatus
  - `configured` boolean
  - `connector_id` string
  - `base_url` string
  - `database` string
  - `username` string
  - `display_name` string
  - `api_key_set` boolean
  - `updated_at` number

## Other responses

- `400`: Validation error (missing fields or invalid credentials)
- `401`: Unauthorized

---

[API](https://skmtc.dev/corpusiq/apis/multi-source-mcp-api.md) · [All operations](https://skmtc.dev/corpusiq/apis/multi-source-mcp-api/llms.txt) · [OpenAPI document](https://skmtc.dev/corpusiq/apis/multi-source-mcp-api/revisions/e25648ba6027?raw)
