CreateProposal - Amazon Managed Blockchain


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.


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.


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 with Invitations actions cannot also contain Removals actions.

Type: ProposalActions object

Required: Yes


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


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


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 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.


The unique identifier of the proposal.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 32.


For information about the errors that are common to all actions, see Common Errors.


You don't have sufficient access to perform this action.

HTTP Status Code: 403


The request processing has failed because of an unknown error, exception or failure.

HTTP Status Code: 500


The action or operation requested is invalid. Verify that the action is typed correctly.

HTTP Status Code: 400


A requested resource doesn't exist. It may have been deleted or referenced incorrectly.

HTTP Status Code: 404


The requested resource exists but isn't in a status that can complete the operation.

HTTP Status Code: 409


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


HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: