Skip to main content

Providers

10 API calls in this section.

Provider responses return stored provider values in plain text, including api_key and config. Existing authenticated GET behavior is unchanged. PATCH /provider/providers/:key is JWT-only and requires manage:providers:system; API keys and callers without that permission receive 403 rbac_forbidden before request parsing or provider database access.

List providers (grouped)​

Platform & Access / Providers
GET/provider/providers

Read the system’s integration provider configuration, grouped by provider category.

Headers

ParameterTypeDescription
Authorizationstring

Example: Bearer {{access_token}}

Content-Typestring

Example: application/json

Staging
Request
curl
1curl --globoff --request GET "https://staging-api.ondi.io/functions/v1/provider/providers" \2  --header "Authorization: Bearer ${ONDI_ACCESS_TOKEN}" \3  --header "Content-Type: application/json"

Response examples

No saved response example. Use Try it to inspect a staging response.

List providers by category (AI)​

Platform & Access / Providers
GET/provider/providers

Read the configured AI providers when choosing or managing an AI integration.

Query parameters

ParameterTypeDescription
categorystring

Example: ai

Headers

ParameterTypeDescription
Authorizationstring

Example: Bearer {{access_token}}

Content-Typestring

Example: application/json

Staging
Request
curl
1curl --globoff --request GET "https://staging-api.ondi.io/functions/v1/provider/providers?category=ai" \2  --header "Authorization: Bearer ${ONDI_ACCESS_TOKEN}" \3  --header "Content-Type: application/json"

Response examples

No saved response example. Use Try it to inspect a staging response.

List providers by category (SMS)​

Platform & Access / Providers
GET/provider/providers

Read the configured SMS providers when choosing or managing message delivery.

Query parameters

ParameterTypeDescription
categorystring

Example: sms

Headers

ParameterTypeDescription
Authorizationstring

Example: Bearer {{access_token}}

Content-Typestring

Example: application/json

Staging
Request
curl
1curl --globoff --request GET "https://staging-api.ondi.io/functions/v1/provider/providers?category=sms" \2  --header "Authorization: Bearer ${ONDI_ACCESS_TOKEN}" \3  --header "Content-Type: application/json"

Response examples

No saved response example. Use Try it to inspect a staging response.

Get provider by key​

Platform & Access / Providers
GET/provider/providers/gemini

Read the configuration of one system integration provider by its provider key.

Headers

ParameterTypeDescription
Authorizationstring

Example: Bearer {{access_token}}

Content-Typestring

Example: application/json

Staging
Request
curl
1curl --globoff --request GET "https://staging-api.ondi.io/functions/v1/provider/providers/gemini" \2  --header "Authorization: Bearer ${ONDI_ACCESS_TOKEN}" \3  --header "Content-Type: application/json"

Response examples

No saved response example. Use Try it to inspect a staging response.

Patch provider (update Gemini)​

Platform & Access / Providers
PATCH/provider/providers/gemini

Requires a user JWT with manage

providers:system. API keys and callers without permission receive 403 before body parsing or database access. Accepts only category, display_name, icon_url, is_active, api_key, config, and description. Category must match the provider key. Config fields and HTTPS destination hosts are validated per provider. Success returns 200 {success:true,data}. Important errors: 400 invalid request/config/destination, 403 rbac_forbidden, 404 provider_not_found, 500 internal_server_error.

Headers

ParameterTypeDescription
Authorizationstring

Example: Bearer {{access_token}}

Content-Typestring

Example: application/json

Body parameters

ParameterTypeDescription
display_namestring—
is_activeboolean—
api_keystring—
configobject—
config.modelstring—
Staging
Request
curl
1curl --globoff --request PATCH "https://staging-api.ondi.io/functions/v1/provider/providers/gemini" \2  --header "Authorization: Bearer ${ONDI_ACCESS_TOKEN}" \3  --header "Content-Type: application/json" \4  --data-raw '{5  "display_name": "Google Gemini",6  "is_active": true,7  "api_key": "REPLACE_ME",8  "config": {9    "model": "gemini-1.5-pro"10  }11}'

Response examples

200OK
Response body
json
1{2  "success": true,3  "data": {4    "key": "gemini",5    "category": "ai",6    "display_name": "Google Gemini",7    "is_active": true,8    "api_key": "REPLACE_ME",9    "config": {10      "model": "gemini-1.5-pro"11    }12  }13}

Get SMS provider (Twilio)​

Platform & Access / Providers
GET/provider/providers/twilio

Read the Twilio provider configuration used by the SMS integration.

Headers

ParameterTypeDescription
Authorizationstring

Example: Bearer {{access_token}}

Content-Typestring

Example: application/json

