{"swagger":"2.0","info":{"version":"v1","title":"Azure Blockchain Workbench REST API","description":"The Azure Blockchain Workbench REST API is a Workbench extensibility point, which allows developers to create and manage blockchain applications, manage users and organizations within a consortium, integrate blockchain applications into services and platforms, perform transactions on a blockchain, and retrieve transactional and contract data from a blockchain."},"basePath":"/","paths":{"/api/v1/applications":{"get":{"tags":["Applications"],"summary":"","description":"Lists all blockchain applications to which a user has access in Workbench. Users who are Workbench administrators get\n all blockchain applications. Non-Workbench administrators get all blockchain applications for which they have at least one\n associated application role or an associated smart contract instance role.","operationId":"ApplicationsGet","consumes":[],"produces":[],"parameters":[{"name":"top","in":"query","description":"The maximum number of entries to return in the result set.","required":false,"type":"integer","format":"int32"},{"name":"skip","in":"query","description":"The number of entries to skip in the result set.","required":false,"type":"integer","format":"int32"},{"name":"enabled","in":"query","description":"A Boolean for whether to filter the result set to only enabled applications.","required":false,"type":"boolean"},{"name":"sortBy","in":"query","description":"The field to sort.","required":false,"type":"string"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"$ref":"#/definitions/ApplicationList"}}},"deprecated":false},"post":{"tags":["Applications"],"summary":"","description":"Creates a new blockchain application. This method can only be performed by users who are\n Workbench administrators.","operationId":"ApplicationsPost","consumes":["multipart/form-data"],"produces":[],"parameters":[{"name":"appFile","in":"formData","description":"Upload Application File","required":true,"type":"file"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"format":"int32","type":"integer"}}},"deprecated":false}},"/api/v1/applications/{applicationId}":{"get":{"tags":["Applications"],"summary":"","description":"Gets the blockchain application matching a specific application ID. Users who are Workbench administrators get\n the blockchain application. Non-Workbench administrators get the blockchain application if they have at least one associated\n application role or is associated with a smart contract instance role.","operationId":"ApplicationGet","consumes":[],"produces":[],"parameters":[{"name":"applicationId","in":"path","description":"The id of the application.","required":true,"type":"integer","format":"int32"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"$ref":"#/definitions/Application"}}},"deprecated":false},"delete":{"tags":["Applications"],"summary":"","description":"Deletes the specified blockchain application. This method can only be performed by users who are\n Workbench administrators. NOTE: Currently not implemented.","operationId":"ApplicationDelete","consumes":[],"produces":[],"parameters":[{"name":"applicationId","in":"path","description":"The id of the application.","required":true,"type":"string"}],"responses":{"204":{"description":"No Content"}},"deprecated":false}},"/api/v1/applications/{applicationId}/enable":{"patch":{"tags":["Applications"],"summary":"","description":"Enables the specified blockchain application. This method can only be performed by users who are\n Workbench administrators.","operationId":"ApplicationEnable","consumes":[],"produces":[],"parameters":[{"name":"applicationId","in":"path","description":"The id of the application.","required":true,"type":"integer","format":"int32"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK"}},"deprecated":false}},"/api/v1/applications/{applicationId}/disable":{"patch":{"tags":["Applications"],"summary":"","description":"Disables the specified blockchain application. This method can only be performed by users who are\n Workbench administrators.","operationId":"ApplicationDisable","consumes":[],"produces":[],"parameters":[{"name":"applicationId","in":"path","description":"The id of the application.","required":true,"type":"integer","format":"int32"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK"}},"deprecated":false}},"/api/v1/applications/{applicationId}/roleAssignments":{"get":{"tags":["Applications"],"summary":"","description":"List all role assignments of the specified blockchain application. Users who are Workbench administrators\n get all role assignments. Non-Workbench administrators get all their role assignments. Roles are specified\n in the Workbench application configuration and can be retrieved from GET /applications/{applicationID}.\n Also, user information can be retrieved from GET /users/{userID}.","operationId":"RoleAssignmentsGet","consumes":[],"produces":[],"parameters":[{"name":"applicationId","in":"path","description":"The id of the configuration","required":true,"type":"integer","format":"int32"},{"name":"applicationRoleId","in":"query","description":"The id of the application role","required":false,"type":"integer","format":"int32"},{"name":"top","in":"query","description":"The maximum number of entries to return in the result set.","required":false,"type":"integer","format":"int32"},{"name":"skip","in":"query","description":"The number of entries to skip in the result set.","required":false,"type":"integer","format":"int32"},{"name":"sortBy","in":"query","description":"The field to sort","required":false,"type":"string"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"$ref":"#/definitions/RoleAssignmentList"}}},"deprecated":false},"post":{"tags":["Applications"],"summary":"","description":"Creates a user-to-role mapping in the specified blockchain application. This method can only be performed by\n users who are Workbench administrators.","operationId":"RoleAssignmentsPost","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":[],"parameters":[{"name":"applicationId","in":"path","description":"The id of the configuration.","required":true,"type":"integer","format":"int32"},{"name":"roleAssignment","in":"body","description":"New user-to-role mapping.","required":false,"schema":{"$ref":"#/definitions/RoleAssignmentInput"}}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"format":"int32","type":"integer"}}},"deprecated":false}},"/api/v1/applications/{applicationId}/roleAssignments/{roleAssignmentId}":{"get":{"tags":["Applications"],"summary":"","description":"Get a role assignment of the specified blockchain application matching a specific user role assignment ID.\n Users who are Workbench administrators get the role assignment. Non-Workbench administrators get the role assignment\n if they are associated in the application.","operationId":"RoleAssignmentGet","consumes":[],"produces":[],"parameters":[{"name":"applicationId","in":"path","description":"The id of the configuration","required":true,"type":"integer","format":"int32"},{"name":"roleAssignmentId","in":"path","description":"The id of the role assignment","required":true,"type":"integer","format":"int32"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"$ref":"#/definitions/RoleAssignment"}}},"deprecated":false},"put":{"tags":["Applications"],"summary":"","description":"Updates the specified role assignment. This method can only be performed by users who are Workbench administrators.","operationId":"RoleAssignmentPut","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":[],"parameters":[{"name":"applicationId","in":"path","description":"The id of the application","required":true,"type":"integer","format":"int32"},{"name":"roleAssignmentId","in":"path","description":"The id of the user-to-role mapping","required":true,"type":"integer","format":"int32"},{"name":"roleAssignment","in":"body","description":"New user-to-role mapping parameters","required":false,"schema":{"$ref":"#/definitions/RoleAssignmentInput"}}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"format":"int32","type":"integer"}}},"deprecated":false},"delete":{"tags":["Applications"],"summary":"","description":"Deletes the specified role assignment. This method can only be performed by users who are\n Workbench administrators.","operationId":"RoleAssignmentDelete","consumes":[],"produces":[],"parameters":[{"name":"applicationId","in":"path","description":"The id of the application","required":true,"type":"integer","format":"int32"},{"name":"roleAssignmentId","in":"path","description":"The id of the role assignment","required":true,"type":"integer","format":"int32"}],"responses":{"204":{"description":"NoContent"}},"deprecated":false}},"/api/v1/applications/{applicationId}/workflows":{"get":{"tags":["Applications"],"summary":"","description":"List all workflows of the specified blockchain application. Users who are Workbench administrators get all\n workflows. Non-Workbench administrators get all workflows for which they have at least one associated application role\n or are associated with a smart contract instance role.","operationId":"WorkflowsGet","consumes":[],"produces":[],"parameters":[{"name":"applicationId","in":"path","description":"The id of the application","required":true,"type":"integer","format":"int32"},{"name":"top","in":"query","description":"The maximum number of items to return","required":false,"type":"integer","format":"int32"},{"name":"skip","in":"query","description":"The number of items to skip before returning","required":false,"type":"integer","format":"int32"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"$ref":"#/definitions/WorkflowList"}}},"deprecated":false}},"/api/v1/applications/workflows/{workflowId}":{"get":{"tags":["Applications"],"summary":"","description":"Get a workflow matching a specific workflow ID.\n Users who are Workbench administrators get the workflow. Non-Workbench administrators get the workflow if they\n have at least one associated application role or is associated with a smart contract instance role.","operationId":"WorkflowGet","consumes":[],"produces":[],"parameters":[{"name":"workflowId","in":"path","description":"The id of the workflow","required":true,"type":"integer","format":"int32"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"$ref":"#/definitions/Workflow"}}},"deprecated":false}},"/api/v1/applications/{applicationId}/contractCode":{"get":{"tags":["Applications"],"summary":"","description":"List all blockchain smart contract implementations of the specified blockchain application.\n Users who are Workbench administrators get all smart contract implementations. Non-Workbench administrators get all\n smart contract implementations for which they have at least one associated application role or is associated with a\n smart contract instance role.","operationId":"ContractCodesGet","consumes":[],"produces":[],"parameters":[{"name":"applicationId","in":"path","description":"The id of the application","required":true,"type":"integer","format":"int32"},{"name":"ledgerId","in":"query","description":"The index of the chain type","required":false,"type":"integer","format":"int32"},{"name":"top","in":"query","description":"The maximum number of items to return","required":false,"type":"integer","format":"int32"},{"name":"skip","in":"query","description":"The number of items to skip before returning","required":false,"type":"integer","format":"int32"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"$ref":"#/definitions/ContractCodeList"}}},"deprecated":false},"post":{"tags":["Applications"],"summary":"","description":"Uploads one or more smart contracts (ex. .sol or .zip), representing the implementation of the specified blockchain\n application. This method can only be performed by users who are Workbench administrators.","operationId":"ContractCodePost","consumes":["multipart/form-data"],"produces":[],"parameters":[{"name":"applicationId","in":"path","description":"The id of the application","required":true,"type":"integer","format":"int32"},{"name":"ledgerId","in":"query","description":"The index of the ledger","required":false,"type":"integer","format":"int32"},{"name":"contractFile","in":"formData","description":"Upload ContractCode File","required":true,"type":"file"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"format":"int32","type":"integer"}}},"deprecated":false}},"/api/v1/applications/contractCode/{contractCodeId}":{"get":{"tags":["Applications"],"summary":"","description":"Get the blockchain smart contract implementation matching a specific\n contract code id. Users who are Workbench administrators get the specified smart contract implementation.\n Non-Workbench administrators get the smart contract implementation if they have at least one associated application\n role or is associated with a smart contract instance role.","operationId":"ContractCodeGet","consumes":[],"produces":[],"parameters":[{"name":"contractCodeId","in":"path","description":"The id of the contract code","required":true,"type":"integer","format":"int32"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"$ref":"#/definitions/FileStreamResult"}}},"deprecated":false},"delete":{"tags":["Applications"],"summary":"","description":"Deletes the specified blockchain smart contract implementation of a specific blockchain application.\n This method can only be performed by users who are Workbench administrators.\n NOTE: not currently implemented","operationId":"ContractCodeDelete","consumes":[],"produces":[],"parameters":[{"name":"contractCodeId","in":"path","description":"The id of the contract code","required":true,"type":"integer","format":"int32"}],"responses":{"204":{"description":"No Content"}},"deprecated":false}},"/api/v1/capabilities":{"get":{"tags":["Capabilities"],"summary":"","description":"List all capabilities the user can perform within Workbench.\n Checked capabilities include ability to add blockchain applications, add smart contract implementations,\n add or edit user role assignments, and add new users.","operationId":"CapabilitiesGet","consumes":[],"produces":[],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"$ref":"#/definitions/Capabilities"}}},"deprecated":false}},"/api/v1/capabilities/canCreateContract/{workflowId}":{"get":{"tags":["Capabilities"],"summary":"","description":"Checks if user has capability to create new smart contract instance for a specific workflow ID.","operationId":"CanCreateContract","consumes":[],"produces":[],"parameters":[{"name":"workflowId","in":"path","description":"The id of the workflow.","required":true,"type":"integer","format":"int32"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"type":"boolean"}}},"deprecated":false}},"/api/v1/checkers/checkApplication":{"post":{"tags":["Checkers"],"summary":"","description":"Checks if the supplied application configuration file is valid for Workbench.","operationId":"CheckApplicationPost","consumes":["multipart/form-data"],"produces":[],"parameters":[{"name":"appFile","in":"formData","description":"Upload Application File","required":true,"type":"file"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"format":"int32","type":"integer"}}},"deprecated":false}},"/api/v1/checkers/checkContractCode":{"post":{"tags":["Checkers"],"summary":"","description":"Check if the application smart contract implementation file is valid for Workbench.","operationId":"CheckContractCodePost","consumes":["multipart/form-data"],"produces":[],"parameters":[{"name":"ledgerId","in":"query","description":"The index of the chain type.","required":false,"type":"integer","format":"int32"},{"name":"contractFile","in":"formData","description":"Upload Contract Code File","required":true,"type":"file"},{"name":"appFile","in":"formData","description":"Upload Application File","required":true,"type":"file"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"format":"int32","type":"integer"}}},"deprecated":false}},"/api/v1/ledgers/connections":{"get":{"tags":["Connections"],"summary":"","description":"Lists the connected blockchain networks.","operationId":"ConnectionsGet","consumes":[],"produces":[],"parameters":[{"name":"top","in":"query","description":"The maximum number of items to return","required":false,"type":"integer","format":"int32"},{"name":"skip","in":"query","description":"The number of items to skip before returning","required":false,"type":"integer","format":"int32"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"$ref":"#/definitions/ConnectionList"}}},"deprecated":false}},"/api/v1/ledgers/connections/{connectionId}":{"get":{"tags":["Connections"],"summary":"","description":"Gets the connected blockchain network matching a specific connection ID.","operationId":"ConnectionGet","consumes":[],"produces":[],"parameters":[{"name":"connectionId","in":"path","description":"The id of the connection.","required":true,"type":"integer","format":"int32"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"$ref":"#/definitions/Connection"}}},"deprecated":false}},"/api/v1/ledgers/connections/{connectionId}/blocks":{"get":{"tags":["Connections"],"summary":"","description":"Lists the blocks for a connected blockchain network.","operationId":"BlocksGet","consumes":[],"produces":[],"parameters":[{"name":"connectionId","in":"path","description":"The id of the connection.","required":true,"type":"integer","format":"int32"},{"name":"top","in":"query","description":"The maximum number of items to return.","required":false,"type":"integer","format":"int32"},{"name":"skip","in":"query","description":"The number of items to skip before returning.","required":false,"type":"integer","format":"int32"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"$ref":"#/definitions/BlockList"}}},"deprecated":false}},"/api/v1/ledgers/connections/{connectionId}/blocks/{blockId}":{"get":{"tags":["Connections"],"summary":"","description":"Gets the block matching a specific block ID.","operationId":"BlockGet","consumes":[],"produces":[],"parameters":[{"name":"connectionId","in":"path","description":"The connectionId of the block.","required":true,"type":"integer","format":"int32"},{"name":"blockId","in":"path","description":"The id of the block.","required":true,"type":"integer","format":"int32"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"$ref":"#/definitions/Block"}}},"deprecated":false}},"/api/v1/ledgers/connections/{connectionId}/transactions":{"get":{"tags":["Connections"],"summary":"","description":"Lists the transactions for a connected blockchain network.","operationId":"TransactionsGet","consumes":[],"produces":[],"parameters":[{"name":"connectionId","in":"path","description":"The id of the connection.","required":true,"type":"integer","format":"int32"},{"name":"top","in":"query","description":"The maximum number of items to return.","required":false,"type":"integer","format":"int32"},{"name":"skip","in":"query","description":"The number of items to skip before returning.","required":false,"type":"integer","format":"int32"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/TransactionList"}}}},"deprecated":false}},"/api/v1/ledgers/connections/{connectionId}/transactions/{transactionId}":{"get":{"tags":["Connections"],"summary":"","description":"Gets the transaction matching a specific transaction ID.","operationId":"TransactionGet","consumes":[],"produces":[],"parameters":[{"name":"connectionId","in":"path","description":"The connectionId of the transaction.","required":true,"type":"integer","format":"int32"},{"name":"transactionId","in":"path","description":"The id of the transaction.","required":true,"type":"integer","format":"int32"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"$ref":"#/definitions/Transaction"}}},"deprecated":false}},"/api/v1/contracts":{"get":{"tags":["Contracts"],"summary":"","description":"Lists the smart contract instances of the specified workflow. Users who are Workbench administrators get all\n smart contract instances. Non-Workbench administrators get all smart contract instances for which they have at least\n one associated application role or is associated with a smart contract instance role.","operationId":"ContractsGet","consumes":[],"produces":[],"parameters":[{"name":"top","in":"query","description":"The maximum number of items to return.","required":false,"type":"integer","format":"int32"},{"name":"skip","in":"query","description":"The number of items to skip before returning.","required":false,"type":"integer","format":"int32"},{"name":"workflowId","in":"query","description":"The ID of the associated workflow.","required":false,"type":"integer","format":"int32"},{"name":"sortBy","in":"query","description":"The field to sort","required":false,"type":"string"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"$ref":"#/definitions/ContractList"}}},"deprecated":false},"post":{"tags":["Contracts"],"summary":"","description":"Creates a new smart contract instance for the specified workflow ID.\n Users are only able to create a new smart contract instance if the user is associated with an application role,\n which can initiate a smart contract instance for the workflow.","operationId":"ContractPost","consumes":["application/json"],"produces":[],"parameters":[{"name":"workflowActionInput","in":"body","description":"The set of all contract action parameters.","required":false,"schema":{"$ref":"#/definitions/WorkflowActionInput"}},{"name":"workflowId","in":"query","description":"The id of the workflow.","required":false,"type":"integer","format":"int32"},{"name":"contractCodeId","in":"query","description":"The id of the smart contract implementation.","required":false,"type":"integer","format":"int32"},{"name":"connectionId","in":"query","description":"The id of the blockchain connection.","required":false,"type":"integer","format":"int32"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"$ref":"#/definitions/WorkflowActionInput"}}},"deprecated":false}},"/api/v1/contracts/{contractId}":{"get":{"tags":["Contracts"],"summary":"","description":"Gets the smart contract instance matching a specific contract ID. Users who are Workbench\n administrators get the smart contract instance. Non-Workbench administrators get the smart contract instance\n if they have at least one associated application role or is associated with the smart contract instance.","operationId":"ContractGet","consumes":[],"produces":[],"parameters":[{"name":"contractId","in":"path","description":"The id of the contract","required":true,"type":"integer","format":"int32"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"$ref":"#/definitions/Contract"}}},"deprecated":false}},"/api/v1/contracts/{contractId}/actions":{"get":{"tags":["Contracts"],"summary":"","description":"Lists all actions, which can be taken by the given user and current state of the specified smart contract\n instance. Users get all applicable actions if the user has an associated application role or is associated with a smart\n contract instance role for the current state of the specified smart contract instance.","operationId":"ContractActionsGet","consumes":[],"produces":[],"parameters":[{"name":"contractId","in":"path","description":"The id of the contract.","required":true,"type":"integer","format":"int32"},{"name":"top","in":"query","description":"The maximum number of items to return.","required":false,"type":"integer","format":"int32"},{"name":"skip","in":"query","description":"The number of items to skip before returning.","required":false,"type":"integer","format":"int32"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"$ref":"#/definitions/WorkflowStateTransitionList"}}},"deprecated":false},"post":{"tags":["Contracts"],"summary":"","description":"Executes an action for the specified smart contract instance and action ID. Users are only able to execute\n the action given the current state of the specified smart contract instance and the user's associated application role\n or smart contract instance role.","operationId":"ContractActionPost","consumes":["application/json"],"produces":[],"parameters":[{"name":"contractId","in":"path","description":"The id of the contract.","required":true,"type":"integer","format":"int32"},{"name":"actionInformation","in":"body","description":"Parameters for a particular action.","required":false,"schema":{"$ref":"#/definitions/WorkflowActionInput"}}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"$ref":"#/definitions/LedgerActionOutput"}}},"deprecated":false}},"/api/v1/contracts/{contractId}/actions/{actionId}":{"get":{"tags":["Contracts"],"summary":"","description":"Gets the action matching the specified action ID. Users get the action if the user can take the action\n given the current state of the specified smart contract instance and the user's associated application role or smart\n contract instance role.","operationId":"ContractActionGet","consumes":[],"produces":[],"parameters":[{"name":"contractId","in":"path","description":"The id of the contract.","required":true,"type":"integer","format":"int32"},{"name":"actionId","in":"path","description":"The id of the action.","required":true,"type":"integer","format":"int32"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"$ref":"#/definitions/WorkflowStateTransition"}}},"deprecated":false}},"/api/v1/graphProxy/{version}/users":{"get":{"tags":["GraphProxy"],"summary":"","description":"Represents a proxy method to the Azure Active Directory Graph API for users.\n See https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/user_list for more details.","operationId":"GraphProxy-UsersGet","consumes":[],"produces":[],"parameters":[{"name":"version","in":"path","description":"The version for the graph api endpoint","required":true,"type":"string"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"$ref":"#/definitions/ContentResult"}}},"deprecated":false}},"/api/health":{"get":{"tags":["Health"],"summary":"","description":"Returns the health of the system. See https://docs.microsoft.com/en-us/azure/architecture/patterns/health-endpoint-monitoring\n for more details.","operationId":"Health","consumes":[],"produces":[],"responses":{"204":{"description":"No Content"},"200":{"description":"OK"}},"deprecated":false}},"/api/v1/ledgers":{"get":{"tags":["Ledgers"],"summary":"","description":"Lists the supported blockchain types, such as Ethereum or Hyperledger Fabric.","operationId":"LedgersGet","consumes":[],"produces":[],"parameters":[{"name":"top","in":"query","description":"The maximum number of items to return.","required":false,"type":"integer","format":"int32"},{"name":"skip","in":"query","description":"The number of items to skip before returning.","required":false,"type":"integer","format":"int32"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"$ref":"#/definitions/LedgerList"}}},"deprecated":false}},"/api/v1/users":{"get":{"tags":["Users"],"summary":"Get Users","description":"Lists all users within the connected blockchain consortium.","operationId":"UsersGet","consumes":[],"produces":[],"parameters":[{"name":"top","in":"query","description":"The maximum number of items to return.","required":false,"type":"integer","format":"int32"},{"name":"skip","in":"query","description":"The number of items to skip before returning.","required":false,"type":"integer","format":"int32"},{"name":"externalId","in":"query","description":"The external ID of the user to query for.","required":false,"type":"string"},{"name":"userChainIdentifier","in":"query","description":"The on-chain address of the user to query for.","required":false,"type":"string"},{"name":"sortBy","in":"query","description":"The field to sort","required":false,"type":"string"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"$ref":"#/definitions/UserList"}}},"deprecated":false},"post":{"tags":["Users"],"summary":"","description":"Adds a user to the blockchain consortium. This method can only be performed by users who are\n Workbench administrators.","operationId":"UsersPost","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":[],"parameters":[{"name":"userInput","in":"body","description":"New user to add.","required":false,"schema":{"$ref":"#/definitions/UserInput"}}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"format":"int32","type":"integer"}}},"deprecated":false}},"/api/v1/users/{userId}":{"get":{"tags":["Users"],"summary":"","description":"Gets the user matching a specific user ID.","operationId":"UserGet","consumes":[],"produces":[],"parameters":[{"name":"userId","in":"path","description":"The id of the user.","required":true,"type":"integer","format":"int32"}],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"$ref":"#/definitions/User"}}},"deprecated":false},"delete":{"tags":["Users"],"summary":"","description":"Deletes the specified user. This method can only be performed by users who are Workbench administrators.\n NOTE: Not currently implemented.","operationId":"UserDelete","consumes":[],"produces":[],"parameters":[{"name":"userId","in":"path","description":"The id of the user","required":true,"type":"string"}],"responses":{"204":{"description":"No Content"}},"deprecated":false}},"/api/v1/users/me":{"get":{"tags":["Users"],"summary":"","description":"Returns the current user.","operationId":"MeGet","consumes":[],"produces":[],"responses":{"204":{"description":"No Content"},"200":{"description":"OK","schema":{"$ref":"#/definitions/Me"}}},"deprecated":false}}},"definitions":{"IFormFile":{"type":"object","properties":{"contentType":{"type":"string","readOnly":true},"contentDisposition":{"type":"string","readOnly":true},"headers":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"readOnly":true},"length":{"format":"int64","type":"integer","readOnly":true},"name":{"type":"string","readOnly":true},"fileName":{"type":"string","readOnly":true}}},"ApplicationList":{"type":"object","properties":{"nextLink":{"type":"string"},"applications":{"type":"array","items":{"$ref":"#/definitions/Application"}}}},"Application":{"type":"object","properties":{"id":{"format":"int32","type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"displayName":{"type":"string"},"createdByUserId":{"format":"int32","type":"integer"},"createdDtTm":{"format":"date-time","type":"string"},"enabled":{"type":"boolean"},"blobStorageURL":{"type":"string"},"applicationRoles":{"type":"array","items":{"$ref":"#/definitions/ApplicationRole"}}}},"ApplicationRole":{"type":"object","properties":{"id":{"format":"int32","type":"integer"},"name":{"type":"string"},"description":{"type":"string"}}},"RoleAssignmentList":{"type":"object","properties":{"nextLink":{"type":"string"},"roleAssignments":{"type":"array","items":{"$ref":"#/definitions/RoleAssignment"}}}},"RoleAssignment":{"type":"object","properties":{"id":{"format":"int32","type":"integer"},"applicationRoleId":{"format":"int32","type":"integer"},"user":{"$ref":"#/definitions/User"}}},"User":{"type":"object","properties":{"userID":{"format":"int32","type":"integer"},"externalID":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"emailAddress":{"type":"string"},"userChainMappings":{"type":"array","items":{"$ref":"#/definitions/UserChainMapping"}}}},"UserChainMapping":{"type":"object","properties":{"userChainMappingID":{"format":"int32","type":"integer"},"userID":{"format":"int32","type":"integer"},"connectionID":{"format":"int32","type":"integer"},"chainIdentifier":{"type":"string"},"chainBalance":{"format":"double","type":"number"}}},"RoleAssignmentInput":{"type":"object","properties":{"userId":{"format":"int32","type":"integer"},"applicationRoleId":{"format":"int32","type":"integer"}}},"WorkflowList":{"type":"object","properties":{"nextLink":{"type":"string"},"workflows":{"type":"array","items":{"$ref":"#/definitions/Workflow"}}}},"Workflow":{"type":"object","properties":{"id":{"format":"int32","type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"displayName":{"type":"string"},"applicationId":{"format":"int32","type":"integer"},"constructorId":{"format":"int32","type":"integer"},"startStateId":{"format":"int32","type":"integer"},"initiators":{"type":"array","items":{"type":"string"}},"properties":{"type":"array","items":{"$ref":"#/definitions/WorkflowProperty"}},"constructor":{"$ref":"#/definitions/WorkflowFunction"},"functions":{"type":"array","items":{"$ref":"#/definitions/WorkflowFunction"}},"startState":{"$ref":"#/definitions/WorkflowState"},"states":{"type":"array","items":{"$ref":"#/definitions/WorkflowState"}}}},"WorkflowProperty":{"type":"object","properties":{"id":{"format":"int32","type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"displayName":{"type":"string"},"type":{"$ref":"#/definitions/WorkflowDataType"}}},"WorkflowFunction":{"type":"object","properties":{"id":{"format":"int32","type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"displayName":{"type":"string"},"parameters":{"type":"array","items":{"$ref":"#/definitions/WorkflowFunctionParameter"}},"workflowId":{"format":"int32","type":"integer"}}},"WorkflowState":{"type":"object","properties":{"id":{"format":"int32","type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"displayName":{"type":"string"},"percentComplete":{"format":"int32","type":"integer"},"value":{"format":"int32","type":"integer"},"style":{"type":"string"},"workflowStateTransitions":{"type":"array","items":{"$ref":"#/definitions/WorkflowStateTransition"}}}},"WorkflowDataType":{"type":"object","properties":{"id":{"format":"int32","type":"integer"},"name":{"type":"string"},"elementType":{"$ref":"#/definitions/WorkflowDataType"},"elementTypeId":{"format":"int32","type":"integer"}}},"WorkflowFunctionParameter":{"type":"object","properties":{"id":{"format":"int32","type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"displayName":{"type":"string"},"type":{"$ref":"#/definitions/WorkflowDataType"}}},"WorkflowStateTransition":{"type":"object","properties":{"id":{"format":"int32","type":"integer"},"workflowFunctionId":{"format":"int32","type":"integer"},"currStateId":{"format":"int32","type":"integer"},"allowedRoles":{"type":"array","items":{"type":"string"}},"allowedInstanceRoles":{"type":"array","items":{"type":"string"}},"description":{"type":"string"},"function":{"type":"string"},"currentState":{"type":"string"},"displayName":{"type":"string"}}},"ContractCodeList":{"type":"object","properties":{"nextLink":{"type":"string"},"contractCodes":{"type":"array","items":{"$ref":"#/definitions/ContractCode"}}}},"ContractCode":{"type":"object","properties":{"contractCodeID":{"format":"int32","type":"integer"},"ledgerID":{"format":"int32","type":"integer"},"createdByUserId":{"format":"int32","type":"integer"},"createdDtTm":{"format":"date-time","type":"string"}}},"FileStreamResult":{"type":"object","properties":{"fileStream":{"$ref":"#/definitions/Stream"},"contentType":{"type":"string","readOnly":true},"fileDownloadName":{"type":"string"},"lastModified":{"format":"date-time","type":"string"},"entityTag":{"$ref":"#/definitions/EntityTagHeaderValue"}}},"Stream":{"type":"object","properties":{"canRead":{"type":"boolean","readOnly":true},"canSeek":{"type":"boolean","readOnly":true},"canTimeout":{"type":"boolean","readOnly":true},"canWrite":{"type":"boolean","readOnly":true},"length":{"format":"int64","type":"integer","readOnly":true},"position":{"format":"int64","type":"integer"},"readTimeout":{"format":"int32","type":"integer"},"writeTimeout":{"format":"int32","type":"integer"}}},"EntityTagHeaderValue":{"type":"object","properties":{"tag":{"$ref":"#/definitions/StringSegment","readOnly":true},"isWeak":{"type":"boolean","readOnly":true}}},"StringSegment":{"type":"object","properties":{"buffer":{"type":"string","readOnly":true},"offset":{"format":"int32","type":"integer","readOnly":true},"length":{"format":"int32","type":"integer","readOnly":true},"value":{"type":"string","readOnly":true},"hasValue":{"type":"boolean","readOnly":true}}},"Capabilities":{"type":"object","properties":{"canUploadApplication":{"type":"boolean"},"canUploadContractCode":{"type":"boolean"},"canModifyRoleAssignments":{"type":"boolean"},"canProvisionUser":{"type":"boolean"}}},"ConnectionList":{"type":"object","properties":{"nextLink":{"type":"string"},"connection":{"type":"array","items":{"$ref":"#/definitions/Connection"}}}},"Connection":{"type":"object","properties":{"connectionID":{"format":"int32","type":"integer"},"ledgerID":{"format":"int32","type":"integer"},"endpointURL":{"type":"string"},"fundingAccount":{"type":"string"}}},"BlockList":{"type":"object","properties":{"nextLink":{"type":"string"},"blocks":{"type":"array","items":{"$ref":"#/definitions/Block"}}}},"Block":{"type":"object","properties":{"id":{"format":"int32","type":"integer"},"connectionId":{"format":"int32","type":"integer"},"timestamp":{"format":"date-time","type":"string"},"blockNumber":{"format":"int32","type":"integer"},"blockHash":{"type":"string"}}},"TransactionList":{"type":"object","properties":{"nextLink":{"type":"string"},"transactions":{"type":"array","items":{"$ref":"#/definitions/Transaction"}}}},"Transaction":{"type":"object","properties":{"id":{"format":"int32","type":"integer"},"connectionId":{"format":"int32","type":"integer"},"transactionHash":{"type":"string"},"blockID":{"format":"int32","type":"integer"},"from":{"type":"string"},"to":{"type":"string"},"value":{"format":"double","type":"number"},"isAppBuilderTx":{"type":"boolean"}}},"ContractList":{"type":"object","properties":{"nextLink":{"type":"string"},"contracts":{"type":"array","items":{"$ref":"#/definitions/Contract"}}}},"Contract":{"type":"object","properties":{"id":{"format":"int32","type":"integer"},"provisioningStatus":{"format":"int32","type":"integer"},"timestamp":{"format":"date-time","type":"string"},"connectionID":{"format":"int32","type":"integer"},"ledgerIdentifier":{"type":"string"},"deployedByUserId":{"format":"int32","type":"integer"},"workflowId":{"format":"int32","type":"integer"},"contractCodeId":{"format":"int32","type":"integer"},"contractProperties":{"type":"array","items":{"$ref":"#/definitions/ContractProperty"}},"transactions":{"type":"array","items":{"$ref":"#/definitions/Transaction"}},"contractActions":{"type":"array","items":{"$ref":"#/definitions/ContractAction"}}}},"ContractProperty":{"type":"object","properties":{"workflowPropertyId":{"format":"int32","type":"integer"},"value":{"type":"string"}}},"ContractAction":{"type":"object","properties":{"id":{"format":"int32","type":"integer"},"userId":{"format":"int32","type":"integer"},"provisioningStatus":{"format":"int32","type":"integer"},"timestamp":{"format":"date-time","type":"string"},"parameters":{"type":"array","items":{"$ref":"#/definitions/ContractActionParameter"}},"workflowFunctionId":{"format":"int32","type":"integer"},"transactionId":{"format":"int32","type":"integer"},"workflowStateId":{"format":"int32","type":"integer"}}},"ContractActionParameter":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}}},"WorkflowActionInput":{"type":"object","properties":{"workflowFunctionID":{"format":"int32","type":"integer"},"workflowActionParameters":{"type":"array","items":{"$ref":"#/definitions/ContractActionParameter"}}}},"WorkflowStateTransitionList":{"type":"object","properties":{"nextLink":{"type":"string"},"workflowStateTransitions":{"type":"array","items":{"$ref":"#/definitions/WorkflowStateTransition"}}}},"LedgerActionOutput":{"type":"object","properties":{"transactionID":{"type":"string"}}},"ContentResult":{"type":"object","properties":{"content":{"type":"string"},"contentType":{"type":"string"},"statusCode":{"format":"int32","type":"integer"}}},"LedgerList":{"type":"object","properties":{"nextLink":{"type":"string"},"ledgers":{"type":"array","items":{"$ref":"#/definitions/Ledger"}}}},"Ledger":{"type":"object","properties":{"id":{"format":"int32","type":"integer"},"name":{"type":"string"},"displayName":{"type":"string"}}},"UserList":{"type":"object","properties":{"nextLink":{"type":"string"},"users":{"type":"array","items":{"$ref":"#/definitions/User"}}}},"UserInput":{"type":"object","properties":{"externalID":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"emailAddress":{"type":"string"}}},"Me":{"type":"object","properties":{"currentUser":{"$ref":"#/definitions/User"},"capabilities":{"$ref":"#/definitions/Capabilities"}}}},"securityDefinitions":{}}