Gasless project registration : relay the signed `register_by_sig` payload as ProjectRegistry.registerBySig
POST
/v1/developers/projects/{project_id}/register
const url = 'https://testnet-rpc.necter.network/v1/developers/projects/example/register';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"typed_data":{"domain":{},"types":{},"primaryType":"example","message":{}},"signature":"example","permit":{"domain":{},"types":{},"primaryType":"example","message":{}},"permit_signature":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://testnet-rpc.necter.network/v1/developers/projects/example/register \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "typed_data": { "domain": {}, "types": {}, "primaryType": "example", "message": {} }, "signature": "example", "permit": { "domain": {}, "types": {}, "primaryType": "example", "message": {} }, "permit_signature": "example" }'Body: SignedGasless built from register_by_sig of POST /v1/developers/projects (EIP-712 Register,
domain Necter ProjectRegistry), signed by the developer. slug and manifestHash must match the stored
version-1 manifest. Creating the vault still needs a developer transaction.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”project_id
required
string
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
typed_data
required
object
domain
required
object
key
additional properties
any
types
required
object
key
additional properties
any
primaryType
required
string
message
required
object
key
additional properties
any
signature
required
string
permit
Example generated
{ "typed_data": { "domain": {}, "types": {}, "primaryType": "example", "message": {} }, "signature": "example", "permit": { "domain": {}, "types": {}, "primaryType": "example", "message": {} }, "permit_signature": "example"}Responses
Section titled “Responses”Submitted
Malformed request (bad_request, invalid_field)
Media typeapplication/json
object
error
required
Stable machine code
string
message
required
string
details
object
key
additional properties
any
request_id
required
string
Example generated
{ "error": "example", "message": "example", "details": {}, "request_id": "example"}Authenticated but not allowed (forbidden, not_owner, not_enrolled, not_verified, scope_missing)
Media typeapplication/json
object
error
required
Stable machine code
string
message
required
string
details
object
key
additional properties
any
request_id
required
string
Example generated
{ "error": "example", "message": "example", "details": {}, "request_id": "example"}not_found
Media typeapplication/json
object
error
required
Stable machine code
string
message
required
string
details
object
key
additional properties
any
request_id
required
string
Example generated
{ "error": "example", "message": "example", "details": {}, "request_id": "example"}Semantically invalid (invalid_manifest, invalid_binding, invalid_evidence, incompatible, insufficient_collateral)
Media typeapplication/json
object
error
required
Stable machine code
string
message
required
string
details
object
key
additional properties
any
request_id
required
string
Example generated
{ "error": "example", "message": "example", "details": {}, "request_id": "example"}unavailable, no_validators, faucet_empty
Media typeapplication/json
object
error
required
Stable machine code
string
message
required
string
details
object
key
additional properties
any
request_id
required
string
Example generated
{ "error": "example", "message": "example", "details": {}, "request_id": "example"}