# Models

## The AgentJobCompletionRequest object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"AgentJobCompletionRequest":{"properties":{"secret":{"type":"string","title":"Secret","description":"Must match the job's completion_secret."},"outcome":{"type":"string","enum":["completed","error"],"title":"Outcome"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message","description":"When outcome is error, stored on the job."}},"type":"object","required":["secret","outcome"],"title":"AgentJobCompletionRequest"}}}}
```

## The AgentJobRequest object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"AgentJobRequest":{"properties":{"repo":{"type":"string","title":"Repo","description":"Repository identifier as owner/repo."},"ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ref","description":"Optional ref or branch."},"agent_id":{"type":"string","title":"Agent Id","description":"Agent type (e.g. cursor)."}},"type":"object","required":["repo","agent_id"],"title":"AgentJobRequest"}}}}
```

## The ApiKey object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"ApiKey":{"properties":{"key_id":{"type":"string","title":"Key Id","description":"Unique identifier for the API key."},"key":{"type":"string","title":"Key","description":"The actual API key value."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Optional name for the API key."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Timestamp when the API key was created (UTC)."},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At","description":"Timestamp when the API key expires (UTC). None means no expiration."},"is_active":{"type":"boolean","title":"Is Active","description":"Whether the API key is active.","default":true},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At","description":"Timestamp when the API key was last used (UTC)."}},"type":"object","required":["key_id","key","created_at"],"title":"ApiKey","description":"Represents an API key for a user."}}}}
```

## The ApiKeyCreateRequest object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"ApiKeyCreateRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Optional name for the API key."}},"type":"object","title":"ApiKeyCreateRequest","description":"Request to create a new API key for a user."}}}}
```

## The ApiKeyCreateResponse object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"ApiKeyCreateResponse":{"properties":{"api_key":{"$ref":"#/components/schemas/ApiKey","description":"The newly created API key object."}},"type":"object","required":["api_key"],"title":"ApiKeyCreateResponse","description":"Response for creating an API key."},"ApiKey":{"properties":{"key_id":{"type":"string","title":"Key Id","description":"Unique identifier for the API key."},"key":{"type":"string","title":"Key","description":"The actual API key value."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Optional name for the API key."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Timestamp when the API key was created (UTC)."},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At","description":"Timestamp when the API key expires (UTC). None means no expiration."},"is_active":{"type":"boolean","title":"Is Active","description":"Whether the API key is active.","default":true},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At","description":"Timestamp when the API key was last used (UTC)."}},"type":"object","required":["key_id","key","created_at"],"title":"ApiKey","description":"Represents an API key for a user."}}}}
```

## The ApiKeyRevokeRequest object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"ApiKeyRevokeRequest":{"properties":{"key_id":{"type":"string","title":"Key Id","description":"The ID of the API key to revoke."}},"type":"object","required":["key_id"],"title":"ApiKeyRevokeRequest","description":"Request to revoke an API key."}}}}
```

## The ApiKeyRevokeResponse object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"ApiKeyRevokeResponse":{"properties":{"message":{"type":"string","title":"Message","description":"Success message."},"revoked_key_id":{"type":"string","title":"Revoked Key Id","description":"The ID of the revoked API key."}},"type":"object","required":["message","revoked_key_id"],"title":"ApiKeyRevokeResponse","description":"Response for revoking an API key."}}}}
```

## The ContainerInfo object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"ContainerInfo":{"properties":{"container_name":{"type":"string","title":"Container Name","description":"Name of the Cloud Run service."},"service_url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Service Url","description":"URL of the Cloud Run service."},"sample_id":{"type":"string","title":"Sample Id","description":"Sample ID of the container."},"status":{"type":"string","title":"Status","description":"Status of the container."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Timestamp when the container was created (UTC)."},"expires_at":{"type":"string","format":"date-time","title":"Expires At","description":"Timestamp when the container will expire (UTC)."},"location":{"type":"string","title":"Location","description":"Cloud Run region where the container is deployed (e.g., 'europe-west1')."}},"type":"object","required":["container_name","service_url","sample_id","status","created_at","expires_at","location"],"title":"ContainerInfo","description":"Information about a container."}}}}
```

## The Dataset object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"Dataset":{"properties":{"name":{"type":"string","title":"Name","description":"Unique name of the dataset."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"A brief description of the dataset."},"sample_count":{"type":"integer","title":"Sample Count","description":"Number of samples in the dataset."},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At","description":"Timestamp when the dataset was first created (UTC)."}},"type":"object","required":["name","sample_count"],"title":"Dataset","description":"Information about a dataset."}}}}
```

## The ErrorInfo object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"ErrorInfo":{"properties":{"code":{"type":"string","title":"Code","description":"A unique error code for programmatic handling."},"message":{"type":"string","title":"Message","description":"A human-readable error message."}},"type":"object","required":["code","message"],"title":"ErrorInfo","description":"Details about an error that occurred during job processing."}}}}
```

## The ExecCommandInteraction object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"ExecCommandInteraction":{"properties":{"interaction_id":{"type":"string","title":"Interaction Id","description":"Unique identifier for the interaction."},"session_id":{"type":"string","title":"Session Id","description":"Session identifier for this interaction."},"interaction_type":{"type":"string","const":"exec_command","title":"Interaction Type","default":"exec_command"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Timestamp when the interaction was created (UTC)."},"exit_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Exit Code","description":"Exit code of the interaction."},"stdout":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stdout","description":"Standard output from the interaction."},"stderr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stderr","description":"Standard error from the interaction."},"execution_time_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Execution Time Seconds","description":"Execution time in seconds."},"success":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Success","description":"Whether the interaction was successful."},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"Additional message about the interaction result."},"command":{"type":"string","title":"Command","description":"Command that was executed."},"command_timeout":{"type":"integer","title":"Command Timeout","description":"Timeout for command execution in seconds.","default":300}},"type":"object","required":["interaction_id","session_id","created_at","command"],"title":"ExecCommandInteraction","description":"Interaction for executing a command in the environment."}}}}
```

## The ExecRequest object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"ExecRequest":{"properties":{"command":{"type":"string","title":"Command","description":"The bash command to execute."},"command_timeout":{"type":"integer","title":"Command Timeout","description":"Timeout for command execution in seconds (default: 300).","default":300}},"type":"object","required":["command"],"title":"ExecRequest","description":"Request to execute a bash command in a session."}}}}
```

## The ExecStartResponse object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"ExecStartResponse":{"properties":{"interaction_id":{"type":"string","title":"Interaction Id","description":"Unique identifier for the interaction."},"status":{"type":"string","title":"Status","description":"Status of the interaction: 'pending', 'processing', 'completed', or 'failed'."}},"type":"object","required":["interaction_id","status"],"title":"ExecStartResponse","description":"Response for starting command execution (async)."}}}}
```

## The FileUploadInteraction object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"FileUploadInteraction":{"properties":{"interaction_id":{"type":"string","title":"Interaction Id","description":"Unique identifier for the interaction."},"session_id":{"type":"string","title":"Session Id","description":"Session identifier for this interaction."},"interaction_type":{"type":"string","const":"file_upload","title":"Interaction Type","default":"file_upload"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Timestamp when the interaction was created (UTC)."},"exit_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Exit Code","description":"Exit code of the interaction."},"stdout":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stdout","description":"Standard output from the interaction."},"stderr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stderr","description":"Standard error from the interaction."},"execution_time_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Execution Time Seconds","description":"Execution time in seconds."},"success":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Success","description":"Whether the interaction was successful."},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"Additional message about the interaction result."},"file_path":{"type":"string","title":"File Path","description":"Destination path for the uploaded file."},"size_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Size Bytes","description":"Size of the uploaded file in bytes."},"make_executable":{"type":"boolean","title":"Make Executable","description":"Whether the file was made executable.","default":false}},"type":"object","required":["interaction_id","session_id","created_at","file_path"],"title":"FileUploadInteraction","description":"Interaction for uploading a file to the environment."}}}}
```

## The FileUploadRequest object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"FileUploadRequest":{"properties":{"file_path":{"type":"string","title":"File Path","description":"Destination path for the file inside the container."},"content_base64":{"type":"string","title":"Content Base64","description":"Base64-encoded file content."},"make_executable":{"type":"boolean","title":"Make Executable","description":"Whether to make the file executable (chmod +x).","default":false}},"type":"object","required":["file_path","content_base64"],"title":"FileUploadRequest","description":"Request to upload a file to the session environment."}}}}
```

## The FileUploadResponse object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"FileUploadResponse":{"properties":{"success":{"type":"boolean","title":"Success","description":"Whether the file upload was successful."},"message":{"type":"string","title":"Message","description":"Details about the file upload operation."},"file_path":{"type":"string","title":"File Path","description":"Destination path where the file was written."},"size_bytes":{"type":"integer","title":"Size Bytes","description":"Size of the uploaded file in bytes."}},"type":"object","required":["success","message","file_path","size_bytes"],"title":"FileUploadResponse","description":"Response for file upload operation."}}}}
```

## The GitHubOAuthRequest object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"GitHubOAuthRequest":{"properties":{"code":{"type":"string","title":"Code","description":"Authorization code from GitHub OAuth."},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","description":"State parameter for CSRF protection."},"redirect_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Redirect Uri","description":"Callback URL used in the authorize step; must match app settings."}},"type":"object","required":["code"],"title":"GitHubOAuthRequest","description":"Request for GitHub OAuth authentication."}}}}
```

## The GitHubOAuthResponse object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"GitHubOAuthResponse":{"properties":{"user_id":{"type":"string","title":"User Id","description":"Unique identifier for the user."},"access_token":{"type":"string","title":"Access Token","description":"JWT access token for the user."},"refresh_token":{"type":"string","title":"Refresh Token","description":"JWT refresh token for the user."},"token_type":{"type":"string","title":"Token Type","description":"Token type.","default":"Bearer"},"expires_in":{"type":"integer","title":"Expires In","description":"Access token expiration time in seconds."},"is_new_user":{"type":"boolean","title":"Is New User","description":"Whether this is a new user or existing user."}},"type":"object","required":["user_id","access_token","refresh_token","expires_in","is_new_user"],"title":"GitHubOAuthResponse","description":"Response for GitHub OAuth authentication."}}}}
```

