Amazon Managed Blockchain
API Reference (API Version 2018-09-24)

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.

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" }

URI Request Parameters

The request requires 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.

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

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 do not 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 does not exist on the network. It may have been deleted or referenced inaccurately.

HTTP Status Code: 404

ResourceNotReadyException

The requested resource exists but is not in a status that can complete the operation.

HTTP Status Code: 409

ThrottlingException

The request or operation could not be performed because a service is throttling requests. The most common source of throttling errors is launching EC2 instances such that your service limit for EC2 instances is exceeded. Request a limit increase or delete unused resources if possible.

HTTP Status Code: 429

See Also

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