Bot · AI providers (BYOK)

Referencia de 4 endpoints generados desde mosend-wb-backend/src/modules/bot/org-ai-providers/org-ai-providers.controller.ts.

Base path: /organizations/:orgId/bot/ai-providers·4 endpoints·Source: mosend-wb-backend/src/modules/bot/org-ai-providers/org-ai-providers.controller.ts
GET/organizations/:orgId/bot/ai-providers
bearer

Lista los 4 proveedores soportados (Anthropic, OpenAI, OpenRouter, Groq) con su estado para esta org. La API key nunca se devuelve.

Path params

  • orgIdstringrequerido

Respuestas

  • 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/bot/ai-providers' \
  -H 'X-Api-Key: mk_live_<prefix>.<secret>'
Response · 200
{
  "data": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "createdAt": "2026-05-01T03:42:18.123Z"
    }
  ],
  "timestamp": "2026-05-01T03:42:18.123Z"
}
PUT/organizations/:orgId/bot/ai-providers/:provider
bearer

Crea o actualiza la config del proveedor para esta org. Recibe apiKey en plaintext, se persiste cifrada con AES-GCM.

Path params

  • orgIdstringrequerido
  • providerstringrequerido

Body (JSON)

  • apiKeystring

    Key en plaintext. Opcional al actualizar (mantiene la actual si no se pasa).

  • enabledboolean
  • defaultModelstring

    Override del modelo default. Null o '' para borrar el override.

Respuestas

  • 200
curl -X PUT 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/bot/ai-providers/<provider>' \
  -H 'X-Api-Key: mk_live_<prefix>.<secret>' \
  -H 'Content-Type: application/json' \
  -d '{"apiKey": "<apiKey>","enabled": true,"defaultModel": "<defaultModel>"}'
Response · 200
{
  "data": {
    "id": "00000000-0000-0000-0000-000000000000",
    "name": "string",
    "description": "string"
  },
  "timestamp": "2026-05-01T03:42:18.123Z"
}
DELETE/organizations/:orgId/bot/ai-providers/:provider
bearer

Elimina la config del proveedor. La org vuelve a usar fallback (si existe) o queda sin key.

Path params

  • orgIdstringrequerido
  • providerstringrequerido

Respuestas

  • 204
curl -X DELETE 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/bot/ai-providers/<provider>' \
  -H 'X-Api-Key: mk_live_<prefix>.<secret>'
Response · 200
{
  "data": {
    "id": "00000000-0000-0000-0000-000000000000",
    "createdAt": "2026-05-01T03:42:18.123Z"
  },
  "timestamp": "2026-05-01T03:42:18.123Z"
}
POST/organizations/:orgId/bot/ai-providers/:provider/test
bearer

Verifica que la API key funciona haciendo un ping mínimo al proveedor. Persiste el resultado en lastTestedAt/lastTestError.

Path params

  • orgIdstringrequerido
  • providerstringrequerido

Respuestas

  • 201
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/bot/ai-providers/<provider>/test' \
  -H 'X-Api-Key: mk_live_<prefix>.<secret>'
Response · 200
{
  "data": {
    "id": "00000000-0000-0000-0000-000000000000",
    "createdAt": "2026-05-01T03:42:18.123Z"
  },
  "timestamp": "2026-05-01T03:42:18.123Z"
}