## The GitHubRepoItem object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"GitHubRepoItem":{"properties":{"full_name":{"type":"string","title":"Full Name","description":"Repository full name (owner/repo)."},"private":{"type":"boolean","title":"Private","description":"Whether the repository is private."},"html_url":{"type":"string","title":"Html Url","description":"Repository URL."}},"type":"object","required":["full_name","private","html_url"],"title":"GitHubRepoItem"}}}}
```

## The GitHubReposResponse object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"GitHubReposResponse":{"properties":{"repos":{"items":{"$ref":"#/components/schemas/GitHubRepoItem"},"type":"array","title":"Repos","description":"List of repositories."}},"type":"object","required":["repos"],"title":"GitHubReposResponse"},"GitHubRepoItem":{"properties":{"full_name":{"type":"string","title":"Full Name","description":"Repository full name (owner/repo)."},"private":{"type":"boolean","title":"Private","description":"Whether the repository is private."},"html_url":{"type":"string","title":"Html Url","description":"Repository URL."}},"type":"object","required":["full_name","private","html_url"],"title":"GitHubRepoItem"}}}}
```

## The HTTPValidationError object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## The HealthCheckResponse object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"HealthCheckResponse":{"properties":{"status":{"type":"string","title":"Status","description":"Health status of the service"},"service":{"type":"string","title":"Service","description":"Name of the service"},"version":{"type":"string","title":"Version","description":"Version of the service"},"timestamp":{"type":"string","title":"Timestamp","description":"Timestamp when the health check was performed (ISO format)"}},"type":"object","required":["status","service","version","timestamp"],"title":"HealthCheckResponse","description":"Response model for health check endpoint."}}}}
```

## The JobStatus object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"JobStatus":{"type":"string","enum":["pending","starting","running","completed","error","cancelled"],"title":"JobStatus","description":"Status of a verification job."}}}}
```

## The MoneyDepositRequest object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"MoneyDepositRequest":{"properties":{"amount_cents":{"type":"integer","minimum":100,"title":"Amount Cents","description":"Amount to deposit in cents"},"currency":{"type":"string","title":"Currency","description":"Currency for payment","default":"usd"}},"type":"object","required":["amount_cents"],"title":"MoneyDepositRequest","description":"Request to deposit money"}}}}
```

## The MoneyDepositResponse object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"MoneyDepositResponse":{"properties":{"checkout_url":{"type":"string","title":"Checkout Url","description":"Stripe checkout URL for payment"},"amount_cents":{"type":"integer","title":"Amount Cents","description":"Amount being deposited in cents"},"currency":{"type":"string","title":"Currency","description":"Currency"}},"type":"object","required":["checkout_url","amount_cents","currency"],"title":"MoneyDepositResponse","description":"Response for money deposit"}}}}
```

## The Sample object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"Sample":{"properties":{"sample_id":{"type":"string","title":"Sample Id","description":"Unique identifier for the sample (e.g., 'traccar-1')."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"A brief description of the sample."},"language":{"type":"string","title":"Language","description":"Primary programming language of the sample."},"verifier":{"$ref":"#/components/schemas/VerificationTool","description":"The type of verifier used for this sample."},"dataset":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataset","description":"Dataset name for the sample."},"version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Version","description":"Version number of the sample."},"version_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version Description","description":"Description of this version."},"latest":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Latest","description":"Whether this is the latest version."},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At","description":"Timestamp when the sample was created (UTC)."},"instance_id":{"type":"string","title":"Instance Id","description":"Instance identifier for the sample (e.g., 'psf__requests-1234')."},"repo":{"type":"string","title":"Repo","description":"Repository full name for the sample (e.g., 'psf/requests')."},"base_commit":{"type":"string","title":"Base Commit","description":"Base commit hash for the sample."},"patch":{"type":"string","title":"Patch","description":"Code patch (diff) that fixes the bug for the sample."},"non_code_patch":{"type":"string","title":"Non Code Patch","description":"Non-code patch for the sample."},"test_patch":{"type":"string","title":"Test Patch","description":"Test patch (diff) for the sample."},"problem_statement":{"type":"string","title":"Problem Statement","description":"Problem statement for the sample (issue title + body)."},"hints_text":{"type":"string","title":"Hints Text","description":"Hints text for the sample (concatenated issue comments)."},"environment_setup_commit":{"type":"string","title":"Environment Setup Commit","description":"Environment setup commit hash for the sample."},"fail_to_pass":{"items":{"type":"string"},"type":"array","title":"Fail To Pass","description":"List of test names that changed from FAIL to PASS."},"pass_to_pass":{"items":{"type":"string"},"type":"array","title":"Pass To Pass","description":"List of test names that remained PASS to PASS."},"fail_to_fail":{"items":{"type":"string"},"type":"array","title":"Fail To Fail","description":"List of test names that remained FAIL to FAIL."}},"type":"object","required":["sample_id","language","verifier","instance_id","repo","base_commit","patch","non_code_patch","test_patch","problem_statement","hints_text","environment_setup_commit","fail_to_pass","pass_to_pass","fail_to_fail"],"title":"Sample","description":"Information about a software engineering task sample."},"VerificationTool":{"type":"string","enum":["test_suite","static_analysis","linter","custom"],"title":"VerificationTool","description":"Type of verification tool used."}}}}
```

## The SampleListResponse object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"SampleListResponse":{"properties":{"samples":{"items":{"$ref":"#/components/schemas/Sample"},"type":"array","title":"Samples","description":"List of samples for the current page."},"total_count":{"type":"integer","title":"Total Count","description":"Total number of samples available."},"page":{"type":"integer","title":"Page","description":"Current page number (1-based)."},"page_size":{"type":"integer","title":"Page Size","description":"Number of samples per page."},"has_more":{"type":"boolean","title":"Has More","description":"Indicates if more pages of results are available."}},"type":"object","required":["samples","total_count","page","page_size","has_more"],"title":"SampleListResponse","description":"Response for listing samples with pagination."},"Sample":{"properties":{"sample_id":{"type":"string","title":"Sample Id","description":"Unique identifier for the sample (e.g., 'traccar-1')."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"A brief description of the sample."},"language":{"type":"string","title":"Language","description":"Primary programming language of the sample."},"verifier":{"$ref":"#/components/schemas/VerificationTool","description":"The type of verifier used for this sample."},"dataset":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataset","description":"Dataset name for the sample."},"version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Version","description":"Version number of the sample."},"version_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version Description","description":"Description of this version."},"latest":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Latest","description":"Whether this is the latest version."},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At","description":"Timestamp when the sample was created (UTC)."},"instance_id":{"type":"string","title":"Instance Id","description":"Instance identifier for the sample (e.g., 'psf__requests-1234')."},"repo":{"type":"string","title":"Repo","description":"Repository full name for the sample (e.g., 'psf/requests')."},"base_commit":{"type":"string","title":"Base Commit","description":"Base commit hash for the sample."},"patch":{"type":"string","title":"Patch","description":"Code patch (diff) that fixes the bug for the sample."},"non_code_patch":{"type":"string","title":"Non Code Patch","description":"Non-code patch for the sample."},"test_patch":{"type":"string","title":"Test Patch","description":"Test patch (diff) for the sample."},"problem_statement":{"type":"string","title":"Problem Statement","description":"Problem statement for the sample (issue title + body)."},"hints_text":{"type":"string","title":"Hints Text","description":"Hints text for the sample (concatenated issue comments)."},"environment_setup_commit":{"type":"string","title":"Environment Setup Commit","description":"Environment setup commit hash for the sample."},"fail_to_pass":{"items":{"type":"string"},"type":"array","title":"Fail To Pass","description":"List of test names that changed from FAIL to PASS."},"pass_to_pass":{"items":{"type":"string"},"type":"array","title":"Pass To Pass","description":"List of test names that remained PASS to PASS."},"fail_to_fail":{"items":{"type":"string"},"type":"array","title":"Fail To Fail","description":"List of test names that remained FAIL to FAIL."}},"type":"object","required":["sample_id","language","verifier","instance_id","repo","base_commit","patch","non_code_patch","test_patch","problem_statement","hints_text","environment_setup_commit","fail_to_pass","pass_to_pass","fail_to_fail"],"title":"Sample","description":"Information about a software engineering task sample."},"VerificationTool":{"type":"string","enum":["test_suite","static_analysis","linter","custom"],"title":"VerificationTool","description":"Type of verification tool used."}}}}
```

