{"info":{"description":"An entry point to the GalaChain network.\n\n\u003ca href=\"/docs\"\u003edocs\u003c/a\u003e / `asset/public-key-contract`","title":"GalaChain Gateway","version":"3.0.2"},"openapi":"3.0.0","paths":{"/api/asset/public-key-contract/DryRun":{"post":{"description":" Transaction is read only (evaluate). Allowed roles: EVALUATE.","operationId":"asset_public-key-contract_DryRun","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"callerPublicKey":{"minLength":1,"type":"string"},"dto":{"minLength":1,"type":"string"},"dtoExpiresAt":{"description":"Unix epoch timestamp in milliseconds (ms) when the DTO expires. If this time is before the current time, the DTO is not valid.","type":"number"},"dtoOperation":{"description":"Full operation identifier that is called on chain with this DTO. The format is `channelId_chaincodeId_methodName`. It is required for multisig DTOs, and optional for single signed DTOs. ","minLength":1,"type":"string"},"method":{"minLength":1,"type":"string"},"multisig":{"description":"List of signatures for this DTO if there are multiple signers. If there are multiple signatures, 'signerAddress' is required, and it is not allowed to provide 'signature' or 'signerPublicKey' fields, and the signing scheme must be ETH.","items":{},"minItems":2,"type":"array"},"prefix":{"description":"Prefix for Metamask transaction signatures. Necessary to format payloads correctly to recover publicKey from web3 signatures.","minLength":1,"type":"string"},"signature":{"description":"Signature of the DTO signed with caller's private key to be verified with user's public key saved on chain. The 'signature' field is optional for DTO, but is required for a transaction to be executed on chain. \nPlease consult [GalaChain SDK documentation](https://github.com/GalaChain/sdk/blob/main/docs/authorization.md#signature-based-authorization) on how to create signatures.","minLength":1,"type":"string"},"signerAddress":{"description":"Address of the user who signed the DTO. Typically Ethereum address, or user alias.","minLength":1,"type":"string"},"signerPublicKey":{"description":"Public key of the user who signed the DTO.","minLength":1,"type":"string"},"uniqueKey":{"description":"Unique key of the DTO. It is used to prevent double execution of the same transaction on chain. The key is saved on chain and checked before execution. If a DTO with already saved key is used in transaction, the transaction will fail with UniqueTransactionConflict error, which is mapped to HTTP 409 Conflict error. In case of the error, no changes are saved to chain state.\nThe key is generated by the caller and should be unique for each DTO. You can use `nanoid` library, UUID scheme, or any tool to generate unique string keys.","minLength":1,"type":"string"}},"required":["method"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"Data":{"properties":{"dtoExpiresAt":{"description":"Unix epoch timestamp in milliseconds (ms) when the DTO expires. If this time is before the current time, the DTO is not valid.","type":"number"},"dtoOperation":{"description":"Full operation identifier that is called on chain with this DTO. The format is `channelId_chaincodeId_methodName`. It is required for multisig DTOs, and optional for single signed DTOs. ","minLength":1,"type":"string"},"multisig":{"description":"List of signatures for this DTO if there are multiple signers. If there are multiple signatures, 'signerAddress' is required, and it is not allowed to provide 'signature' or 'signerPublicKey' fields, and the signing scheme must be ETH.","items":{},"minItems":2,"type":"array"},"prefix":{"description":"Prefix for Metamask transaction signatures. Necessary to format payloads correctly to recover publicKey from web3 signatures.","minLength":1,"type":"string"},"signature":{"description":"Signature of the DTO signed with caller's private key to be verified with user's public key saved on chain. The 'signature' field is optional for DTO, but is required for a transaction to be executed on chain. \nPlease consult [GalaChain SDK documentation](https://github.com/GalaChain/sdk/blob/main/docs/authorization.md#signature-based-authorization) on how to create signatures.","minLength":1,"type":"string"},"signerAddress":{"description":"Address of the user who signed the DTO. Typically Ethereum address, or user alias.","minLength":1,"type":"string"},"signerPublicKey":{"description":"Public key of the user who signed the DTO.","minLength":1,"type":"string"},"uniqueKey":{"description":"Unique key of the DTO. It is used to prevent double execution of the same transaction on chain. The key is saved on chain and checked before execution. If a DTO with already saved key is used in transaction, the transaction will fail with UniqueTransactionConflict error, which is mapped to HTTP 409 Conflict error. In case of the error, no changes are saved to chain state.\nThe key is generated by the caller and should be unique for each DTO. You can use `nanoid` library, UUID scheme, or any tool to generate unique string keys.","minLength":1,"type":"string"}},"type":"object"},"Message":{"type":"string"},"Status":{"description":"Indicates Error (0) or Success (1)","enum":[0,1]}},"required":["Status"],"type":"object"}}},"description":"","headers":{"x-transaction-id":{"description":"Transaction ID of evaluated transaction on the chain"}}}},"tags":["Methods"]}},"/api/asset/public-key-contract/GetObjectByKey":{"post":{"description":" Transaction is read only (evaluate). Allowed roles: EVALUATE.","operationId":"asset_public-key-contract_GetObjectByKey","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"properties":{"dtoExpiresAt":{"description":"Unix epoch timestamp in milliseconds (ms) when the DTO expires. If this time is before the current time, the DTO is not valid.","type":"number"},"dtoOperation":{"description":"Full operation identifier that is called on chain with this DTO. The format is `channelId_chaincodeId_methodName`. It is required for multisig DTOs, and optional for single signed DTOs. ","minLength":1,"type":"string"},"multisig":{"description":"List of signatures for this DTO if there are multiple signers. If there are multiple signatures, 'signerAddress' is required, and it is not allowed to provide 'signature' or 'signerPublicKey' fields, and the signing scheme must be ETH.","items":{},"minItems":2,"type":"array"},"objectId":{"minLength":1,"type":"string"},"prefix":{"description":"Prefix for Metamask transaction signatures. Necessary to format payloads correctly to recover publicKey from web3 signatures.","minLength":1,"type":"string"},"signature":{"description":"Signature of the DTO signed with caller's private key to be verified with user's public key saved on chain. The 'signature' field is optional for DTO, but is required for a transaction to be executed on chain. \nPlease consult [GalaChain SDK documentation](https://github.com/GalaChain/sdk/blob/main/docs/authorization.md#signature-based-authorization) on how to create signatures.","minLength":1,"type":"string"},"signerAddress":{"description":"Address of the user who signed the DTO. Typically Ethereum address, or user alias.","minLength":1,"type":"string"},"signerPublicKey":{"description":"Public key of the user who signed the DTO.","minLength":1,"type":"string"},"uniqueKey":{"description":"Unique key of the DTO. It is used to prevent double execution of the same transaction on chain. The key is saved on chain and checked before execution. If a DTO with already saved key is used in transaction, the transaction will fail with UniqueTransactionConflict error, which is mapped to HTTP 409 Conflict error. In case of the error, no changes are saved to chain state.\nThe key is generated by the caller and should be unique for each DTO. You can use `nanoid` library, UUID scheme, or any tool to generate unique string keys.","minLength":1,"type":"string"}},"required":["objectId"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"Data":{"type":"object"},"Message":{"type":"string"},"Status":{"description":"Indicates Error (0) or Success (1)","enum":[0,1]}},"required":["Status"],"type":"object"}}},"description":"","headers":{"x-transaction-id":{"description":"Transaction ID of evaluated transaction on the chain"}}}},"tags":["Methods"]}}}}