DocumentationGET List connected providers
Providers API
GET
/providersList connected providers
Lists provider connection rows for this environment, including status, health and explicitly public provider keys. Disabled or historical rows may be present; secret credentials are never returned.
Use your sandbox environment to start. Understand error codes and payment statuses before handling a live payment.
List connected providers
curl --request GET "https://api.veyqo.org/api/v1/providers" \
--header "Authorization: Bearer $VEYQO_SECRET_KEY" \
--header "Accept: application/json"{
"success": true,
"data": [
{
"provider": "paystack",
"name": "Paystack",
"status": "active",
"health": "healthy",
"currencies": [
"NGN",
"GHS",
"ZAR",
"KES",
"USD"
],
"capabilities": [
"collections",
"refunds",
"transfers"
],
"public_credentials": {
"public_key": "pk_test_public_example"
},
"connected_at": "2026-11-02T12:00:00+00:00"
}
]
}Illustrative examples. Replace IDs and environment variables with your own values. Keep secret keys on your server.
Headers
Authorizationstringrequired- Bearer <secret-key>. This key determines your project environment and must stay on your server.
Acceptstringoptional- application/json
Endpoint
GET https://api.veyqo.org/api/v1/providers
Server secret key required. Scope: payments:read. The key determines the project and environment; no project-selection header is accepted.
Response fields
providerstringrequired- Provider slug.
namestringrequired- Provider display name.
statusstringrequired- Connection status; active does not guarantee a healthy provider account.
healthstringrequired- Observed connection health.
currenciesarrayrequired- See the JSON example.
capabilitiesarrayrequired- See the JSON example.
public_credentialsobjectrequired- Only provider keys explicitly marked public, such as public_key. Never includes secret credentials.
connected_atstring | nullrequired- ISO 8601 timestamp. Format: date-time.
data is an array. public_credentials contains only deliberately public provider keys; your Veyqo secret key and provider secret keys must remain on your server.
Errors and recovery
| Code | HTTP | Recovery | Retry policy |
|---|---|---|---|
| INVALID_API_KEY | 401 | Use a current kc_test_ or kc_live_ secret key on /api/v1. Use a pk_test_ or pk_live_ publishable key only on browser checkout. | After fixing credentials. |
| INSUFFICIENT_PERMISSION | 403 | Grant the required scope or use a suitably scoped key. Dashboard organization roles and staff permissions are separate. | After permission changes. |
| RATE_LIMIT_EXCEEDED | 429 | Honor Retry-After, use bounded exponential backoff with jitter, and reduce concurrent requests. Read X-RateLimit headers. | Yes, after Retry-After; preserve write idempotency. |
| METHOD_NOT_ALLOWED | 405 | Use the method documented for the endpoint, such as POST for verification and refunds. | After fixing the method. |
| INTERNAL_ERROR | 500 | Record X-Request-Id, timestamp and sanitized request context. Reconcile unknown payment outcomes before retrying a write; contact support if it persists. | Safe reads: bounded backoff. Writes: reconcile first. |