## The Session object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"Session":{"properties":{"session_id":{"type":"string","title":"Session Id","description":"Unique identifier for the session."},"user_id":{"type":"string","title":"User Id","description":"User ID who owns this session."},"dataset":{"type":"string","title":"Dataset","description":"Dataset name for the sample."},"sample_id":{"type":"string","title":"Sample Id","description":"Identifier of the sample being used for the session."},"status":{"$ref":"#/components/schemas/SessionStatus","description":"Current status of the session."},"requested_at":{"type":"string","format":"date-time","title":"Requested At","description":"Timestamp when the session was requested (UTC)."},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At","description":"Timestamp when the container became ready and billing started (UTC)."},"expires_at":{"type":"string","format":"date-time","title":"Expires At","description":"Timestamp when the session will expire (UTC)."},"duration_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration Seconds","description":"Duration of the session in seconds."},"container_info":{"anyOf":[{"$ref":"#/components/schemas/ContainerInfo"},{"type":"null"}],"description":"Container information for this session."},"error":{"anyOf":[{"$ref":"#/components/schemas/ErrorInfo"},{"type":"null"}],"description":"Error details if the session failed."}},"type":"object","required":["session_id","user_id","dataset","sample_id","status","requested_at","expires_at"],"title":"Session","description":"Represents a session for multi-turn interactions."},"SessionStatus":{"type":"string","enum":["creating","ready","error","closed","terminated"],"title":"SessionStatus","description":"Status of a session."},"ContainerInfo":{"properties":{"container_name":{"type":"string","title":"Container Name","description":"Name of the Cloud Run service."},"service_url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Service Url","description":"URL of the Cloud Run service."},"sample_id":{"type":"string","title":"Sample Id","description":"Sample ID of the container."},"status":{"type":"string","title":"Status","description":"Status of the container."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Timestamp when the container was created (UTC)."},"expires_at":{"type":"string","format":"date-time","title":"Expires At","description":"Timestamp when the container will expire (UTC)."},"location":{"type":"string","title":"Location","description":"Cloud Run region where the container is deployed (e.g., 'europe-west1')."}},"type":"object","required":["container_name","service_url","sample_id","status","created_at","expires_at","location"],"title":"ContainerInfo","description":"Information about a container."},"ErrorInfo":{"properties":{"code":{"type":"string","title":"Code","description":"A unique error code for programmatic handling."},"message":{"type":"string","title":"Message","description":"A human-readable error message."}},"type":"object","required":["code","message"],"title":"ErrorInfo","description":"Details about an error that occurred during job processing."}}}}
```

## The SessionCreateRequest object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"SessionCreateRequest":{"properties":{"dataset":{"type":"string","title":"Dataset","description":"Dataset name for the sample."},"sample_id":{"type":"string","title":"Sample Id","description":"Identifier of the sample to use for this session."},"ttl_minutes":{"type":"integer","title":"Ttl Minutes","description":"Time to live for the session in minutes (default: 30).","default":30}},"type":"object","required":["dataset","sample_id"],"title":"SessionCreateRequest","description":"Request to create a new session."}}}}
```

## The SessionCreateResponse object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"SessionCreateResponse":{"properties":{"session_id":{"type":"string","title":"Session Id","description":"Unique identifier for the created session."},"status":{"$ref":"#/components/schemas/SessionStatus","description":"Initial status of the session."},"expires_at":{"type":"string","format":"date-time","title":"Expires At","description":"Timestamp when the session will expire (UTC)."}},"type":"object","required":["session_id","status","expires_at"],"title":"SessionCreateResponse","description":"Response for creating a session."},"SessionStatus":{"type":"string","enum":["creating","ready","error","closed","terminated"],"title":"SessionStatus","description":"Status of a session."}}}}
```

## The SessionDeleteResponse object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"SessionDeleteResponse":{"properties":{"message":{"type":"string","title":"Message","description":"Success message confirming session deletion"},"duration_seconds":{"type":"number","title":"Duration Seconds","description":"Duration of the session in seconds."}},"type":"object","required":["message","duration_seconds"],"title":"SessionDeleteResponse","description":"Response model for session deletion."}}}}
```

## The SessionListResponse object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"SessionListResponse":{"properties":{"sessions":{"items":{"$ref":"#/components/schemas/Session"},"type":"array","title":"Sessions"},"total_count":{"type":"integer","title":"Total Count","description":"Total number of sessions returned."},"has_more":{"type":"boolean","title":"Has More","description":"Indicates if more pages of results are available."}},"type":"object","required":["sessions","total_count","has_more"],"title":"SessionListResponse","description":"Response for listing sessions."},"Session":{"properties":{"session_id":{"type":"string","title":"Session Id","description":"Unique identifier for the session."},"user_id":{"type":"string","title":"User Id","description":"User ID who owns this session."},"dataset":{"type":"string","title":"Dataset","description":"Dataset name for the sample."},"sample_id":{"type":"string","title":"Sample Id","description":"Identifier of the sample being used for the session."},"status":{"$ref":"#/components/schemas/SessionStatus","description":"Current status of the session."},"requested_at":{"type":"string","format":"date-time","title":"Requested At","description":"Timestamp when the session was requested (UTC)."},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At","description":"Timestamp when the container became ready and billing started (UTC)."},"expires_at":{"type":"string","format":"date-time","title":"Expires At","description":"Timestamp when the session will expire (UTC)."},"duration_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration Seconds","description":"Duration of the session in seconds."},"container_info":{"anyOf":[{"$ref":"#/components/schemas/ContainerInfo"},{"type":"null"}],"description":"Container information for this session."},"error":{"anyOf":[{"$ref":"#/components/schemas/ErrorInfo"},{"type":"null"}],"description":"Error details if the session failed."}},"type":"object","required":["session_id","user_id","dataset","sample_id","status","requested_at","expires_at"],"title":"Session","description":"Represents a session for multi-turn interactions."},"SessionStatus":{"type":"string","enum":["creating","ready","error","closed","terminated"],"title":"SessionStatus","description":"Status of a session."},"ContainerInfo":{"properties":{"container_name":{"type":"string","title":"Container Name","description":"Name of the Cloud Run service."},"service_url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Service Url","description":"URL of the Cloud Run service."},"sample_id":{"type":"string","title":"Sample Id","description":"Sample ID of the container."},"status":{"type":"string","title":"Status","description":"Status of the container."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Timestamp when the container was created (UTC)."},"expires_at":{"type":"string","format":"date-time","title":"Expires At","description":"Timestamp when the container will expire (UTC)."},"location":{"type":"string","title":"Location","description":"Cloud Run region where the container is deployed (e.g., 'europe-west1')."}},"type":"object","required":["container_name","service_url","sample_id","status","created_at","expires_at","location"],"title":"ContainerInfo","description":"Information about a container."},"ErrorInfo":{"properties":{"code":{"type":"string","title":"Code","description":"A unique error code for programmatic handling."},"message":{"type":"string","title":"Message","description":"A human-readable error message."}},"type":"object","required":["code","message"],"title":"ErrorInfo","description":"Details about an error that occurred during job processing."}}}}
```

## The SessionStatus object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"SessionStatus":{"type":"string","enum":["creating","ready","error","closed","terminated"],"title":"SessionStatus","description":"Status of a session."}}}}
```

