Connection & Status
Inspect a datasource's status and connection settings, test connectivity, and update the connection.
GET /api/datasources/{id}/status
Get the driver-reported status (health/availability) of a datasource.
Path Parameters:
| Parameter | Type | Description |
|---|---|---|
id | string | Datasource ID |
{
"_links": {
"self": {
"href": "https://informer.example.com/api/datasources/admin%3Anorthwind/status"
}
},
"status": "online"
}
GET /api/datasources/{id}/connection
Get the driver-specific connection settings.
Permissions: datasource:write
Connection settings are only readable by users who can edit the connection; other users receive 403 even when they can read the datasource itself.
Response:
The connection config. The password is returned encrypted (encrypted:iv:...), never as plaintext.
The response also carries integrationId, the Integration whose access token authenticates the connection (null when there is none), and embeds that Integration as inf:connection-integration when the requester can read it; one defined inside the Datasource is connection content and always embeds. The embedded Integration matches the inf:integrations collection's entity, without clientSecret or apiKey, plus a status object: canSupplyAccessToken, connected, and for a shared OAuth2 connection expired, lastAuthorizedAt, tokenExpiresAt, refreshTokenExpiresAt, and hasRefreshToken. Who authorized the connection is withheld, as on GET /api/integrations/{id}/connection. An integrationId without an embedded Integration means the requester may edit the connection but cannot view that Integration.
{
"_links": {
"self": {
"href": "https://informer.example.com/api/datasources/admin%3Anorthwind/connection"
}
},
"host": "localhost",
"pool": {
"max": 5,
"min": 0,
"idle": 10000,
"acquire": 10000
},
"port": 5432,
"user": "northwinduser",
"database": "northwind",
"password": "encrypted:iv:0000000000000000",
"idleTimeoutMillis": 7
}
POST /api/datasources/{id}/_ping
Test connectivity using the stored connection.
Permissions: datasource:write
Path Parameters:
| Parameter | Type | Description |
|---|---|---|
id | string | Datasource ID |
Request Body:
Optional. { "options": { ... } } passes driver-specific options through to the status check; unrecognized keys are stripped. A body-less POST tests the stored connection. To test connection settings that are not saved yet, use POST /api/datasource-drivers/{id}/_ping instead.
Response:
Always 200 with a status report: { "status": "online" | "error", "message": ... }. An unreachable datasource is reported in the body, not as an HTTP error, so read status to determine connectivity.
{}
{
"_links": {
"self": {
"href": "https://informer.example.com/api/datasources/admin%3Anorthwind/_ping"
}
},
"status": "online"
}
PUT /api/datasources/{id}/connection
Replace the connection settings.
Permissions: datasource:write
Request Body:
The driver-specific connection object. The password is stored encrypted.
{
"host": "db.example.com",
"port": 5432,
"database": "northwind",
"user": "reporting",
"password": "secretPassword"
}
{
"_links": {
"self": {
"href": "https://informer.example.com/api/datasources/admin%3Anorthwind/connection"
}
},
"host": "db.example.com",
"port": 5432,
"database": "northwind",
"user": "reporting",
"password": "encrypted:iv:0000000000000000",
"ssl": {
"enabled": false,
"rejectUnauthorized": false
}
}
POST /api/datasources/{id}/connection/_reset
Purge the driver's pooled connections for this datasource. Only valid for drivers that pool connections (returns 400 otherwise). Responds 200 with no body on success.