Connectors API
Test a Connection
Validates that the provided credentials have access to the platform and returns basic metadata.
POST /api/connectors/testRequest body (Azure DevOps):
{
"type": "azure_devops",
"credentials": {
"organization_url": "https://dev.azure.com/yourorg",
"project": "YourProject",
"personal_access_token": "your-pat"
}
}Request body (Jira Cloud):
{
"type": "jira",
"credentials": {
"base_url": "https://yourorg.atlassian.net",
"email": "migration@company.com",
"api_token": "your-jira-token",
"project_key": "PROJ"
}
}Response (200 OK):
{
"success": true,
"message": "Connection verified",
"metadata": {
"organisation": "Your Organisation",
"project": "YourProject",
"itemCount": 5847
}
}Response (failure):
{
"success": false,
"message": "Authentication failed: PAT does not have Work Items (Read) permission"
}Run a Scan
Scans an ADO project and returns the full audit report with item counts, iteration tree, area tree, custom fields, and pricing.
POST /api/connectors/scanRequest body:
{
"type": "azure_devops",
"credentials": {
"organization_url": "https://dev.azure.com/yourorg",
"project": "YourProject",
"personal_access_token": "your-pat"
}
}Response (200 OK):
{
"totalWorkItems": 5847,
"typeCounts": {
"Epic": 42,
"Feature": 87,
"User Story": 2847,
"Task": 1634,
"Bug": 992,
"Test Case": 245
},
"iterationPaths": [
{
"path": "MyProject\\2025\\Q1\\Sprint 1",
"startDate": "2025-01-06",
"endDate": "2025-01-17",
"itemCount": 41
}
],
"areaPaths": [
{
"path": "MyProject\\Backend\\API",
"depth": 3,
"itemCount": 44
}
],
"customFields": [
{
"referenceName": "Custom.RegulatoryRef",
"name": "Regulatory Reference",
"type": "String",
"itemCount": 247
}
],
"attachmentTotalGb": 4.2,
"commentCount": 8302,
"pricing": {
"totalItems": 5847,
"attachmentGb": 4.2,
"basePrice": 99.00,
"discountPercent": 5,
"finalPriceGbp": 94.05,
"currency": "GBP"
}
}The scan is asynchronous for large projects. For projects over 10,000 items, the response includes a scanId that you can poll:
GET /api/audit/{scanId}