Services
List the services connected to the authenticated Gazebo account. Credential values are never included.
List connected services
GET /api/v1/services
Requires an account API token.
curl https://app.gazebohq.com/api/v1/services \
-H "Authorization: Bearer YOUR_ACCOUNT_API_TOKEN"
Response
[
{
"service": "stripe",
"connectedAt": "2026-09-04T05:42:18.000Z",
"keyType": "api_key"
},
{
"service": "google",
"connectedAt": "2026-09-03T23:11:02.000Z",
"keyType": "oauth"
}
]
| Field | Type | Description |
|---|---|---|
service | string | Gazebo's normalized service identifier |
connectedAt | ISO 8601 timestamp | When the selected credential record was connected |
keyType | api_key or oauth | How the service is authenticated |
An empty array means the account has no connected services.
Test credentials without storing them
POST /api/v1/services/test
curl https://app.gazebohq.com/api/v1/services/test \
-X POST \
-H "Authorization: Bearer YOUR_ACCOUNT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"service": "stripe",
"credentials": [
{ "keyName": "api_key", "value": "YOUR_STRIPE_KEY" }
]
}'
When Gazebo has a server-owned verification endpoint for the provider, verified is true only after that provider accepts the credential:
{ "ok": true, "verified": true }
For custom or unsupported providers, Gazebo never sends credentials to a caller-provided URL. The response instead makes the skipped remote check explicit:
{ "ok": true, "verified": false }
Store or replace credentials
PUT /api/v1/services/credentials
The request uses the same service and credentials shape as the test endpoint. Saving replaces every existing credential field for that service, so include the complete set on each request.
curl https://app.gazebohq.com/api/v1/services/credentials \
-X PUT \
-H "Authorization: Bearer YOUR_ACCOUNT_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"service": "stripe",
"credentials": [
{ "keyName": "api_key", "value": "YOUR_STRIPE_KEY" }
]
}'
Credential values are encrypted before storage and are never returned by the account API. Test first when verified: true is required by your automation.
Remove a service's credentials
DELETE /api/v1/services/credentials/{service}
curl https://app.gazebohq.com/api/v1/services/credentials/stripe \
-X DELETE \
-H "Authorization: Bearer YOUR_ACCOUNT_API_TOKEN"
This removes every stored credential field for the normalized service identifier. Agents immediately lose access to that service.