## The StringReplaceInteraction object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"StringReplaceInteraction":{"properties":{"interaction_id":{"type":"string","title":"Interaction Id","description":"Unique identifier for the interaction."},"session_id":{"type":"string","title":"Session Id","description":"Session identifier for this interaction."},"interaction_type":{"type":"string","const":"string_replace","title":"Interaction Type","default":"string_replace"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Timestamp when the interaction was created (UTC)."},"exit_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Exit Code","description":"Exit code of the interaction."},"stdout":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stdout","description":"Standard output from the interaction."},"stderr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stderr","description":"Standard error from the interaction."},"execution_time_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Execution Time Seconds","description":"Execution time in seconds."},"success":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Success","description":"Whether the interaction was successful."},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"Additional message about the interaction result."},"file_path":{"type":"string","title":"File Path","description":"Path to the file where replacement was performed."},"str_to_replace":{"type":"string","title":"Str To Replace","description":"String that was replaced."},"str_to_insert":{"type":"string","title":"Str To Insert","description":"String that was inserted as replacement."}},"type":"object","required":["interaction_id","session_id","created_at","file_path","str_to_replace","str_to_insert"],"title":"StringReplaceInteraction","description":"Interaction for replacing a string in a file."}}}}
```

## The StringReplaceRequest object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"StringReplaceRequest":{"properties":{"file_path":{"type":"string","title":"File Path","description":"Path to the file where replacement should be performed."},"str_to_replace":{"type":"string","title":"Str To Replace","description":"String to be replaced."},"str_to_insert":{"type":"string","title":"Str To Insert","description":"String to insert as replacement."}},"type":"object","required":["file_path","str_to_replace","str_to_insert"],"title":"StringReplaceRequest","description":"Request to perform string replacement in a file."}}}}
```

## The StringReplaceResponse object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"StringReplaceResponse":{"properties":{"success":{"type":"boolean","title":"Success","description":"Whether the string replacement was successful."},"message":{"type":"string","title":"Message","description":"Details about the string replacement operation."}},"type":"object","required":["success","message"],"title":"StringReplaceResponse","description":"Response for string replacement operation."}}}}
```

## The TestSuiteResult object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"TestSuiteResult":{"properties":{"tool":{"type":"string","const":"test_suite","title":"Tool","default":"test_suite"},"is_success":{"type":"boolean","title":"Is Success","description":"Overall success status of the verification."},"execution_duration_seconds":{"type":"number","title":"Execution Duration Seconds","description":"Total execution time for the verification step."},"total":{"type":"integer","title":"Total","description":"Total number of tests executed."},"passed":{"type":"integer","title":"Passed","description":"Number of tests that passed."},"failed":{"type":"integer","title":"Failed","description":"Number of tests that failed."},"skipped":{"type":"integer","title":"Skipped","description":"Number of tests that were skipped."},"passes":{"items":{},"type":"array","title":"Passes","description":"A list of passing tests with their details.","default":[]},"failures":{"items":{},"type":"array","title":"Failures","description":"A list of failed tests with their details.","default":[]},"skips":{"items":{},"type":"array","title":"Skips","description":"A list of skipped/ignored tests with their details.","default":[]},"stdout":{"type":"string","title":"Stdout","description":"Standard output from the verifier.","default":"PLACE_HOLDER"},"stderr":{"type":"string","title":"Stderr","description":"Standard error from the verifier.","default":"PLACE_HOLDER"}},"type":"object","required":["is_success","execution_duration_seconds","total","passed","failed","skipped"],"title":"TestSuiteResult","description":"Result from a test suite verifier."}}}}
```

## The TokenRefreshRequest object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"TokenRefreshRequest":{"properties":{"refresh_token":{"type":"string","title":"Refresh Token","description":"The refresh token."}},"type":"object","required":["refresh_token"],"title":"TokenRefreshRequest","description":"Request to refresh an access token."}}}}
```

## The TokenRefreshResponse object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"TokenRefreshResponse":{"properties":{"access_token":{"type":"string","title":"Access Token","description":"New JWT access token."},"token_type":{"type":"string","title":"Token Type","description":"Token type.","default":"Bearer"},"expires_in":{"type":"integer","title":"Expires In","description":"Access token expiration time in seconds."}},"type":"object","required":["access_token","expires_in"],"title":"TokenRefreshResponse","description":"Response for token refresh."}}}}
```

