CreateProposal
Creates a proposal for a change to the network that other members of the network can vote on, for example, a proposal to add a new member to the network. Any member can create a proposal.
Applies only to Hyperledger Fabric.
Request Syntax
POST /networks/networkId
/proposals HTTP/1.1
Content-type: application/json
{
"Actions": {
"Invitations": [
{
"Principal": "string
"
}
],
"Removals": [
{
"MemberId": "string
"
}
]
},
"ClientRequestToken": "string
",
"Description": "string
",
"MemberId": "string
",
"Tags": {
"string
" : "string
"
}
}
URI Request Parameters
The request uses the following URI parameters.
- networkId
-
The unique identifier of the network for which the proposal is made.
Length Constraints: Minimum length of 1. Maximum length of 32.
Required: Yes
Request Body
The request accepts the following data in JSON format.
- Actions
-
The type of actions proposed, such as inviting a member or removing a member. The types of
Actions
in a proposal are mutually exclusive. For example, a proposal withInvitations
actions cannot also containRemovals
actions.Type: ProposalActions object
Required: Yes
- ClientRequestToken
-
A unique, case-sensitive identifier that you provide to ensure the idempotency of the operation. An idempotent operation completes no more than one time. This identifier is required only if you make a service request directly using an HTTP client. It is generated automatically if you use an AWS SDK or the AWS CLI.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Required: Yes
- Description
-
A description for the proposal that is visible to voting members, for example, "Proposal to add Example Corp. as member."
Type: String
Length Constraints: Maximum length of 128.
Required: No
- MemberId
-
The unique identifier of the member that is creating the proposal. This identifier is especially useful for identifying the member making the proposal when multiple members exist in a single AWS account.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 32.
Required: Yes
- Tags
-
Tags to assign to the proposal.
Each tag consists of a key and an optional value. You can specify multiple key-value pairs in a single request with an overall maximum of 50 tags allowed per resource.
For more information about tags, see Tagging Resources in the Amazon Managed Blockchain Ethereum Developer Guide, or Tagging Resources in the Amazon Managed Blockchain Hyperledger Fabric Developer Guide.
Type: String to string map
Map Entries: Minimum number of 0 items. Maximum number of 50 items.
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Value Length Constraints: Minimum length of 0. Maximum length of 256.
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"ProposalId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- ProposalId
-
The unique identifier of the proposal.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 32.
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
-
You don't have sufficient access to perform this action.
HTTP Status Code: 403
- InternalServiceErrorException
-
The request processing has failed because of an unknown error, exception or failure.
HTTP Status Code: 500
- InvalidRequestException
-
The action or operation requested is invalid. Verify that the action is typed correctly.
HTTP Status Code: 400
- ResourceNotFoundException
-
A requested resource doesn't exist. It may have been deleted or referenced incorrectly.
HTTP Status Code: 404
- ResourceNotReadyException
-
The requested resource exists but isn't in a status that can complete the operation.
HTTP Status Code: 409
- ThrottlingException
-
The request or operation couldn't be performed because a service is throttling requests. The most common source of throttling errors is creating resources that exceed your service limit for this resource type. Request a limit increase or delete unused resources if possible.
HTTP Status Code: 429
- TooManyTagsException
-
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: