{
"components": {
"schemas": {
"AccountResponse": {
"description": "Account information response.",
"properties": {
"email": {
"title": "Email",
"type": "string"
},
"first_name": {
"nullable": true,
"title": "First Name",
"type": "string"
},
"id": {
"title": "Id",
"type": "integer"
},
"is_verified": {
"title": "Is Verified",
"type": "boolean"
},
"last_name": {
"nullable": true,
"title": "Last Name",
"type": "string"
}
},
"required": [
"id",
"email",
"is_verified"
],
"title": "AccountResponse",
"type": "object"
},
"AccountUpdateRequest": {
"description": "Request to update account information.",
"properties": {
"first_name": {
"description": "First name",
"maxLength": 255,
"minLength": 1,
"nullable": true,
"title": "First Name",
"type": "string"
},
"last_name": {
"description": "Last name",
"maxLength": 255,
"minLength": 1,
"nullable": true,
"title": "Last Name",
"type": "string"
}
},
"title": "AccountUpdateRequest",
"type": "object"
},
"ApiKeyResponse": {
"description": "API key response.",
"properties": {
"api_key": {
"description": "API key for the project",
"title": "Api Key",
"type": "string"
},
"created_at": {
"description": "API key creation timestamp",
"format": "date-time",
"title": "Created At",
"type": "string"
},
"project_id": {
"description": "Project ID",
"title": "Project Id",
"type": "integer"
}
},
"required": [
"api_key",
"project_id",
"created_at"
],
"title": "ApiKeyResponse",
"type": "object"
},
"BearerResponse": {
"properties": {
"access_token": {
"title": "Access Token",
"type": "string"
},
"token_type": {
"title": "Token Type",
"type": "string"
}
},
"required": [
"access_token",
"token_type"
],
"title": "BearerResponse",
"type": "object"
},
"Body_reset_forgot_password_auth_forgot_password_post": {
"properties": {
"email": {
"format": "email",
"title": "Email",
"type": "string"
}
},
"required": [
"email"
],
"title": "Body_reset_forgot_password_auth_forgot_password_post",
"type": "object"
},
"Body_reset_reset_password_auth_reset_password_post": {
"properties": {
"password": {
"title": "Password",
"type": "string"
},
"token": {
"title": "Token",
"type": "string"
}
},
"required": [
"token",
"password"
],
"title": "Body_reset_reset_password_auth_reset_password_post",
"type": "object"
},
"Body_upload_test_data_tests_upload_post": {
"properties": {
"agent_version": {
"description": "Version of testlint-sdk that created the upload",
"title": "Agent Version",
"type": "string"
},
"anonymization_version": {
"description": "Anonymization version (currently 1)",
"title": "Anonymization Version",
"type": "integer"
},
"branch_name": {
"description": "Git branch name",
"title": "Branch Name",
"type": "string"
},
"commit_sha": {
"description": "Git commit SHA hash",
"maxLength": 40,
"minLength": 7,
"title": "Commit Sha",
"type": "string"
},
"commit_timestamp": {
"description": "ISO 8601 timestamp when commit was created (optional)",
"nullable": true,
"title": "Commit Timestamp",
"type": "string"
},
"environment": {
"description": "Environment name (production, staging, development, or custom)",
"title": "Environment",
"type": "string"
},
"file": {
"description": "Test data (coverage, test results) as .tar.gz archive",
"format": "binary",
"title": "File",
"type": "string"
},
"reported_at": {
"description": "ISO 8601 timestamp when coverage was generated",
"title": "Reported At",
"type": "string"
},
"salt": {
"description": "64-character hex salt for test name hashing",
"maxLength": 64,
"minLength": 64,
"title": "Salt",
"type": "string"
},
"test_type": {
"$ref": "#/components/schemas/quality__api__tests__routes__TestType",
"description": "Test type: unit, integration, or e2e"
}
},
"required": [
"file",
"commit_sha",
"branch_name",
"test_type",
"environment",
"reported_at",
"agent_version",
"salt",
"anonymization_version"
],
"title": "Body_upload_test_data_tests_upload_post",
"type": "object"
},
"Body_verify_request_token_auth_request_verify_token_post": {
"properties": {
"email": {
"format": "email",
"title": "Email",
"type": "string"
}
},
"required": [
"email"
],
"title": "Body_verify_request_token_auth_request_verify_token_post",
"type": "object"
},
"Body_verify_verify_auth_verify_post": {
"properties": {
"token": {
"title": "Token",
"type": "string"
}
},
"required": [
"token"
],
"title": "Body_verify_verify_auth_verify_post",
"type": "object"
},
"CheckoutSessionRequest": {
"description": "Request to create a checkout session.",
"properties": {
"cancel_url": {
"description": "URL to redirect if payment is canceled",
"title": "Cancel Url",
"type": "string"
},
"price_id": {
"description": "Stripe price ID",
"title": "Price Id",
"type": "string"
},
"success_url": {
"description": "URL to redirect after successful payment",
"title": "Success Url",
"type": "string"
}
},
"required": [
"price_id",
"success_url",
"cancel_url"
],
"title": "CheckoutSessionRequest",
"type": "object"
},
"CheckoutSessionResponse": {
"description": "Checkout session response.",
"properties": {
"session_id": {
"description": "Stripe checkout session ID",
"title": "Session Id",
"type": "string"
},
"url": {
"description": "Checkout URL",
"title": "Url",
"type": "string"
}
},
"required": [
"session_id",
"url"
],
"title": "CheckoutSessionResponse",
"type": "object"
},
"CodeSearchMatch": {
"description": "A single text match in search results.",
"properties": {
"indices": {
"items": {
"type": "integer"
},
"nullable": true,
"title": "Indices",
"type": "array"
},
"text": {
"title": "Text",
"type": "string"
}
},
"required": [
"text"
],
"title": "CodeSearchMatch",
"type": "object"
},
"CodeSearchResponse": {
"description": "Response for code search.",
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/CodeSearchResult"
},
"title": "Items",
"type": "array"
},
"page": {
"title": "Page",
"type": "integer"
},
"per_page": {
"title": "Per Page",
"type": "integer"
},
"total_count": {
"title": "Total Count",
"type": "integer"
}
},
"required": [
"total_count",
"items",
"page",
"per_page"
],
"title": "CodeSearchResponse",
"type": "object"
},
"CodeSearchResult": {
"description": "A single code search result.",
"properties": {
"git_url": {
"title": "Git Url",
"type": "string"
},
"html_url": {
"title": "Html Url",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"path": {
"title": "Path",
"type": "string"
},
"repository_name": {
"title": "Repository Name",
"type": "string"
},
"repository_owner": {
"title": "Repository Owner",
"type": "string"
},
"score": {
"title": "Score",
"type": "number"
},
"sha": {
"title": "Sha",
"type": "string"
},
"text_matches": {
"items": {
"$ref": "#/components/schemas/CodeSearchMatch"
},
"nullable": true,
"title": "Text Matches",
"type": "array"
},
"url": {
"title": "Url",
"type": "string"
}
},
"required": [
"name",
"path",
"sha",
"url",
"git_url",
"html_url",
"repository_name",
"repository_owner",
"score"
],
"title": "CodeSearchResult",
"type": "object"
},
"CommitAuthor": {
"description": "Commit author information.",
"properties": {
"date": {
"description": "Commit date",
"format": "date-time",
"title": "Date",
"type": "string"
},
"email": {
"description": "Author email",
"title": "Email",
"type": "string"
},
"name": {
"description": "Author name",
"title": "Name",
"type": "string"
}
},
"required": [
"name",
"email",
"date"
],
"title": "CommitAuthor",
"type": "object"
},
"CommitInfo": {
"description": "Detailed commit information.",
"properties": {
"author": {
"$ref": "#/components/schemas/CommitAuthor",
"description": "Commit author"
},
"committer": {
"$ref": "#/components/schemas/CommitAuthor",
"description": "Committer"
},
"message": {
"description": "Commit message",
"title": "Message",
"type": "string"
}
},
"required": [
"author",
"committer",
"message"
],
"title": "CommitInfo",
"type": "object"
},
"CommitListResponse": {
"description": "Paginated list of commits.",
"properties": {
"commits": {
"description": "List of commits",
"items": {
"$ref": "#/components/schemas/CommitResponse"
},
"title": "Commits",
"type": "array"
},
"has_next": {
"description": "Whether there is a next page",
"title": "Has Next",
"type": "boolean"
},
"has_prev": {
"description": "Whether there is a previous page",
"title": "Has Prev",
"type": "boolean"
},
"page": {
"description": "Current page number",
"title": "Page",
"type": "integer"
},
"per_page": {
"description": "Items per page",
"title": "Per Page",
"type": "integer"
}
},
"required": [
"commits",
"page",
"per_page",
"has_next",
"has_prev"
],
"title": "CommitListResponse",
"type": "object"
},
"CommitResponse": {
"description": "Single commit response.",
"properties": {
"author": {
"anyOf": [
{
"$ref": "#/components/schemas/CommitUserInfo"
},
{
"nullable": true,
"type": "object"
}
],
"description": "GitHub author info"
},
"commit": {
"$ref": "#/components/schemas/CommitInfo",
"description": "Commit details"
},
"committer": {
"anyOf": [
{
"$ref": "#/components/schemas/CommitUserInfo"
},
{
"nullable": true,
"type": "object"
}
],
"description": "GitHub committer info"
},
"html_url": {
"description": "GitHub commit URL",
"title": "Html Url",
"type": "string"
},
"parents": {
"description": "Parent commits",
"items": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"title": "Parents",
"type": "array"
},
"sha": {
"description": "Commit SHA",
"title": "Sha",
"type": "string"
}
},
"required": [
"sha",
"commit",
"html_url"
],
"title": "CommitResponse",
"type": "object"
},
"CommitUserInfo": {
"description": "GitHub user information.",
"properties": {
"avatar_url": {
"description": "Avatar URL",
"nullable": true,
"title": "Avatar Url",
"type": "string"
},
"html_url": {
"description": "GitHub profile URL",
"nullable": true,
"title": "Html Url",
"type": "string"
},
"login": {
"description": "GitHub username",
"nullable": true,
"title": "Login",
"type": "string"
}
},
"title": "CommitUserInfo",
"type": "object"
},
"ConnectionsListResponse": {
"description": "List of OAuth connections.",
"properties": {
"connections": {
"items": {
"$ref": "#/components/schemas/OAuthConnectionResponse"
},
"title": "Connections",
"type": "array"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"connections",
"total"
],
"title": "ConnectionsListResponse",
"type": "object"
},
"CoverageDataItem": {
"description": "Code coverage data for a single file.",
"properties": {
"branches_covered": {
"description": "Number of branches executed",
"nullable": true,
"title": "Branches Covered",
"type": "integer"
},
"branches_total": {
"description": "Total number of branches",
"nullable": true,
"title": "Branches Total",
"type": "integer"
},
"coverage_percentage": {
"description": "Coverage percentage",
"maximum": 100.0,
"minimum": 0.0,
"title": "Coverage Percentage",
"type": "number"
},
"covered_lines": {
"description": "Number of lines executed",
"title": "Covered Lines",
"type": "integer"
},
"file_path": {
"description": "File path relative to project root",
"title": "File Path",
"type": "string"
},
"lines_covered": {
"description": "List of line numbers that were executed",
"items": {
"type": "integer"
},
"title": "Lines Covered",
"type": "array"
},
"lines_missed": {
"description": "List of line numbers not executed",
"items": {
"type": "integer"
},
"nullable": true,
"title": "Lines Missed",
"type": "array"
},
"metadata": {
"additionalProperties": true,
"description": "Additional metadata",
"nullable": true,
"title": "Metadata",
"type": "object"
},
"total_lines": {
"description": "Total number of executable lines",
"title": "Total Lines",
"type": "integer"
}
},
"required": [
"file_path",
"total_lines",
"covered_lines",
"coverage_percentage",
"lines_covered"
],
"title": "CoverageDataItem",
"type": "object"
},
"CoverageReportResponse": {
"description": "Coverage report summary.",
"properties": {
"branch_name": {
"nullable": true,
"title": "Branch Name",
"type": "string"
},
"commit_sha": {
"title": "Commit Sha",
"type": "string"
},
"commit_timestamp": {
"format": "date-time",
"nullable": true,
"title": "Commit Timestamp",
"type": "string"
},
"covered_lines": {
"nullable": true,
"title": "Covered Lines",
"type": "integer"
},
"environment_id": {
"nullable": true,
"title": "Environment Id",
"type": "integer"
},
"id": {
"title": "Id",
"type": "integer"
},
"overall_coverage": {
"nullable": true,
"title": "Overall Coverage",
"type": "number"
},
"project_id": {
"title": "Project Id",
"type": "integer"
},
"report_timestamp": {
"format": "date-time",
"title": "Report Timestamp",
"type": "string"
},
"status": {
"title": "Status",
"type": "string"
},
"test_type": {
"nullable": true,
"title": "Test Type",
"type": "string"
},
"total_lines": {
"nullable": true,
"title": "Total Lines",
"type": "integer"
}
},
"required": [
"id",
"project_id",
"environment_id",
"commit_sha",
"branch_name",
"commit_timestamp",
"overall_coverage",
"total_lines",
"covered_lines",
"report_timestamp",
"test_type",
"status"
],
"title": "CoverageReportResponse",
"type": "object"
},
"CoverageReportsListResponse": {
"description": "List of coverage reports.",
"properties": {
"reports": {
"items": {
"$ref": "#/components/schemas/CoverageReportResponse"
},
"title": "Reports",
"type": "array"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"reports",
"total"
],
"title": "CoverageReportsListResponse",
"type": "object"
},
"EmailChangeRequest": {
"description": "Request to change email address.",
"properties": {
"new_email": {
"description": "New email address",
"format": "email",
"title": "New Email",
"type": "string"
}
},
"required": [
"new_email"
],
"title": "EmailChangeRequest",
"type": "object"
},
"EmailChangeResponse": {
"description": "Response after requesting email change.",
"properties": {
"message": {
"title": "Message",
"type": "string"
},
"new_email": {
"title": "New Email",
"type": "string"
}
},
"required": [
"message",
"new_email"
],
"title": "EmailChangeResponse",
"type": "object"
},
"EnvironmentCreateRequest": {
"description": "Request to create a new environment.",
"properties": {
"description": {
"nullable": true,
"title": "Description",
"type": "string"
},
"name": {
"maxLength": 100,
"minLength": 1,
"title": "Name",
"type": "string"
}
},
"required": [
"name"
],
"title": "EnvironmentCreateRequest",
"type": "object"
},
"EnvironmentResponse": {
"description": "Environment information.",
"properties": {
"description": {
"nullable": true,
"title": "Description",
"type": "string"
},
"id": {
"title": "Id",
"type": "integer"
},
"is_predefined": {
"title": "Is Predefined",
"type": "boolean"
},
"name": {
"title": "Name",
"type": "string"
},
"project_id": {
"title": "Project Id",
"type": "integer"
}
},
"required": [
"id",
"project_id",
"name",
"is_predefined",
"description"
],
"title": "EnvironmentResponse",
"type": "object"
},
"ErrorModel": {
"properties": {
"detail": {
"nullable": true,
"title": "Detail",
"type": "string"
}
},
"required": [
"detail"
],
"title": "ErrorModel",
"type": "object"
},
"ExecutionPathItem": {
"description": "Single step in an execution path.",
"properties": {
"call_count": {
"default": 1,
"description": "Number of times this was called",
"title": "Call Count",
"type": "integer"
},
"class_name": {
"description": "Class name if applicable",
"nullable": true,
"title": "Class Name",
"type": "string"
},
"duration_ms": {
"description": "Execution time in milliseconds",
"nullable": true,
"title": "Duration Ms",
"type": "number"
},
"file_path": {
"description": "File path relative to project root",
"title": "File Path",
"type": "string"
},
"function_name": {
"description": "Function/method name",
"title": "Function Name",
"type": "string"
},
"line_number": {
"description": "Line number where function is defined",
"nullable": true,
"title": "Line Number",
"type": "integer"
},
"metadata": {
"additionalProperties": true,
"description": "Additional metadata",
"nullable": true,
"title": "Metadata",
"type": "object"
},
"module_name": {
"description": "Module/package name",
"nullable": true,
"title": "Module Name",
"type": "string"
},
"sequence": {
"description": "Order in the execution sequence",
"title": "Sequence",
"type": "integer"
}
},
"required": [
"sequence",
"file_path",
"function_name"
],
"title": "ExecutionPathItem",
"type": "object"
},
"FileCoverageView": {
"description": "File content merged with coverage data.",
"properties": {
"branch": {
"nullable": true,
"title": "Branch",
"type": "string"
},
"commit_sha": {
"title": "Commit Sha",
"type": "string"
},
"coverage_percent": {
"title": "Coverage Percent",
"type": "number"
},
"covered_lines": {
"title": "Covered Lines",
"type": "integer"
},
"file_path": {
"title": "File Path",
"type": "string"
},
"lines": {
"items": {
"$ref": "#/components/schemas/FileLine"
},
"title": "Lines",
"type": "array"
},
"total_lines": {
"title": "Total Lines",
"type": "integer"
}
},
"required": [
"file_path",
"commit_sha",
"branch",
"coverage_percent",
"total_lines",
"covered_lines",
"lines"
],
"title": "FileCoverageView",
"type": "object"
},
"FileLine": {
"description": "Represents a single line of code with coverage information.",
"properties": {
"content": {
"title": "Content",
"type": "string"
},
"coverage_status": {
"title": "Coverage Status",
"type": "string"
},
"line_number": {
"title": "Line Number",
"type": "integer"
},
"test_types": {
"items": {
"type": "string"
},
"nullable": true,
"title": "Test Types",
"type": "array"
}
},
"required": [
"line_number",
"content",
"coverage_status"
],
"title": "FileLine",
"type": "object"
},
"FileNode": {
"description": "Represents a file or folder in the repository tree.",
"properties": {
"children": {
"items": {
"$ref": "#/components/schemas/FileNode"
},
"nullable": true,
"title": "Children",
"type": "array"
},
"coverage": {
"nullable": true,
"title": "Coverage",
"type": "number"
},
"expanded": {
"nullable": true,
"title": "Expanded",
"type": "boolean"
},
"name": {
"title": "Name",
"type": "string"
},
"path": {
"title": "Path",
"type": "string"
},
"type": {
"title": "Type",
"type": "string"
}
},
"required": [
"name",
"type",
"path"
],
"title": "FileNode",
"type": "object"
},
"FileTreeResponse": {
"description": "Response containing file tree with coverage data.",
"properties": {
"branch": {
"nullable": true,
"title": "Branch",
"type": "string"
},
"commit_sha": {
"title": "Commit Sha",
"type": "string"
},
"coverage_report_id": {
"nullable": true,
"title": "Coverage Report Id",
"type": "integer"
},
"overall_coverage": {
"nullable": true,
"title": "Overall Coverage",
"type": "number"
},
"repository_name": {
"title": "Repository Name",
"type": "string"
},
"repository_owner": {
"title": "Repository Owner",
"type": "string"
},
"tree": {
"items": {
"$ref": "#/components/schemas/FileNode"
},
"title": "Tree",
"type": "array"
}
},
"required": [
"coverage_report_id",
"commit_sha",
"branch",
"repository_owner",
"repository_name",
"tree"
],
"title": "FileTreeResponse",
"type": "object"
},
"GitHubRepository": {
"description": "GitHub repository information.",
"properties": {
"clone_url": {
"title": "Clone Url",
"type": "string"
},
"default_branch": {
"title": "Default Branch",
"type": "string"
},
"description": {
"nullable": true,
"title": "Description",
"type": "string"
},
"full_name": {
"title": "Full Name",
"type": "string"
},
"html_url": {
"title": "Html Url",
"type": "string"
},
"id": {
"title": "Id",
"type": "integer"
},
"language": {
"description": "Primary programming language",
"nullable": true,
"title": "Language",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"private": {
"title": "Private",
"type": "boolean"
},
"pushed_at": {
"description": "Last pushed timestamp",
"format": "date-time",
"nullable": true,
"title": "Pushed At",
"type": "string"
},
"ssh_url": {
"title": "Ssh Url",
"type": "string"
},
"updated_at": {
"description": "Last updated timestamp",
"format": "date-time",
"title": "Updated At",
"type": "string"
}
},
"required": [
"id",
"name",
"full_name",
"description",
"html_url",
"clone_url",
"ssh_url",
"private",
"default_branch",
"updated_at"
],
"title": "GitHubRepository",
"type": "object"
},
"HTTPValidationError": {
"properties": {
"detail": {
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"title": "Detail",
"type": "array"
}
},
"title": "HTTPValidationError",
"type": "object"
},
"LoginRequest": {
"properties": {
"captcha_token": {
"title": "Captcha Token",
"type": "string"
},
"email": {
"format": "email",
"title": "Email",
"type": "string"
},
"password": {
"title": "Password",
"type": "string"
}
},
"required": [
"email",
"password",
"captcha_token"
],
"title": "LoginRequest",
"type": "object"
},
"OAuth2AuthorizeResponse": {
"properties": {
"authorization_url": {
"title": "Authorization Url",
"type": "string"
}
},
"required": [
"authorization_url"
],
"title": "OAuth2AuthorizeResponse",
"type": "object"
},
"OAuthConnectionResponse": {
"description": "OAuth connection details.",
"properties": {
"account_email": {
"description": "Email associated with OAuth account",
"title": "Account Email",
"type": "string"
},
"account_id": {
"description": "OAuth provider account ID",
"title": "Account Id",
"type": "string"
},
"id": {
"title": "Id",
"type": "integer"
},
"oauth_name": {
"description": "OAuth provider name (github, gitlab, bitbucket, google)",
"title": "Oauth Name",
"type": "string"
}
},
"required": [
"id",
"oauth_name",
"account_id",
"account_email"
],
"title": "OAuthConnectionResponse",
"type": "object"
},
"PortalSessionResponse": {
"description": "Customer portal session response.",
"properties": {
"url": {
"description": "Stripe customer portal URL",
"title": "Url",
"type": "string"
}
},
"required": [
"url"
],
"title": "PortalSessionResponse",
"type": "object"
},
"ProfilingSessionCreate": {
"description": "Request to create a new profiling session with traces.",
"properties": {
"environment": {
"description": "Environment (dev, staging, production)",
"nullable": true,
"title": "Environment",
"type": "string"
},
"language": {
"description": "Programming language",
"enum": [
"python",
"java",
"go",
"typescript",
"javascript",
"ruby",
"rust",
"c++",
"c#",
"php"
],
"title": "Language",
"type": "string"
},
"metadata": {
"additionalProperties": true,
"description": "Additional session metadata",
"nullable": true,
"title": "Metadata",
"type": "object"
},
"name": {
"description": "Human-readable name for the session",
"nullable": true,
"title": "Name",
"type": "string"
},
"session_id": {
"description": "Unique identifier for this profiling session",
"title": "Session Id",
"type": "string"
},
"traces": {
"description": "List of profiling traces",
"items": {
"$ref": "#/components/schemas/ProfilingTrace"
},
"minItems": 1,
"title": "Traces",
"type": "array"
},
"version": {
"description": "Application/library version",
"nullable": true,
"title": "Version",
"type": "string"
}
},
"required": [
"session_id",
"language",
"traces"
],
"title": "ProfilingSessionCreate",
"type": "object"
},
"ProfilingSessionResponse": {
"description": "Response after creating a profiling session.",
"properties": {
"coverage_files_count": {
"title": "Coverage Files Count",
"type": "integer"
},
"execution_paths_count": {
"title": "Execution Paths Count",
"type": "integer"
},
"message": {
"title": "Message",
"type": "string"
},
"session_id": {
"title": "Session Id",
"type": "string"
},
"stored_at": {
"format": "date-time",
"title": "Stored At",
"type": "string"
},
"traces_count": {
"title": "Traces Count",
"type": "integer"
},
"ttl_seconds": {
"title": "Ttl Seconds",
"type": "integer"
}
},
"required": [
"session_id",
"stored_at",
"traces_count",
"execution_paths_count",
"coverage_files_count",
"ttl_seconds",
"message"
],
"title": "ProfilingSessionResponse",
"type": "object"
},
"ProfilingStats": {
"description": "Statistics for a profiling session or trace.",
"properties": {
"average_coverage_percentage": {
"title": "Average Coverage Percentage",
"type": "number"
},
"duration_stats": {
"additionalProperties": {
"type": "number"
},
"description": "Min, max, avg, median duration in milliseconds",
"title": "Duration Stats",
"type": "object"
},
"languages": {
"items": {
"type": "string"
},
"title": "Languages",
"type": "array"
},
"total_execution_paths": {
"title": "Total Execution Paths",
"type": "integer"
},
"total_files_covered": {
"title": "Total Files Covered",
"type": "integer"
},
"total_traces": {
"title": "Total Traces",
"type": "integer"
},
"use_cases": {
"items": {
"type": "string"
},
"title": "Use Cases",
"type": "array"
}
},
"required": [
"total_traces",
"total_execution_paths",
"total_files_covered",
"average_coverage_percentage",
"languages",
"use_cases",
"duration_stats"
],
"title": "ProfilingStats",
"type": "object"
},
"ProfilingTrace": {
"description": "Single trace representing one execution path.",
"properties": {
"coverage": {
"description": "Code coverage data",
"items": {
"$ref": "#/components/schemas/CoverageDataItem"
},
"title": "Coverage",
"type": "array"
},
"duration_ms": {
"description": "Total execution time in milliseconds",
"nullable": true,
"title": "Duration Ms",
"type": "number"
},
"error_message": {
"description": "Error message if status is failure/error",
"nullable": true,
"title": "Error Message",
"type": "string"
},
"execution_path": {
"description": "Ordered list of function calls",
"items": {
"$ref": "#/components/schemas/ExecutionPathItem"
},
"title": "Execution Path",
"type": "array"
},
"metadata": {
"additionalProperties": true,
"description": "Additional trace metadata",
"nullable": true,
"title": "Metadata",
"type": "object"
},
"name": {
"description": "Human-readable name for the trace",
"nullable": true,
"title": "Name",
"type": "string"
},
"status": {
"default": "success",
"description": "Execution status",
"enum": [
"success",
"failure",
"error"
],
"title": "Status",
"type": "string"
},
"timestamp": {
"description": "When this trace was captured",
"format": "date-time",
"title": "Timestamp",
"type": "string"
},
"trace_id": {
"description": "Unique identifier for this trace",
"title": "Trace Id",
"type": "string"
},
"use_case": {
"description": "Use case or test name this trace represents",
"nullable": true,
"title": "Use Case",
"type": "string"
}
},
"required": [
"trace_id"
],
"title": "ProfilingTrace",
"type": "object"
},
"ProjectCreate": {
"description": "Request to create a new project.",
"properties": {
"branch": {
"default": "main",
"description": "Default branch to track",
"title": "Branch",
"type": "string"
},
"description": {
"description": "Project description",
"maxLength": 1000,
"nullable": true,
"title": "Description",
"type": "string"
},
"framework": {
"description": "Framework used (e.g., Django, React, Spring)",
"maxLength": 100,
"nullable": true,
"title": "Framework",
"type": "string"
},
"language": {
"$ref": "#/components/schemas/ProjectLanguage",
"description": "Primary programming language"
},
"name": {
"description": "Project name",
"maxLength": 255,
"minLength": 1,
"title": "Name",
"type": "string"
},
"repo_url": {
"description": "Git repository URL (e.g., github.com/user/repo)",
"format": "uri",
"maxLength": 2083,
"minLength": 1,
"title": "Repo Url",
"type": "string"
},
"workspace_id": {
"description": "Workspace ID where the project will be created",
"title": "Workspace Id",
"type": "integer"
}
},
"required": [
"name",
"repo_url",
"language",
"workspace_id"
],
"title": "ProjectCreate",
"type": "object"
},
"ProjectLanguage": {
"description": "Supported programming languages.",
"enum": [
"python",
"typescript",
"javascript",
"go",
"java",
"rust",
"cpp",
"csharp",
"ruby",
"php",
"other"
],
"title": "ProjectLanguage",
"type": "string"
},
"ProjectResponse": {
"description": "Project response.",
"properties": {
"branch": {
"description": "Default branch",
"title": "Branch",
"type": "string"
},
"coverage": {
"description": "Code coverage percentage",
"nullable": true,
"title": "Coverage",
"type": "number"
},
"created_at": {
"description": "Project creation timestamp",
"format": "date-time",
"title": "Created At",
"type": "string"
},
"description": {
"description": "Project description",
"nullable": true,
"title": "Description",
"type": "string"
},
"flaky_tests": {
"description": "Number of flaky tests",
"nullable": true,
"title": "Flaky Tests",
"type": "integer"
},
"framework": {
"description": "Framework used",
"nullable": true,
"title": "Framework",
"type": "string"
},
"id": {
"description": "Project ID",
"title": "Id",
"type": "integer"
},
"integration_test_coverage": {
"description": "Integration test coverage percentage",
"nullable": true,
"title": "Integration Test Coverage",
"type": "number"
},
"language": {
"$ref": "#/components/schemas/ProjectLanguage",
"description": "Primary programming language"
},
"last_commit_at": {
"description": "Last commit timestamp",
"format": "date-time",
"nullable": true,
"title": "Last Commit At",
"type": "string"
},
"name": {
"description": "Project name",
"title": "Name",
"type": "string"
},
"passing_tests": {
"description": "Number of passing tests",
"nullable": true,
"title": "Passing Tests",
"type": "integer"
},
"quality_score": {
"description": "Quality score (0-100)",
"nullable": true,
"title": "Quality Score",
"type": "number"
},
"repo_url": {
"description": "Git repository URL",
"title": "Repo Url",
"type": "string"
},
"runtime_score": {
"description": "Runtime performance score (0-100)",
"nullable": true,
"title": "Runtime Score",
"type": "number"
},
"status": {
"$ref": "#/components/schemas/ProjectStatus",
"default": "unknown",
"description": "CI/CD status"
},
"testing_score": {
"description": "Testing quality score (0-100)",
"nullable": true,
"title": "Testing Score",
"type": "number"
},
"total_tests": {
"description": "Total number of tests",
"nullable": true,
"title": "Total Tests",
"type": "integer"
},
"unit_test_coverage": {
"description": "Unit test coverage percentage",
"nullable": true,
"title": "Unit Test Coverage",
"type": "number"
},
"updated_at": {
"description": "Project last update timestamp",
"format": "date-time",
"title": "Updated At",
"type": "string"
},
"user_id": {
"description": "Owner user ID",
"title": "User Id",
"type": "integer"
},
"workspace_id": {
"description": "Workspace ID",
"title": "Workspace Id",
"type": "integer"
}
},
"required": [
"id",
"user_id",
"workspace_id",
"name",
"repo_url",
"language",
"branch",
"created_at",
"updated_at"
],
"title": "ProjectResponse",
"type": "object"
},
"ProjectSortBy": {
"description": "Fields available for sorting projects.",
"enum": [
"name",
"created_at",
"updated_at",
"quality_score",
"coverage"
],
"title": "ProjectSortBy",
"type": "string"
},
"ProjectStatus": {
"description": "Project CI/CD status.",
"enum": [
"passing",
"failing",
"unknown"
],
"title": "ProjectStatus",
"type": "string"
},
"ProjectUpdate": {
"description": "Request to update a project.",
"properties": {
"branch": {
"description": "Default branch to track",
"nullable": true,
"title": "Branch",
"type": "string"
},
"coverage": {
"description": "Code coverage percentage",
"maximum": 100.0,
"minimum": 0.0,
"nullable": true,
"title": "Coverage",
"type": "number"
},
"description": {
"description": "Project description",
"maxLength": 1000,
"nullable": true,
"title": "Description",
"type": "string"
},
"framework": {
"description": "Framework used",
"maxLength": 100,
"nullable": true,
"title": "Framework",
"type": "string"
},
"language": {
"anyOf": [
{
"$ref": "#/components/schemas/ProjectLanguage"
},
{
"nullable": true,
"type": "object"
}
],
"description": "Primary programming language"
},
"name": {
"description": "Project name",
"maxLength": 255,
"minLength": 1,
"nullable": true,
"title": "Name",
"type": "string"
},
"repo_url": {
"description": "Git repository URL",
"format": "uri",
"maxLength": 2083,
"minLength": 1,
"nullable": true,
"title": "Repo Url",
"type": "string"
},
"status": {
"anyOf": [
{
"$ref": "#/components/schemas/ProjectStatus"
},
{
"nullable": true,
"type": "object"
}
],
"description": "CI/CD status"
}
},
"title": "ProjectUpdate",
"type": "object"
},
"RegisterRequest": {
"properties": {
"callback_url": {
"nullable": true,
"title": "Callback Url",
"type": "string"
},
"captcha_token": {
"title": "Captcha Token",
"type": "string"
},
"email": {
"format": "email",
"title": "Email",
"type": "string"
},
"first_name": {
"title": "First Name",
"type": "string"
},
"last_name": {
"title": "Last Name",
"type": "string"
},
"password": {
"title": "Password",
"type": "string"
}
},
"required": [
"email",
"password",
"captcha_token",
"first_name",
"last_name"
],
"title": "RegisterRequest",
"type": "object"
},
"RepositoriesListResponse": {
"description": "List of repositories from OAuth provider.",
"properties": {
"repositories": {
"items": {
"$ref": "#/components/schemas/GitHubRepository"
},
"title": "Repositories",
"type": "array"
},
"total": {
"title": "Total",
"type": "integer"
}
},
"required": [
"repositories",
"total"
],
"title": "RepositoriesListResponse",
"type": "object"
},
"RequestVerifyRequest": {
"properties": {
"callback_url": {
"nullable": true,
"title": "Callback Url",
"type": "string"
},
"email": {
"format": "email",
"title": "Email",
"type": "string"
}
},
"required": [
"email"
],
"title": "RequestVerifyRequest",
"type": "object"
},
"SortDirection": {
"description": "Sort direction.",
"enum": [
"asc",
"desc"
],
"title": "SortDirection",
"type": "string"
},
"SubscriptionResponse": {
"description": "Subscription response.",
"properties": {
"cancel_at_period_end": {
"default": false,
"title": "Cancel At Period End",
"type": "boolean"
},
"current_period_end": {
"format": "date-time",
"nullable": true,
"title": "Current Period End",
"type": "string"
},
"current_period_start": {
"format": "date-time",
"nullable": true,
"title": "Current Period Start",
"type": "string"
},
"id": {
"title": "Id",
"type": "integer"
},
"status": {
"$ref": "#/components/schemas/SubscriptionStatus"
},
"user_id": {
"title": "User Id",
"type": "integer"
}
},
"required": [
"id",
"user_id",
"status"
],
"title": "SubscriptionResponse",
"type": "object"
},
"SubscriptionStatus": {
"description": "Subscription status.",
"enum": [
"active",
"trialing",
"past_due",
"canceled",
"unpaid",
"inactive"
],
"title": "SubscriptionStatus",
"type": "string"
},
"TestCaseResponse": {
"description": "Individual test case result.",
"properties": {
"classname": {
"title": "Classname",
"type": "string"
},
"details": {
"nullable": true,
"title": "Details",
"type": "string"
},
"id": {
"title": "Id",
"type": "integer"
},
"message": {
"nullable": true,
"title": "Message",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"original_name": {
"nullable": true,
"title": "Original Name",
"type": "string"
},
"status": {
"title": "Status",
"type": "string"
},
"time": {
"title": "Time",
"type": "number"
},
"type": {
"nullable": true,
"title": "Type",
"type": "string"
}
},
"required": [
"id",
"classname",
"name",
"time",
"status"
],
"title": "TestCaseResponse",
"type": "object"
},
"TestDataUploadResponse": {
"description": "Response after uploading test data (coverage, test results).",
"properties": {
"coverage_report_id": {
"title": "Coverage Report Id",
"type": "integer"
},
"message": {
"title": "Message",
"type": "string"
},
"status": {
"title": "Status",
"type": "string"
}
},
"required": [
"coverage_report_id",
"status",
"message"
],
"title": "TestDataUploadResponse",
"type": "object"
},
"TestReportResponse": {
"description": "Complete test report with all suites and cases.",
"properties": {
"branch_name": {
"nullable": true,
"title": "Branch Name",
"type": "string"
},
"commit_sha": {
"title": "Commit Sha",
"type": "string"
},
"commit_timestamp": {
"format": "date-time",
"nullable": true,
"title": "Commit Timestamp",
"type": "string"
},
"environment_id": {
"nullable": true,
"title": "Environment Id",
"type": "integer"
},
"errors": {
"title": "Errors",
"type": "integer"
},
"failed": {
"title": "Failed",
"type": "integer"
},
"id": {
"title": "Id",
"type": "integer"
},
"passed": {
"title": "Passed",
"type": "integer"
},
"project_id": {
"title": "Project Id",
"type": "integer"
},
"report_timestamp": {
"format": "date-time",
"title": "Report Timestamp",
"type": "string"
},
"report_type": {
"nullable": true,
"title": "Report Type",
"type": "string"
},
"skipped": {
"title": "Skipped",
"type": "integer"
},
"status": {
"title": "Status",
"type": "string"
},
"test_suites": {
"items": {
"$ref": "#/components/schemas/TestSuiteResponse"
},
"title": "Test Suites",
"type": "array"
},
"total_tests": {
"title": "Total Tests",
"type": "integer"
},
"total_time": {
"nullable": true,
"title": "Total Time",
"type": "number"
}
},
"required": [
"id",
"project_id",
"environment_id",
"commit_sha",
"branch_name",
"commit_timestamp",
"total_tests",
"passed",
"failed",
"errors",
"skipped",
"total_time",
"report_timestamp",
"report_type",
"status",
"test_suites"
],
"title": "TestReportResponse",
"type": "object"
},
"TestSuiteResponse": {
"description": "Test suite (file or class) with test cases.",
"properties": {
"errors": {
"title": "Errors",
"type": "integer"
},
"failures": {
"title": "Failures",
"type": "integer"
},
"id": {
"title": "Id",
"type": "integer"
},
"name": {
"title": "Name",
"type": "string"
},
"skipped": {
"title": "Skipped",
"type": "integer"
},
"test_cases": {
"items": {
"$ref": "#/components/schemas/TestCaseResponse"
},
"title": "Test Cases",
"type": "array"
},
"tests": {
"title": "Tests",
"type": "integer"
},
"time": {
"title": "Time",
"type": "number"
}
},
"required": [
"id",
"name",
"tests",
"failures",
"errors",
"skipped",
"time",
"test_cases"
],
"title": "TestSuiteResponse",
"type": "object"
},
"UploadSaltResponse": {
"description": "Response with salt for file path anonymization.",
"properties": {
"commit_sha": {
"title": "Commit Sha",
"type": "string"
},
"project_id": {
"title": "Project Id",
"type": "integer"
},
"salt": {
"title": "Salt",
"type": "string"
}
},
"required": [
"salt",
"project_id",
"commit_sha"
],
"title": "UploadSaltResponse",
"type": "object"
},
"UserRead": {
"properties": {
"email": {
"format": "email",
"title": "Email",
"type": "string"
},
"first_name": {
"title": "First Name",
"type": "string"
},
"id": {
"title": "Id",
"type": "integer"
},
"is_active": {
"default": true,
"title": "Is Active",
"type": "boolean"
},
"is_superuser": {
"default": false,
"title": "Is Superuser",
"type": "boolean"
},
"is_verified": {
"default": false,
"title": "Is Verified",
"type": "boolean"
},
"last_name": {
"title": "Last Name",
"type": "string"
}
},
"required": [
"id",
"email",
"first_name",
"last_name"
],
"title": "UserRead",
"type": "object"
},
"UserUpdate": {
"properties": {
"email": {
"format": "email",
"nullable": true,
"title": "Email",
"type": "string"
},
"first_name": {
"nullable": true,
"title": "First Name",
"type": "string"
},
"is_active": {
"nullable": true,
"title": "Is Active",
"type": "boolean"
},
"is_superuser": {
"nullable": true,
"title": "Is Superuser",
"type": "boolean"
},
"is_verified": {
"nullable": true,
"title": "Is Verified",
"type": "boolean"
},
"last_name": {
"nullable": true,
"title": "Last Name",
"type": "string"
},
"password": {
"nullable": true,
"title": "Password",
"type": "string"
}
},
"title": "UserUpdate",
"type": "object"
},
"ValidationError": {
"properties": {
"loc": {
"items": {
"nullable": true,
"type": "string"
},
"title": "Location",
"type": "array"
},
"msg": {
"title": "Message",
"type": "string"
},
"type": {
"title": "Error Type",
"type": "string"
}
},
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError",
"type": "object"
},
"WorkspaceCreate": {
"description": "Request to create a new workspace.",
"properties": {
"name": {
"description": "Workspace name",
"maxLength": 255,
"minLength": 1,
"title": "Name",
"type": "string"
},
"type": {
"$ref": "#/components/schemas/WorkspaceType",
"description": "Workspace type"
}
},
"required": [
"name",
"type"
],
"title": "WorkspaceCreate",
"type": "object"
},
"WorkspaceDetailResponse": {
"description": "Detailed workspace response with members.",
"properties": {
"id": {
"title": "Id",
"type": "integer"
},
"is_default": {
"default": false,
"description": "Whether this is the default personal workspace",
"title": "Is Default",
"type": "boolean"
},
"members": {
"items": {
"$ref": "#/components/schemas/WorkspaceMemberResponse"
},
"title": "Members",
"type": "array"
},
"name": {
"title": "Name",
"type": "string"
},
"owner_id": {
"title": "Owner Id",
"type": "integer"
},
"type": {
"$ref": "#/components/schemas/WorkspaceType"
}
},
"required": [
"id",
"name",
"type",
"owner_id",
"members"
],
"title": "WorkspaceDetailResponse",
"type": "object"
},
"WorkspaceInvitationDetail": {
"description": "Details of a pending workspace invitation.",
"properties": {
"created_at": {
"format": "date-time",
"title": "Created At",
"type": "string"
},
"email": {
"title": "Email",
"type": "string"
},
"expires_at": {
"format": "date-time",
"title": "Expires At",
"type": "string"
},
"id": {
"title": "Id",
"type": "integer"
},
"invited_by": {
"title": "Invited By",
"type": "integer"
},
"role": {
"$ref": "#/components/schemas/WorkspaceRole"
},
"workspace_id": {
"title": "Workspace Id",
"type": "integer"
}
},
"required": [
"id",
"workspace_id",
"email",
"role",
"invited_by",
"expires_at",
"created_at"
],
"title": "WorkspaceInvitationDetail",
"type": "object"
},
"WorkspaceInvitationResponse": {
"description": "Response after sending a workspace invitation.",
"properties": {
"email": {
"title": "Email",
"type": "string"
},
"message": {
"title": "Message",
"type": "string"
},
"requires_signup": {
"default": false,
"description": "Whether the user needs to sign up first",
"title": "Requires Signup",
"type": "boolean"
}
},
"required": [
"message",
"email"
],
"title": "WorkspaceInvitationResponse",
"type": "object"
},
"WorkspaceMemberAdd": {
"description": "Request to invite a member to a workspace by email.",
"properties": {
"email": {
"description": "Email address of the user to invite",
"title": "Email",
"type": "string"
},
"role": {
"$ref": "#/components/schemas/WorkspaceRole",
"default": "member",
"description": "Member role"
}
},
"required": [
"email"
],
"title": "WorkspaceMemberAdd",
"type": "object"
},
"WorkspaceMemberResponse": {
"description": "Workspace member details.",
"properties": {
"email": {
"description": "User's email address",
"title": "Email",
"type": "string"
},
"first_name": {
"description": "User's first name",
"title": "First Name",
"type": "string"
},
"id": {
"title": "Id",
"type": "integer"
},
"last_name": {
"description": "User's last name",
"title": "Last Name",
"type": "string"
},
"role": {
"$ref": "#/components/schemas/WorkspaceRole"
},
"user_id": {
"title": "User Id",
"type": "integer"
},
"workspace_id": {
"title": "Workspace Id",
"type": "integer"
}
},
"required": [
"id",
"user_id",
"workspace_id",
"role",
"email",
"first_name",
"last_name"
],
"title": "WorkspaceMemberResponse",
"type": "object"
},
"WorkspaceMemberUpdate": {
"description": "Request to update a workspace member's role.",
"properties": {
"role": {
"$ref": "#/components/schemas/WorkspaceRole",
"description": "New member role"
}
},
"required": [
"role"
],
"title": "WorkspaceMemberUpdate",
"type": "object"
},
"WorkspaceOverviewResponse": {
"description": "Aggregate metrics for all projects in a workspace.",
"properties": {
"avg_integration_test_coverage": {
"description": "Average integration test coverage percentage",
"nullable": true,
"title": "Avg Integration Test Coverage",
"type": "number"
},
"avg_overall_coverage": {
"description": "Average overall coverage percentage (unit + integration)",
"nullable": true,
"title": "Avg Overall Coverage",
"type": "number"
},
"avg_quality_score": {
"description": "Average quality score (0-100) across all projects",
"nullable": true,
"title": "Avg Quality Score",
"type": "number"
},
"avg_runtime_score": {
"description": "Average runtime performance score (0-100) across all projects",
"nullable": true,
"title": "Avg Runtime Score",
"type": "number"
},
"avg_testing_score": {
"description": "Average testing quality score (0-100) across all projects",
"nullable": true,
"title": "Avg Testing Score",
"type": "number"
},
"avg_unit_test_coverage": {
"description": "Average unit test coverage percentage",
"nullable": true,
"title": "Avg Unit Test Coverage",
"type": "number"
},
"total_flaky_tests": {
"default": 0,
"description": "Total flaky tests across all projects",
"title": "Total Flaky Tests",
"type": "integer"
},
"total_passing_tests": {
"default": 0,
"description": "Total passing tests across all projects",
"title": "Total Passing Tests",
"type": "integer"
},
"total_projects": {
"title": "Total Projects",
"type": "integer"
},
"total_tests": {
"default": 0,
"description": "Total tests across all projects",
"title": "Total Tests",
"type": "integer"
},
"workspace_id": {
"title": "Workspace Id",
"type": "integer"
}
},
"required": [
"workspace_id",
"total_projects"
],
"title": "WorkspaceOverviewResponse",
"type": "object"
},
"WorkspaceResponse": {
"description": "Workspace response.",
"properties": {
"id": {
"title": "Id",
"type": "integer"
},
"is_default": {
"default": false,
"description": "Whether this is the default personal workspace",
"title": "Is Default",
"type": "boolean"
},
"member_count": {
"description": "Number of members",
"nullable": true,
"title": "Member Count",
"type": "integer"
},
"name": {
"title": "Name",
"type": "string"
},
"owner_id": {
"title": "Owner Id",
"type": "integer"
},
"type": {
"$ref": "#/components/schemas/WorkspaceType"
}
},
"required": [
"id",
"name",
"type",
"owner_id"
],
"title": "WorkspaceResponse",
"type": "object"
},
"WorkspaceRole": {
"description": "Workspace member roles.",
"enum": [
"owner",
"admin",
"member"
],
"title": "WorkspaceRole",
"type": "string"
},
"WorkspaceType": {
"description": "Workspace types.",
"enum": [
"personal",
"organization"
],
"title": "WorkspaceType",
"type": "string"
},
"WorkspaceUpdate": {
"description": "Request to update a workspace.",
"properties": {
"name": {
"description": "Workspace name",
"maxLength": 255,
"minLength": 1,
"nullable": true,
"title": "Name",
"type": "string"
}
},
"title": "WorkspaceUpdate",
"type": "object"
},
"quality__api__coverage__schemas__TestType": {
"description": "Test type for coverage reports.",
"enum": [
"unit",
"integration",
"e2e",
"combined"
],
"title": "TestType",
"type": "string"
},
"quality__api__tests__routes__TestType": {
"description": "Valid test types for test data uploads.",
"enum": [
"unit",
"integration",
"e2e"
],
"title": "TestType",
"type": "string"
}
},
"securitySchemes": {
"APIKeyCookie": {
"in": "cookie",
"name": "token",
"type": "apiKey"
},
"HTTPBearer": {
"scheme": "bearer",
"type": "http"
},
"OAuth2PasswordBearer": {
"flows": {
"password": {
"scopes": {},
"tokenUrl": "auth/jwt/login"
}
},
"type": "oauth2"
}
}
},
"info": {
"description": "API for Quality Backend application",
"title": "Quality Backend API",
"version": "1.0.0"
},
"openapi": "3.0.3",
"paths": {
"/coverage/projects/{project_id}/reports": {
"get": {
"description": "List all coverage reports for a project.\n\nReturns metadata about coverage reports (commit, branch, timestamp, etc.)",
"operationId": "list_coverage_reports_coverage_projects__project_id__reports_get",
"parameters": [
{
"description": "Project ID",
"in": "path",
"name": "project_id",
"required": true,
"schema": {
"description": "Project ID",
"title": "Project Id",
"type": "integer"
}
},
{
"description": "Filter by branch name",
"in": "query",
"name": "branch_name",
"required": false,
"schema": {
"description": "Filter by branch name",
"nullable": true,
"title": "Branch Name",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CoverageReportsListResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"security": [
{
"OAuth2PasswordBearer": []
},
{
"APIKeyCookie": []
}
],
"summary": "List Coverage Reports",
"tags": [
"coverage"
]
}
},
"/profiling/profiles": {
"post": {
"description": "Receive profile data from quality-agent.\n\n**Authentication:** Requires project API key in Authorization header:\n```\nAuthorization: Bearer ivp_XXXXXX...\n```\n\nSupports two content types:\n- application/x-protobuf: Binary protobuf format (default, ~70% smaller)\n- application/json: JSON format (for debugging)\n\n**Protobuf Format:**\nBinary format defined in proto/profile.proto\n\n**JSON Format:**\n```json\n{\n \"profiles\": [\n {\n \"language\": \"python\",\n \"source_file\": \"server.py\",\n \"timestamp\": \"2024-01-15T12:00:00Z\",\n \"static_analysis\": {...},\n \"runtime_analysis\": {...}\n }\n ],\n \"reported_at\": \"2024-01-15T12:05:00Z\",\n \"agent_version\": \"1.0.0\"\n}\n```",
"operationId": "receive_profiles_profiling_profiles_post",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"additionalProperties": true,
"title": "Response Receive Profiles Profiling Profiles Post",
"type": "object"
}
}
},
"description": "Successful Response"
}
},
"security": [
{
"HTTPBearer": []
}
],
"summary": "Receive Profiles",
"tags": [
"profiling"
]
}
},
"/tests/salt": {
"post": {
"description": "Register a client-generated salt for anonymizing file paths in uploads.\n\nIf a salt already exists for this project+commit, returns the existing salt.\nOtherwise, stores the client-provided salt. This ensures:\n- Client controls salt generation for trust guarantees\n- All uploads for the same commit use the same salt\n- Coverage data from different test types can be combined\n- Test results can be correlated with coverage data\n- File paths can be de-anonymized using the file tree",
"operationId": "register_upload_salt_tests_salt_post",
"parameters": [
{
"description": "Git commit SHA",
"in": "query",
"name": "commit_sha",
"required": true,
"schema": {
"description": "Git commit SHA",
"title": "Commit Sha",
"type": "string"
}
},
{
"description": "64-character hex salt generated by client",
"in": "query",
"name": "salt",
"required": true,
"schema": {
"description": "64-character hex salt generated by client",
"maxLength": 64,
"minLength": 64,
"pattern": "^[a-fA-F0-9]{64}$",
"title": "Salt",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UploadSaltResponse"
}
}
},
"description": "Successful Response"
},
"422": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
},
"description": "Validation Error"
}
},
"security": [
{
"HTTPBearer": []
}
],
"summary": "Register Upload Salt",
"tags": [
"tests"
]
}
}
}
}