## The UsageHistory object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"UsageHistory":{"properties":{"current_balance_cents":{"type":"integer","title":"Current Balance Cents","description":"Current balance in cents"},"total_deposits_cents":{"type":"integer","title":"Total Deposits Cents","description":"Total amount deposited"},"total_usage_cents":{"type":"integer","title":"Total Usage Cents","description":"Total amount used"},"transactions":{"items":{"$ref":"#/components/schemas/UsageTransaction"},"type":"array","title":"Transactions","description":"List of transactions for current page"},"summary":{"additionalProperties":true,"type":"object","title":"Summary","description":"Usage summary statistics"},"pagination":{"additionalProperties":true,"type":"object","title":"Pagination","description":"Pagination information"}},"type":"object","required":["current_balance_cents","total_deposits_cents","total_usage_cents","transactions","summary","pagination"],"title":"UsageHistory","description":"Complete usage history for a user"},"UsageTransaction":{"properties":{"id":{"type":"string","title":"Id","description":"Unique transaction identifier"},"type":{"type":"string","enum":["deposit","refund","session_usage","agent_job_usage","agent_job_refund"],"title":"Type","description":"Type of transaction"},"amount_cents":{"type":"integer","title":"Amount Cents","description":"Amount in cents (positive for deposits/refunds, negative for usage)"},"description":{"type":"string","title":"Description","description":"Description of the transaction"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"When the transaction occurred"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id","description":"Session ID if this is session usage"},"duration_minutes":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration Minutes","description":"Session duration if applicable"},"job_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Job Id","description":"Agent job ID if this is agent job usage or refund"}},"type":"object","required":["id","type","amount_cents","description","created_at"],"title":"UsageTransaction","description":"Represents a usage transaction (deposit, refund, or spending)"}}}}
```

## The UsageTransaction object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"UsageTransaction":{"properties":{"id":{"type":"string","title":"Id","description":"Unique transaction identifier"},"type":{"type":"string","enum":["deposit","refund","session_usage","agent_job_usage","agent_job_refund"],"title":"Type","description":"Type of transaction"},"amount_cents":{"type":"integer","title":"Amount Cents","description":"Amount in cents (positive for deposits/refunds, negative for usage)"},"description":{"type":"string","title":"Description","description":"Description of the transaction"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"When the transaction occurred"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id","description":"Session ID if this is session usage"},"duration_minutes":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration Minutes","description":"Session duration if applicable"},"job_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Job Id","description":"Agent job ID if this is agent job usage or refund"}},"type":"object","required":["id","type","amount_cents","description","created_at"],"title":"UsageTransaction","description":"Represents a usage transaction (deposit, refund, or spending)"}}}}
```

## The User object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"User":{"properties":{"user_id":{"type":"string","title":"User Id","description":"Unique identifier for the user."},"name":{"type":"string","title":"Name","description":"Display name of the user."},"email":{"type":"string","title":"Email","description":"Email address of the user."},"github_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Github Id","description":"GitHub user ID for OAuth authentication."},"github_login":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Github Login","description":"GitHub username (login) for matching app installations."},"api_keys":{"items":{"$ref":"#/components/schemas/ApiKey"},"type":"array","title":"Api Keys","description":"List of API keys associated with this user."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Timestamp when the user was created (UTC)."},"last_login_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Login At","description":"Timestamp of the user's last login (UTC)."},"is_active":{"type":"boolean","title":"Is Active","description":"Whether the user account is active.","default":true},"terms_accepted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Terms Accepted At","description":"When the user last accepted the terms of service (UTC). None if not accepted."}},"type":"object","required":["user_id","name","email","created_at"],"title":"User","description":"Represents a user in the system."},"ApiKey":{"properties":{"key_id":{"type":"string","title":"Key Id","description":"Unique identifier for the API key."},"key":{"type":"string","title":"Key","description":"The actual API key value."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Optional name for the API key."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Timestamp when the API key was created (UTC)."},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At","description":"Timestamp when the API key expires (UTC). None means no expiration."},"is_active":{"type":"boolean","title":"Is Active","description":"Whether the API key is active.","default":true},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At","description":"Timestamp when the API key was last used (UTC)."}},"type":"object","required":["key_id","key","created_at"],"title":"ApiKey","description":"Represents an API key for a user."}}}}
```

## The UserCredits object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"UserCredits":{"properties":{"user_id":{"type":"string","title":"User Id","description":"User ID"},"balance":{"type":"integer","title":"Balance","description":"Current balance in cents","default":0},"total_deposited":{"type":"integer","title":"Total Deposited","description":"Total money ever deposited in cents","default":0},"total_spent":{"type":"integer","title":"Total Spent","description":"Total money ever spent in cents","default":0},"stripe_customer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Customer Id","description":"Stripe customer ID"},"last_updated":{"type":"string","format":"date-time","title":"Last Updated","description":"Last time balance was updated"}},"type":"object","required":["user_id","last_updated"],"title":"UserCredits","description":"User's money balance and billing information"}}}}
```