Staging
Request
curl
1curl --globoff --request GET "https://staging-api.ondi.io/functions/v1/provider/providers/twilio" \2  --header "Authorization: Bearer ${ONDI_ACCESS_TOKEN}" \3  --header "Content-Type: application/json"

Response examples

No saved response example. Use Try it to inspect a staging response.

Update Twilio SMS provider​

Platform & Access / Providers
PATCH/provider/providers/twilio

Same PATCH authorization contract

user JWT plus manage:providers:system. Twilio baseUrl must use HTTPS on api.twilio.com. Unsupported fields, config values, and destinations are rejected before the single update query.

Headers

ParameterTypeDescription
Authorizationstring

Example: Bearer {{access_token}}

Content-Typestring

Example: application/json

Body parameters

ParameterTypeDescription
is_activeboolean—
api_keystring—
configobject—
config.baseUrlstring—
config.accountSidstring—
config.authTokenstring—
config.messagingServiceSidstring—
Staging
Request
curl
1curl --globoff --request PATCH "https://staging-api.ondi.io/functions/v1/provider/providers/twilio" \2  --header "Authorization: Bearer ${ONDI_ACCESS_TOKEN}" \3  --header "Content-Type: application/json" \4  --data-raw '{5  "is_active": true,6  "api_key": "",7  "config": {8    "baseUrl": "https://api.twilio.com/2010-04-01",9    "accountSid": "AC...",10    "authToken": "...",11    "messagingServiceSid": "MG..."12  }13}'

Response examples

No saved response example. Use Try it to inspect a staging response.

Update Verifyway SMS provider​

Platform & Access / Providers
PATCH/provider/providers/verifyway

Same PATCH authorization contract

user JWT plus manage:providers:system. Verifyway baseUrl must use HTTPS on gateway.standingtech.com and apiPath must be a relative path beginning with /. Unsupported values are rejected before update.

Headers

ParameterTypeDescription
Authorizationstring

Example: Bearer {{access_token}}

Content-Typestring

Example: application/json

Body parameters

ParameterTypeDescription
is_activeboolean—
api_keystring—
configobject—
config.baseUrlstring—
config.apiPathstring—
config.senderIdstring—
config.defaultLangstring—
Staging
Request
curl
1curl --globoff --request PATCH "https://staging-api.ondi.io/functions/v1/provider/providers/verifyway" \2  --header "Authorization: Bearer ${ONDI_ACCESS_TOKEN}" \3  --header "Content-Type: application/json" \4  --data-raw '{5  "is_active": true,6  "api_key": "your_verifyway_api_key",7  "config": {8    "baseUrl": "https://gateway.standingtech.com/api/v5",9    "apiPath": "/sms/send",10    "senderId": "YourBrand",11    "defaultLang": "en"12  }13}'

Response examples

No saved response example. Use Try it to inspect a staging response.

Update Otpiq SMS provider​

Platform & Access / Providers
PATCH/provider/providers/otpiq

Same PATCH authorization contract

user JWT plus manage:providers:system. OtpIQ baseUrl must use HTTPS on api.otpiq.com. Arbitrary webhook destinations are rejected; webhookUrl remains empty until an approved callback host is defined.

Headers

ParameterTypeDescription
Authorizationstring

Example: Bearer {{access_token}}

Content-Typestring

Example: application/json

Body parameters

ParameterTypeDescription
is_activeboolean—
api_keystring—
configobject—
config.baseUrlstring—
config.defaultProviderstring—
config.senderIdstring—
config.webhookUrlstring—
config.webhookTypestring—
config.webhookSecretstring—
Staging
Request
curl
1curl --globoff --request PATCH "https://staging-api.ondi.io/functions/v1/provider/providers/otpiq" \2  --header "Authorization: Bearer ${ONDI_ACCESS_TOKEN}" \3  --header "Content-Type: application/json" \4  --data-raw '{5  "is_active": true,6  "api_key": "your_otpiq_api_key",7  "config": {8    "baseUrl": "https://api.otpiq.com/api",9    "defaultProvider": "sms",10    "senderId": "YourBrand",11    "webhookUrl": "",12    "webhookType": "all",13    "webhookSecret": ""14  }15}'

Response examples

No saved response example. Use Try it to inspect a staging response.

List Gemini models​

Platform & Access / Providers
GET/provider/ai/gemini/models

Load Google’s model list using the active Gemini provider key stored in OnDi. The caller does not supply a Gemini API key.

Headers

ParameterTypeDescription
Authorizationstring

Example: Bearer {{access_token}}

Content-Typestring

Example: application/json

Staging
Request
curl
1curl --globoff --request GET "https://staging-api.ondi.io/functions/v1/provider/ai/gemini/models" \2  --header "Authorization: Bearer ${ONDI_ACCESS_TOKEN}" \3  --header "Content-Type: application/json"

Response examples

No saved response example. Use Try it to inspect a staging response.