Create Circuit
POST/api/v1/circuit/create
Create a circuit.
Request​
- multipart/form-data
Body
required
metaobject
An arbitrary mapping of metadata keys to string values. This can be used to track additional information about the circuit such as an ID from an external system.
Default value: latest
Tags for a circuit.
Responses​
- 201
- 400
- 422
- 500
- 501
- application/json
- Schema
- Example (from schema)
Schema
- BoojumCircuitInfoResponse
- CircomCircuitInfoResponse
- Halo2CircuitInfoResponse
- GnarkCircuitInfoResponse
- JoltCircuitInfoResponse
- NoirCircuitInfoResponse
- Plonky2CircuitInfoResponse
A unique identifier generated for the circuit. UUID4 format.
The name of the project. This can be used in place of circuit_id for proving. This is specified during creation in the included sindri.json file. If the project is renamed, this will be the new name of the project, not the original name that was included in the sindri.json file.
Possible values: [boojum
]
The development framework used to write the circuit. This is specified during creation in the included sindri.json file.
The UTC datetime the circuit was uploaded in ISO8601 format.
metaobjectrequired
Metadata keys and values for the circuit that were specified at creation time.
The number of proofs submitted for this circuit.
The proving scheme for this circuit. This is specified during creation in the included sindri.json file.
Whether the circuit is public. Public circuits can be used by any user.
Possible values: [Queued
, In Progress
, Ready
, Failed
]
JobStatus choices
Tags for the circuit.
The name of the team that owns this circuit.
URL for the avatar image of the team that owns this circuit.
The slug of the team that owns this circuit.
Total compute time in ISO8601 format.
Total compute time in seconds.
Detailed compute times for the circuit compilation.
Total size of stored file(s) in bytes.
Queue time in ISO8601 format.
Queue time in seconds.
The name of the uploaded circuit file. Note: the CLI and SDKs create a generic name when a directory is specified for upload.
Boolean indicating whether this circuit has a smart contract verifier available.
Boolean indicating whether this circuit has a verification key available.
The verification key of this circuit.
A list of runtime warnings with UTC timestamps.
The error message for a failed circuit upload.
The field over which proofs take place.
The zkSync Era zkEVM version tag.
A unique identifier generated for the circuit. UUID4 format.
The name of the project. This can be used in place of circuit_id for proving. This is specified during creation in the included sindri.json file. If the project is renamed, this will be the new name of the project, not the original name that was included in the sindri.json file.
Possible values: [circom
]
The development framework used to write the circuit. This is specified during creation in the included sindri.json file.
The UTC datetime the circuit was uploaded in ISO8601 format.
metaobjectrequired
Metadata keys and values for the circuit that were specified at creation time.
The number of proofs submitted for this circuit.
The proving scheme for this circuit. This is specified during creation in the included sindri.json file.
Whether the circuit is public. Public circuits can be used by any user.
Possible values: [Queued
, In Progress
, Ready
, Failed
]
JobStatus choices
Tags for the circuit.
The name of the team that owns this circuit.
URL for the avatar image of the team that owns this circuit.
The slug of the team that owns this circuit.
Total compute time in ISO8601 format.
Total compute time in seconds.
Detailed compute times for the circuit compilation.
Total size of stored file(s) in bytes.
Queue time in ISO8601 format.
Queue time in seconds.
The name of the uploaded circuit file. Note: the CLI and SDKs create a generic name when a directory is specified for upload.
Boolean indicating whether this circuit has a smart contract verifier available.
Boolean indicating whether this circuit has a verification key available.
The verification key of this circuit.
A list of runtime warnings with UTC timestamps.
The error message for a failed circuit upload.
The elliptic curve over which the proving protocol takes place.
The number of constraints in the Rank-1 Constraint System (R1CS) of the circuit.
The number of public outputs from the circuit.
The number of private inputs for the circuit.
The number of public inputs for the circuit.
A unique identifier generated for the circuit. UUID4 format.
The name of the project. This can be used in place of circuit_id for proving. This is specified during creation in the included sindri.json file. If the project is renamed, this will be the new name of the project, not the original name that was included in the sindri.json file.
Possible values: [halo2
]
The development framework used to write the circuit. This is specified during creation in the included sindri.json file.
The UTC datetime the circuit was uploaded in ISO8601 format.
metaobjectrequired
Metadata keys and values for the circuit that were specified at creation time.
The number of proofs submitted for this circuit.
The proving scheme for this circuit. This is specified during creation in the included sindri.json file.
Whether the circuit is public. Public circuits can be used by any user.
Possible values: [Queued
, In Progress
, Ready
, Failed
]
JobStatus choices
Tags for the circuit.
The name of the team that owns this circuit.
URL for the avatar image of the team that owns this circuit.
The slug of the team that owns this circuit.
Total compute time in ISO8601 format.
Total compute time in seconds.
Detailed compute times for the circuit compilation.
Total size of stored file(s) in bytes.
Queue time in ISO8601 format.
Queue time in seconds.
The name of the uploaded circuit file. Note: the CLI and SDKs create a generic name when a directory is specified for upload.
Boolean indicating whether this circuit has a smart contract verifier available.
Boolean indicating whether this circuit has a verification key available.
The verification key of this circuit.
A list of runtime warnings with UTC timestamps.
The error message for a failed circuit upload.
The path to the circuit struct definition. This is specified during creation in the included sindri.json file.
The elliptic curve over which the proving protocol takes place.
The log_2 of the number of rows in the circuit, expressed as a matrix.
The Halo2 frontend version tag.
A unique identifier generated for the circuit. UUID4 format.
The name of the project. This can be used in place of circuit_id for proving. This is specified during creation in the included sindri.json file. If the project is renamed, this will be the new name of the project, not the original name that was included in the sindri.json file.
Possible values: [gnark
]
The development framework used to write the circuit. This is specified during creation in the included sindri.json file.
The UTC datetime the circuit was uploaded in ISO8601 format.
metaobjectrequired
Metadata keys and values for the circuit that were specified at creation time.
The number of proofs submitted for this circuit.
The proving scheme for this circuit. This is specified during creation in the included sindri.json file.
Whether the circuit is public. Public circuits can be used by any user.
Possible values: [Queued
, In Progress
, Ready
, Failed
]
JobStatus choices
Tags for the circuit.
The name of the team that owns this circuit.
URL for the avatar image of the team that owns this circuit.
The slug of the team that owns this circuit.
Total compute time in ISO8601 format.
Total compute time in seconds.
Detailed compute times for the circuit compilation.
Total size of stored file(s) in bytes.
Queue time in ISO8601 format.
Queue time in seconds.
The name of the uploaded circuit file. Note: the CLI and SDKs create a generic name when a directory is specified for upload.
Boolean indicating whether this circuit has a smart contract verifier available.
Boolean indicating whether this circuit has a verification key available.
The verification key of this circuit.
A list of runtime warnings with UTC timestamps.
The error message for a failed circuit upload.
The elliptic curve over which the proving protocol takes place.
The Gnark frontend version tag.
A unique identifier generated for the circuit. UUID4 format.
The name of the project. This can be used in place of circuit_id for proving. This is specified during creation in the included sindri.json file. If the project is renamed, this will be the new name of the project, not the original name that was included in the sindri.json file.
Possible values: [jolt
]
The development framework used to write the circuit. This is specified during creation in the included sindri.json file.
The UTC datetime the circuit was uploaded in ISO8601 format.
metaobjectrequired
Metadata keys and values for the circuit that were specified at creation time.
The number of proofs submitted for this circuit.
The proving scheme for this circuit. This is specified during creation in the included sindri.json file.
Whether the circuit is public. Public circuits can be used by any user.
Possible values: [Queued
, In Progress
, Ready
, Failed
]
JobStatus choices
Tags for the circuit.
The name of the team that owns this circuit.
URL for the avatar image of the team that owns this circuit.
The slug of the team that owns this circuit.
Total compute time in ISO8601 format.
Total compute time in seconds.
Detailed compute times for the circuit compilation.
Total size of stored file(s) in bytes.
Queue time in ISO8601 format.
Queue time in seconds.
The name of the uploaded circuit file. Note: the CLI and SDKs create a generic name when a directory is specified for upload.
Boolean indicating whether this circuit has a smart contract verifier available.
Boolean indicating whether this circuit has a verification key available.
The verification key of this circuit.
A list of runtime warnings with UTC timestamps.
The error message for a failed circuit upload.
The commitment scheme used in the Jolt zkVM prover.
Whether the Rust standard library is enabled for the guest code.
The Jolt frontend version tag.
The name of the circuit project specified in the included Cargo.toml file.
The name of the guest function in the user's uploaded guest code.
A unique identifier generated for the circuit. UUID4 format.
The name of the project. This can be used in place of circuit_id for proving. This is specified during creation in the included sindri.json file. If the project is renamed, this will be the new name of the project, not the original name that was included in the sindri.json file.
Possible values: [noir
]
The development framework used to write the circuit. This is specified during creation in the included sindri.json file.
The UTC datetime the circuit was uploaded in ISO8601 format.
metaobjectrequired
Metadata keys and values for the circuit that were specified at creation time.
The number of proofs submitted for this circuit.
The proving scheme for this circuit. This is specified during creation in the included sindri.json file.
Whether the circuit is public. Public circuits can be used by any user.
Possible values: [Queued
, In Progress
, Ready
, Failed
]
JobStatus choices
Tags for the circuit.
The name of the team that owns this circuit.
URL for the avatar image of the team that owns this circuit.
The slug of the team that owns this circuit.
Total compute time in ISO8601 format.
Total compute time in seconds.
Detailed compute times for the circuit compilation.
Total size of stored file(s) in bytes.
Queue time in ISO8601 format.
Queue time in seconds.
The name of the uploaded circuit file. Note: the CLI and SDKs create a generic name when a directory is specified for upload.
Boolean indicating whether this circuit has a smart contract verifier available.
Boolean indicating whether this circuit has a verification key available.
The verification key of this circuit.
A list of runtime warnings with UTC timestamps.
The error message for a failed circuit upload.
The number of opcodes in the intermediate representation.
The number of constraints with an instantiated proving backend in the circuit.
The elliptic curve over which the proving protocol takes place.
The name of the circuit project specified in the included Nargo.toml file.
The Noir frontend version tag.
A unique identifier generated for the circuit. UUID4 format.
The name of the project. This can be used in place of circuit_id for proving. This is specified during creation in the included sindri.json file. If the project is renamed, this will be the new name of the project, not the original name that was included in the sindri.json file.
Possible values: [plonky2
]
The development framework used to write the circuit. This is specified during creation in the included sindri.json file.
The UTC datetime the circuit was uploaded in ISO8601 format.
metaobjectrequired
Metadata keys and values for the circuit that were specified at creation time.
The number of proofs submitted for this circuit.
The proving scheme for this circuit. This is specified during creation in the included sindri.json file.
Whether the circuit is public. Public circuits can be used by any user.
Possible values: [Queued
, In Progress
, Ready
, Failed
]
JobStatus choices
Tags for the circuit.
The name of the team that owns this circuit.
URL for the avatar image of the team that owns this circuit.
The slug of the team that owns this circuit.
Total compute time in ISO8601 format.
Total compute time in seconds.
Detailed compute times for the circuit compilation.
Total size of stored file(s) in bytes.
Queue time in ISO8601 format.
Queue time in seconds.
The name of the uploaded circuit file. Note: the CLI and SDKs create a generic name when a directory is specified for upload.
Boolean indicating whether this circuit has a smart contract verifier available.
Boolean indicating whether this circuit has a verification key available.
The verification key of this circuit.
A list of runtime warnings with UTC timestamps.
The error message for a failed circuit upload.
The path to the circuit struct definition. This is specified during creation in the included sindri.json file.
The Plonky2 frontend version tag.
{}
- application/json
- Schema
- Example (from schema)
Schema
Default value: Invalid upload.
{
"error": "string",
"message": "Invalid upload."
}
- application/json
- Schema
- Example (from schema)
Schema
{
"location": "string",
"message": "string"
}
- application/json
- Schema
- Example (from schema)
Schema
Default value: An internal error occurred.
{
"error": "string",
"message": "An internal error occurred."
}
- application/json
- Schema
- Example (from schema)
Schema
Default value: Coming soon!
{
"message": "Coming soon!"
}