## The ValidationError object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## The VerificationJob object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"VerificationJob":{"properties":{"job_id":{"type":"string","title":"Job Id","description":"Unique identifier for the job."},"sample_id":{"type":"string","title":"Sample Id","description":"Identifier of the sample being used for verification."},"session_id":{"type":"string","title":"Session Id","description":"Session identifier for this job."},"status":{"$ref":"#/components/schemas/JobStatus","description":"Current status of the job."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Timestamp when the job was created (UTC)."},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At","description":"Timestamp when the job processing started (UTC)."},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At","description":"Timestamp when the job completed (UTC)."},"result":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/TestSuiteResult"}],"discriminator":{"propertyName":"tool","mapping":{"test_suite":"#/components/schemas/TestSuiteResult"}}},{"type":"null"}],"title":"Result","description":"The result of the verification. Available when status is 'completed'."},"error":{"anyOf":[{"$ref":"#/components/schemas/ErrorInfo"},{"type":"null"}],"description":"Error details if the job failed with an 'error' status."},"container_info":{"anyOf":[{"$ref":"#/components/schemas/ContainerInfo"},{"type":"null"}],"description":"Container information for this job."}},"type":"object","required":["job_id","sample_id","session_id","status","created_at"],"title":"VerificationJob","description":"Represents a single verification job, the core resource of the API."},"JobStatus":{"type":"string","enum":["pending","starting","running","completed","error","cancelled"],"title":"JobStatus","description":"Status of a verification job."},"TestSuiteResult":{"properties":{"tool":{"type":"string","const":"test_suite","title":"Tool","default":"test_suite"},"is_success":{"type":"boolean","title":"Is Success","description":"Overall success status of the verification."},"execution_duration_seconds":{"type":"number","title":"Execution Duration Seconds","description":"Total execution time for the verification step."},"total":{"type":"integer","title":"Total","description":"Total number of tests executed."},"passed":{"type":"integer","title":"Passed","description":"Number of tests that passed."},"failed":{"type":"integer","title":"Failed","description":"Number of tests that failed."},"skipped":{"type":"integer","title":"Skipped","description":"Number of tests that were skipped."},"passes":{"items":{},"type":"array","title":"Passes","description":"A list of passing tests with their details.","default":[]},"failures":{"items":{},"type":"array","title":"Failures","description":"A list of failed tests with their details.","default":[]},"skips":{"items":{},"type":"array","title":"Skips","description":"A list of skipped/ignored tests with their details.","default":[]},"stdout":{"type":"string","title":"Stdout","description":"Standard output from the verifier.","default":"PLACE_HOLDER"},"stderr":{"type":"string","title":"Stderr","description":"Standard error from the verifier.","default":"PLACE_HOLDER"}},"type":"object","required":["is_success","execution_duration_seconds","total","passed","failed","skipped"],"title":"TestSuiteResult","description":"Result from a test suite verifier."},"ErrorInfo":{"properties":{"code":{"type":"string","title":"Code","description":"A unique error code for programmatic handling."},"message":{"type":"string","title":"Message","description":"A human-readable error message."}},"type":"object","required":["code","message"],"title":"ErrorInfo","description":"Details about an error that occurred during job processing."},"ContainerInfo":{"properties":{"container_name":{"type":"string","title":"Container Name","description":"Name of the Cloud Run service."},"service_url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Service Url","description":"URL of the Cloud Run service."},"sample_id":{"type":"string","title":"Sample Id","description":"Sample ID of the container."},"status":{"type":"string","title":"Status","description":"Status of the container."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Timestamp when the container was created (UTC)."},"expires_at":{"type":"string","format":"date-time","title":"Expires At","description":"Timestamp when the container will expire (UTC)."},"location":{"type":"string","title":"Location","description":"Cloud Run region where the container is deployed (e.g., 'europe-west1')."}},"type":"object","required":["container_name","service_url","sample_id","status","created_at","expires_at","location"],"title":"ContainerInfo","description":"Information about a container."}}}}
```

## The VerificationTool object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"VerificationTool":{"type":"string","enum":["test_suite","static_analysis","linter","custom"],"title":"VerificationTool","description":"Type of verification tool used."}}}}
```

## The VerifyStartResponse object

```json
{"openapi":"3.1.0","info":{"title":"Codeset API","version":"1.0.0"},"components":{"schemas":{"VerifyStartResponse":{"properties":{"job_id":{"type":"string","title":"Job Id","description":"Unique identifier for the verification job."},"status":{"$ref":"#/components/schemas/JobStatus","description":"Initial status of the verification job."},"started_at":{"type":"string","format":"date-time","title":"Started At","description":"Timestamp when verification started (UTC)."}},"type":"object","required":["job_id","status","started_at"],"title":"VerifyStartResponse","description":"Response for starting verification (async)."},"JobStatus":{"type":"string","enum":["pending","starting","running","completed","error","cancelled"],"title":"JobStatus","description":"Status of a verification job."}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://codeset.gitbook.io/codeset-documentation/api-reference/models.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
