---
title: "POST /networks/{networkId}/proposals"
method: POST
path: "/networks/{networkId}/proposals"
---

# POST /networks/{networkId}/proposals

`POST /networks/{networkId}/proposals`

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.

## Path parameters

- `networkId` string, required

## Request body

- object
  - `ClientRequestToken` string, required — 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 Amazon Web Services SDK or the CLI.
  - `MemberId` string, required — 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 Amazon Web Services account.
  - `Actions` object, required — <p> The actions to carry out if a proposal is <code>APPROVED</code>. </p> <p>Applies only to Hyperledger Fabric.</p>
    - `Invitations` InviteAction[] — The actions to perform for an <code>APPROVED</code> proposal to invite an Amazon Web Services account to create a member and join the network.
      - `Principal` string, required — The Amazon Web Services account ID to invite.
    - `Removals` RemoveAction[] — The actions to perform for an <code>APPROVED</code> proposal to remove a member from the network, which deletes the member and all associated member resources from the network.
      - `MemberId` string, required — The unique identifier of the member to remove.
  - `Description` string — A description for the proposal that is visible to voting members, for example, "Proposal to add Example Corp. as member."
  - `Tags` object — <p>Tags to assign to the proposal.</p> <p> 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.</p> <p>For more information about tags, see <a href="https://docs.aws.amazon.com/managed-blockchain/latest/ethereum-dev/tagging-resources.html">Tagging Resources</a> in the <i>Amazon Managed Blockchain Ethereum Developer Guide</i>, or <a href="https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/tagging-resources.html">Tagging Resources</a> in the <i>Amazon Managed Blockchain Hyperledger Fabric Developer Guide</i>.</p>

## Response `200`

Success

- CreateProposalOutput
  - `ProposalId` string — The unique identifier of the proposal.

## Other responses

- `480` — InvalidRequestException
- `481` — AccessDeniedException
- `482` — ResourceNotFoundException
- `483` — ResourceNotReadyException
- `484` — ThrottlingException
- `485` — InternalServiceErrorException
- `486` — TooManyTagsException

---

[API](https://skmtc.net/aws/apis/managedblockchain.md) · [All operations](https://skmtc.net/aws/apis/managedblockchain/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aws/managedblockchain/versions/43406c4e72b1/schema)
