PUT /v1/contract/{id}
Update a contract project
PUT
/v1/contract/{id}
Update a contract project
Path Parameters
id
string
required
path
Contract project ID
Request Body required
Project data
application/jsonOne of:
Option 1
Option 2
name
string
REQUIRED
planSummary
object
description
string
features
string[]
Array of:
gasOptimizations
string[]
Array of:
name
string
securityConsiderations
string[]
Array of:
sessionId
string
For new projects
source
object
abi
string
Compiled artifacts (populated after compilation)
bytecode
string
Deployment bytecode
compilerOutput
string
Metadata
constructorAbi
string
Constructor info
contractCode
string
Main contract Solidity source (flattened or with imports)
contractName
string
Main contract (required)
dependencies
object
package → version (e.g., "@openzeppelin/contracts" → "v5.0.0")
deployedCode
string
Runtime bytecode
files
object
Multi-file project support
Key: relative path (e.g., "src/interfaces/IERC20.sol")
Value: file content
mainContract
string
Path to main contract file (e.g., "src/MyToken.sol")
solVersion
string
Solidity version (e.g., "0.8.20")
summary
string
Non-technical summary generated by AI
testCode
string
Foundry test file source
version
integer
Source version (increments on each edit)
testResults
object
autoFixed
boolean
failed
integer
failures
string[]
Array of:
fixAttempts
integer
log
string
passed
integer
runAt
string
total
integer
Responses
200
OK
application/jsoncode
integer
data
object
allDeployments
object[]
Array of:
address
string
blockNumber
integer
chainId
integer
deployedAt
string
deploymentMode
string
standard, create2, or create3
gasUsed
integer
isDeterministic
boolean
Whether CREATE2/CREATE3 was used
networkType
string
mainnet or testnet
predictedAddress
string
Pre-computed address for deterministic deployments
salt
string
CREATE2/CREATE3 salt for deterministic address
txHash
string
verificationStatus
string
Verification status
Enum:
pending, verified, failedverificationUrl
string
URL to view verified contract on block explorer
verified
boolean
Whether contract source is verified on block explorer
auditReport
object
findings
object[]
Array of:
acknowledged
boolean
category
string
reentrancy, access-control, etc.
codeSnippet
string
description
string
location
string
recommendation
string
severity
string
critical, high, medium, low, info
title
string
passes
string[]
Array of:
summary
object
critical
integer
high
integer
info
integer
low
integer
medium
integer
overallRisk
string
low, medium, high, critical
recommendation
string
deployment recommendation
timestamp
string
autoFixAttempts
integer
compilationFixAttempts
integer
createdAt
string
currentStep
integer
deployments
object
externalContractId
string
id
string
name
string
organizationId
string
planSummary
string
sessionId
string
source
object
abi
string
Compiled artifacts (populated after compilation)
bytecode
string
Deployment bytecode
compilerOutput
string
Metadata
constructorAbi
string
Constructor info
contractCode
string
Main contract Solidity source (flattened or with imports)
contractName
string
Main contract (required)
dependencies
object
package → version (e.g., "@openzeppelin/contracts" → "v5.0.0")
deployedCode
string
Runtime bytecode
files
object
Multi-file project support
Key: relative path (e.g., "src/interfaces/IERC20.sol")
Value: file content
mainContract
string
Path to main contract file (e.g., "src/MyToken.sol")
solVersion
string
Solidity version (e.g., "0.8.20")
summary
string
Non-technical summary generated by AI
testCode
string
Foundry test file source
version
integer
Source version (increments on each edit)
status
string
Enum:
planned, generating, code_generated, testing, tested, auditing, audited, deploying, testnet_deployed, mainnet_deployed, failedtestResults
object
autoFixed
boolean
failed
integer
failures
string[]
Array of:
fixAttempts
integer
log
string
passed
integer
runAt
string
total
integer
updatedAt
string
walletId
string
message
string
requestId
string
400
Bad Request
404
Not Found
500
Internal Server Error
curl -X PUT 'https://api.example.com/v1/contract/string' \ -H 'Authorization: Bearer YOUR_API_TOKEN' \ -H 'Content-Type: application/json' \ -d '{}'
const response = await fetch('https://api.example.com/v1/contract/string', { method: 'PUT', headers: { "Authorization": "Bearer YOUR_API_TOKEN", "Content-Type": "application/json" }, body: JSON.stringify({})});const data = await response.json();console.log(data);
import requestsheaders = { 'Authorization': 'Bearer YOUR_API_TOKEN'}response = requests.put('https://api.example.com/v1/contract/string', headers=headers, json={})print(response.json())
package mainimport ( "fmt" "io" "net/http" "strings")func main() { body := strings.NewReader(`{}`) req, _ := http.NewRequest("PUT", "https://api.example.com/v1/contract/string", body) req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN") req.Header.Set("Content-Type", "application/json") resp, _ := http.DefaultClient.Do(req) defer resp.Body.Close() result, _ := io.ReadAll(resp.Body) fmt.Println(string(result))}
200
Response
{ "code": 200, "data": { "allDeployments": [ { "address": "<string>", "blockNumber": 123, "chainId": 123, "deployedAt": "<string>", "deploymentMode": "<string>", "gasUsed": 123, "isDeterministic": true, "networkType": "<string>", "predictedAddress": "<string>", "salt": "<string>", "txHash": "<string>", "verificationStatus": "pending", "verificationUrl": "<string>", "verified": true } ], "auditReport": { "findings": [ { "acknowledged": true, "category": "<string>", "codeSnippet": "<string>", "description": "<string>", "location": "<string>", "recommendation": "<string>", "severity": "<string>", "title": "<string>" } ], "passes": [ "<string>" ], "summary": { "critical": 123, "high": 123, "info": 123, "low": 123, "medium": 123, "overallRisk": "<string>", "recommendation": "<string>" }, "timestamp": "<string>" }, "autoFixAttempts": 123, "compilationFixAttempts": 123, "createdAt": "<string>", "currentStep": 123, "deployments": "<object>", "externalContractId": "<string>", "id": "<string>", "name": "<string>", "organizationId": "<string>", "planSummary": "<string>", "sessionId": "<string>", "source": { "abi": "<string>", "bytecode": "<string>", "compilerOutput": "<string>", "constructorAbi": "<string>", "contractCode": "<string>", "contractName": "<string>", "dependencies": "<object>", "deployedCode": "<string>", "files": "<object>", "mainContract": "<string>", "solVersion": "<string>", "summary": "<string>", "testCode": "<string>", "version": 123 }, "status": "planned", "testResults": { "autoFixed": true, "failed": 123, "failures": [ "<string>" ], "fixAttempts": 123, "log": "<string>", "passed": 123, "runAt": "<string>", "total": 123 }, "updatedAt": "<string>", "walletId": "<string>" }, "message": "success", "requestId": "abc-123"}
API Playground
Try this endpoint
PUT
/v1/contract/{id}
