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)
/provider/providersRead the system’s integration provider configuration, grouped by provider category.
Headers
| Parameter | Type | Description |
|---|---|---|
Authorization | string | Example: |
Content-Type | string | Example: |
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)
/provider/providersRead the configured AI providers when choosing or managing an AI integration.
Query parameters
| Parameter | Type | Description |
|---|---|---|
category | string | Example: |
Headers
| Parameter | Type | Description |
|---|---|---|
Authorization | string | Example: |
Content-Type | string | Example: |
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)
/provider/providersRead the configured SMS providers when choosing or managing message delivery.
Query parameters
| Parameter | Type | Description |
|---|---|---|
category | string | Example: |
Headers
| Parameter | Type | Description |
|---|---|---|
Authorization | string | Example: |
Content-Type | string | Example: |
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
/provider/providers/geminiRead the configuration of one system integration provider by its provider key.
Headers
| Parameter | Type | Description |
|---|---|---|
Authorization | string | Example: |
Content-Type | string | Example: |
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)
/provider/providers/geminiRequires 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
| Parameter | Type | Description |
|---|---|---|
Authorization | string | Example: |
Content-Type | string | Example: |
Body parameters
| Parameter | Type | Description |
|---|---|---|
display_name | string | — |
is_active | boolean | — |
api_key | string | — |
config | object | — |
config.model | string | — |
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
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)
/provider/providers/twilioRead the Twilio provider configuration used by the SMS integration.
Headers
| Parameter | Type | Description |
|---|---|---|
Authorization | string | Example: |
Content-Type | string | Example: |
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
/provider/providers/twilioSame 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
| Parameter | Type | Description |
|---|---|---|
Authorization | string | Example: |
Content-Type | string | Example: |
Body parameters
| Parameter | Type | Description |
|---|---|---|
is_active | boolean | — |
api_key | string | — |
config | object | — |
config.baseUrl | string | — |
config.accountSid | string | — |
config.authToken | string | — |
config.messagingServiceSid | string | — |
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
/provider/providers/verifywaySame 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
| Parameter | Type | Description |
|---|---|---|
Authorization | string | Example: |
Content-Type | string | Example: |
Body parameters
| Parameter | Type | Description |
|---|---|---|
is_active | boolean | — |
api_key | string | — |
config | object | — |
config.baseUrl | string | — |
config.apiPath | string | — |
config.senderId | string | — |
config.defaultLang | string | — |
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
/provider/providers/otpiqSame 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
| Parameter | Type | Description |
|---|---|---|
Authorization | string | Example: |
Content-Type | string | Example: |
Body parameters
| Parameter | Type | Description |
|---|---|---|
is_active | boolean | — |
api_key | string | — |
config | object | — |
config.baseUrl | string | — |
config.defaultProvider | string | — |
config.senderId | string | — |
config.webhookUrl | string | — |
config.webhookType | string | — |
config.webhookSecret | string | — |
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
/provider/ai/gemini/modelsLoad Google’s model list using the active Gemini provider key stored in OnDi. The caller does not supply a Gemini API key.
Headers
| Parameter | Type | Description |
|---|---|---|
Authorization | string | Example: |
Content-Type | string | Example: |
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.