Amazon Managed Blockchain Proposal Structure
Properties of a proposal on a Managed Blockchain network.
Applies only to Hyperledger Fabric.
Proposal is a JSON Structure definition published by Amazon Managed Blockchain, describing 14 properties. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
Properties
Meta-schema: https://json-structure.org/meta/core/v0/#
JSON Structure
{
"$schema": "https://json-structure.org/meta/core/v0/#",
"$id": "https://raw.githubusercontent.com/api-evangelist/amazon-managed-blockchain/refs/heads/main/json-structure/amazon-managed-blockchain-proposal-structure.json",
"name": "Proposal",
"description": "<p>Properties of a proposal on a Managed Blockchain network.</p> <p>Applies only to Hyperledger Fabric.</p>",
"type": "object",
"properties": {
"ProposalId": {
"allOf": [
{
"$ref": "#/components/schemas/ResourceIdString"
},
{
"description": "The unique identifier of the proposal."
}
]
},
"NetworkId": {
"allOf": [
{
"$ref": "#/components/schemas/ResourceIdString"
},
{
"description": "The unique identifier of the network for which the proposal is made."
}
]
},
"Description": {
"allOf": [
{
"$ref": "#/components/schemas/DescriptionString"
},
{
"description": "The description of the proposal."
}
]
},
"Actions": {
"allOf": [
{
"$ref": "#/components/schemas/ProposalActions"
},
{
"description": "The actions to perform on the network if the proposal is <code>APPROVED</code>."
}
]
},
"ProposedByMemberId": {
"allOf": [
{
"$ref": "#/components/schemas/ResourceIdString"
},
{
"description": "The unique identifier of the member that created the proposal."
}
]
},
"ProposedByMemberName": {
"allOf": [
{
"$ref": "#/components/schemas/NetworkMemberNameString"
},
{
"description": "The name of the member that created the proposal."
}
]
},
"Status": {
"allOf": [
{
"$ref": "#/components/schemas/ProposalStatus"
},
{
"description": "<p>The status of the proposal. Values are as follows:</p> <ul> <li> <p> <code>IN_PROGRESS</code> - The proposal is active and open for member voting.</p> </li> <li> <p> <code>APPROVED</code> - The proposal was approved with sufficient <code>YES</code> votes among members according to the <code>VotingPolicy</code> specified for the <code>Network</code>. The specified proposal actions are carried out.</p> </li> <li> <p> <code>REJECTED</code> - The proposal was rejected with insufficient <code>YES</code> votes among members according to the <code>VotingPolicy</code> specified for the <code>Network</code>. The specified <code>ProposalActions</code> aren't carried out.</p> </li> <li> <p> <code>EXPIRED</code> - Members didn't cast the number of votes required to determine the proposal outcome before the proposal expired. The specified <code>ProposalActions</code> aren't carried out.</p> </li> <li> <p> <code>ACTION_FAILED</code> - One or more of the specified <code>ProposalActions</code> in a proposal that was approved couldn't be completed because of an error. The <code>ACTION_FAILED</code> status occurs even if only one ProposalAction fails and other actions are successful.</p> </li> </ul>"
}
]
},
"CreationDate": {
"allOf": [
{
"$ref": "#/components/schemas/Timestamp"
},
{
"description": " The date and time that the proposal was created. "
}
]
},
"ExpirationDate": {
"allOf": [
{
"$ref": "#/components/schemas/Timestamp"
},
{
"description": " The date and time that the proposal expires. This is the <code>CreationDate</code> plus the <code>ProposalDurationInHours</code> that is specified in the <code>ProposalThresholdPolicy</code>. After this date and time, if members haven't cast enough votes to determine the outcome according to the voting policy, the proposal is <code>EXPIRED</code> and <code>Actions</code> aren't carried out. "
}
]
},
"YesVoteCount": {
"allOf": [
{
"$ref": "#/components/schemas/VoteCount"
},
{
"description": " The current total of <code>YES</code> votes cast on the proposal by members. "
}
]
},
"NoVoteCount": {
"allOf": [
{
"$ref": "#/components/schemas/VoteCount"
},
{
"description": " The current total of <code>NO</code> votes cast on the proposal by members. "
}
]
},
"OutstandingVoteCount": {
"allOf": [
{
"$ref": "#/components/schemas/VoteCount"
},
{
"description": " The number of votes remaining to be cast on the proposal by members. In other words, the number of members minus the sum of <code>YES</code> votes and <code>NO</code> votes. "
}
]
},
"Tags": {
"allOf": [
{
"$ref": "#/components/schemas/OutputTagMap"
},
{
"description": "<p>Tags assigned to the proposal. Each tag consists of a key and optional value.</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>"
}
]
},
"Arn": {
"allOf": [
{
"$ref": "#/components/schemas/ArnString"
},
{
"description": "The Amazon Resource Name (ARN) of the proposal. For more information about ARNs and their format, see <a href=\"https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html\">Amazon Resource Names (ARNs)</a> in the <i>Amazon Web Services General Reference</i>."
}
]
}
}
}
Work with this as data
Every JSON Structure here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for json structure
4 MCP tools reach this
find_json_structuresBrowse and filter every JSON Structure in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-structures/amazon-managed-blockchain-proposal-structure"
curl "https://apis.io/api/v1/json-structures?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.