IM
EN
Docs Home
Menu
Guides

Provider Credentials And Connectivity

Register IMAP/SMTP credentials, validate connectivity, and manage credential lifecycle.

inbox-manager client-flow

Provider Credentials And Connectivity

Purpose: register IMAP/SMTP credentials, validate connectivity, and maintain credential lifecycle.

UI Flow

  1. User enters IMAP and SMTP host/port/security mode and secret values.
  2. UI creates credential with POST /api/accounts/:account_id/provider-credentials.
  3. UI immediately validates using POST /api/provider-credentials/:provider_credential_id/test.
  4. UI lists credentials and validation status.
  5. UI supports rotate (/rotate) and delete for credential hygiene.

Client Library Flow

const imapCredential = await api.credentials.create(accountId, {
  provider_kind: "imap",
  label: "Work IMAP",
  host: "mail.example.com",
  port: 993,
  security_mode: "ssl_tls",
  auth_kind: "password",
  secret: { username, password },
});
await api.credentials.test(imapCredential.data.id);

HTTP/curl Flow

API_BASE_URL="https://api.inbox-manager.com"

curl -sS -X POST "${API_BASE_URL}/api/accounts/${ACCOUNT_ID}/provider-credentials" \
  -H "authorization: Bearer ${BEARER_TOKEN}" \
  -H "content-type: application/json" \
  --data '{
    "provider_kind":"imap",
    "label":"Work IMAP",
    "host":"mail.example.com",
    "port":993,
    "security_mode":"ssl_tls",
    "auth_kind":"password",
    "secret":{"username":"user@example.com","password":"***"}
  }'

curl -sS -X POST "${API_BASE_URL}/api/provider-credentials/${PROVIDER_CREDENTIAL_ID}/test" \
  -H "authorization: Bearer ${BEARER_TOKEN}"

curl -sS -X POST "${API_BASE_URL}/api/provider-credentials/${PROVIDER_CREDENTIAL_ID}/rotate" \
  -H "authorization: Bearer ${BEARER_TOKEN}" \
  -H "content-type: application/json" \
  --data '{"secret":{"username":"user@example.com","password":"***"}}'

Validation Script

  • scripts/provider_credentials_flow.sh