Get Version Detail
Fetch the complete configuration and test data for a single connector version — including soft-deleted past versions. This powers the version-history diff viewer, which needs the full payload of any historical version, something the regular Get Connector cannot return because it filters out soft-deleted rows.
GET /api/connectors/{id}/versions/{versionId}
Authorization
- Analyst (or admin): Required. Unauthenticated requests receive
401; users without the role receive403.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Any version of the connector family (used to resolve the platformName); may itself be soft-deleted |
versionId | string | Yes | The specific version to load |
id and versionId must belong to the same connector family — they must share a platformName. This scopes access so a caller can only read versions of a connector they are already viewing.
Response
All fields use snake_case. Test-data sub-fields are unpacked from the __-prefixed blob stored inside paginationConfigs.
{
"id": "conn_slack001",
"version": "1.2.0",
"status": "production",
"is_active": false,
"restored_from": null,
"commit_message": "Add conversations.history endpoint",
"created_at": "2024-01-15T10:30:00Z",
"created_by": { "id": "analyst_001", "full_name": "John Doe" },
"platform_name": "Slack",
"platform_url": "https://slack.com/api",
"documentation_url": "https://api.slack.com/docs",
"endpoints": [ ... ],
"auth_config": { ... },
"rate_limit_global": { "requests": 100, "window_seconds": 60 },
"default_data_extraction": null,
"runtime_parameters": null,
"dependency_mappings": [ ... ],
"pagination_configs": { ... },
"reusable_variables": [ ... ],
"static_variables": [ ... ],
"execution_order": ["ep_conv_list", "ep_conv_history"],
"body_configs": { ... },
"recursion_configs": { ... },
"rate_limit_configs": { ... },
"url_download_queue": null,
"runtime_parameter_values": { ... }
}
Notable fields
| Field | Description |
|---|---|
is_active | true when this version is the live one (deletedAt is null), false for soft-deleted history |
restored_from | The version ID this one was restored from, or null |
endpoints[].path | Endpoint paths are normalized to {param} syntax |
pagination_configs | Per-endpoint pagination, with all __-prefixed internal keys stripped out into their own fields |
execution_order | Ordered endpoint IDs, or null if not set |
Example Request
curl -X GET "https://api.traces.io/api/connectors/conn_slack002/versions/conn_slack001" \
-H "Authorization: Bearer <token>"
Error Responses
401 Unauthorized
{ "error": { "code": "UNAUTHORIZED", "message": "Authentication required" } }
403 Forbidden
{ "error": { "code": "FORBIDDEN", "message": "Analyst role required" } }
404 Not Found
Returned when the reference connector does not exist, or the requested version is not part of the same family:
{ "error": { "code": "NOT_FOUND", "message": "Version not found" } }
500 Internal Server Error
{ "error": { "code": "INTERNAL_ERROR", "message": "Failed to fetch connector version" } }